Day: December 13, 2005

40-Hour RPG Update 9: 22 Hours

I am on a roll today.

Smashy smashy!

Again, much done in a short time. You’ll notice I changed the layout of the screen. The text area was just too small; all of this game’s personality is going to come through the text, so I need to be able to get as much of it on the screen as possible. I got unstupid about my button arrangement – I don’t know why I thought I needed three lines for that; two not only gives me more space but I think the buttons look much better in their logical groups. I also finally took the white flash off the rest of the icons, also making them look better.

But then I had a problem – I need enough space for my inventory. I need a 128×128 block to represent the sixteen items the player can have in his backpack. (Yeah, it’s like World of Warcraft…it’s also like Ultima VI!) Moving the GUI buttons up infringed on that space, so I found a way to compress the character data at the top of the screen using icons I found on the web. One side effect of this is that my tile sheet is now bigger than 256×256. I’m willing to give up that limitation; I need those icons, and I’m going to need more icons in the future.

What else? Oh, yeah, combat! You can now take swipes at NPCs, and NPCs can take swipes at you (if they are hostile to you). An NPC’s attitude toward you is separate from their movement AI, so I can have NPCs that just wander around, hitting you if they happen to get near you, or NPCs that seek you out to put the beat down on you. I can even have NPCs that just stand there and can only hit you if you come into range (the Carnivorous Mushroom is one of these).

Next I need inventory, picking up items, buying and selling. Which means I need to figure out exactly what the merchants in town are going to sell.

40-Hour RPG Update 8: 20 Hours

I am now halfway through the project. Combat is still not in, which is a concern, but I’m not anticipating any real problem with it. The subsystem I’m anticipating having all the problems with is the inventory.

Anyway, looking and talking both work, and NPCs now either stand still (if they are merchants or the king), wander around (if they are townspeople) or wander around until you get close, then hunt you down mercilessly (if they are monsters). See?

That baby dragon just will not get off my ass.

Let’s do a quick assessment. Here’s what I’ve gotten done in twenty hours:

  • Gathered and created the necessary tile graphics; created the background
  • Game framework (mostly created before I started, but put to the test for the first time on this project)
  • Basic map structure with passability data
  • Basic player structure
  • Basic NPC structure
  • Basic item structure
  • In-game lists for NPCs and items which “float” over the map
  • A simple but functional map editor
  • Simple bitmap font system
  • Designed the basic character advancement and combat systems
  • Created the NPCs and monsters for the game
  • Created a simple GUI system and the specific GUI for my game
  • Player movement, looking and talking
  • NPC movement updates based on data-driven AI flags

My remaining tasks, in order of increasing difficulty:

  • Saving and loading (very important)
  • Map links
  • Creating the remaining town maps
  • Creating the overworld map
  • Creating the dungeon maps
  • Creating the end boss’s castle map
  • Combat
  • Spells
  • Inventory
  • Equipping of items
  • Buying and Selling

Can I do it all? Keep tuning in to find out! If I do, the game is going to end up being a very simplistic game based on a fairly complete RPG engine. I don’t think I could have asked for more in forty hours.