Another update that doesn’t involve prettier screenshots. Sorry.
Of the Big List of Stuff To Do, I’ve managed to bang out the following:
- Map links
- Equipping of weapons and armor
- Using items
- Selling items
- Spells (except Smite)
- Levelling up
So, lots of difficult stuff sorted now. Here’s what’s left:
- Dying (death is currently non-fatal)
- Implement a fullscreen/windowed button (very low priority)
- Fix the Smite spell
- Fix getting objects (currently you can get anything anywhere on the screen)
- Put a “hit” marker on the player or NPCs when they get hit
- Use a “missile” marker to show bow or Smite attacks
- Make the two remaining town maps
- Make the eight dungeon maps
- Make the final boss castle map
And that should be it. I’m budgeting four hours to finish the infrastructure stuff – hopefully it will take less. And then the final five or so hours will be to create the actual maps of the game.
It’s getting really tight, but I already know that I’m going to ship something playable. It may not be fun or complete, but it’ll be playable, and that’s all that is required for me to consider this project a success.
As evidenced by this comic strip by one of our artists, Mike McKinley. Yes, that’s Ryan Clark, the lead programmer on Hit & Myth…and that’s only a slight exaggeration of his behavior.
Why didn’t anybody tell me my site didn’t work in IE? It should be fixed now, and should look slightly better on both browsers as well.
We are pushing toward the finish line, now:
You’ll noticed I reformatted the right pane yet again; I’m pretty sure this is the final version. The inventory is now implemented – you can get any item in the world and it disappears from the world and pops into your inventory. Two exceptions: gold just goes right to your gold pile and chests actually open and reveal their contents (currently one item per chest). You use objects in your inventory by clicking on them. Clicking on spell scrolls will teach you that spell, and the icon for it will light up in the GUI pane. Clicking on armor or weapons equips them, and they show up in your two equipment slots at the right. Clicking on potions uses them.
I had hoped to be done with the engine by the thirty-hour mark so I could spend the last ten hours on the content, but it doesn’t look like that is going to happen. So now it looks like the project will end up being thirty hours of engine coding and ten hours of content creation, when I wanted something closer to a 25/15. Ah, well.
Needless to say, I’m very pleased with the way the project is turning out. I didn’t think I’d be able to get this much infrastructure implemented.
I am on a roll today.
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.
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?
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
- 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.
It’s always strange to wake up and come outside and see one’s car frozen over in Texas, because just about a month ago the heat was unbearable.
What’s really strange is to leave work and come outside and see one’s car frozen over. Yesterday morning was cold but not freezing. Around noon the temperature dropped and we started getting freezing rain. I had to scrape my windshield before I drove home, which was a new experience.
While the freezing rain has abated, the temperature hasn’t risen, so the roads are frozen over this morning. I’ve no doubt that any Minnesotans reading will laugh, but we Texans get skittish during cold weather…something about slick roads and lots of big, heavy trucks just makes us not want to drive.
So no school and no work! Hopefully I will get to work on the RPG today.
A bit of work on the UI, and viola:
Do the buttons work? Um…partially. I need to finalize how I’m going to pass input back to the button objects after they’ve been clicked on (since you click on a button, then click on what the object you want to interact with). Once I do that, talking, getting, looking and fighting should all work. I also need to seriously think about how I’m going to do the inventory, because right now it doesn’t look like I have enough space.