Just before the thanksgiving weekend I was talking to my friend/fellow coder/work associate Massimo and he tells me that he wants to write this ‘simple’ RPG and having it running before Sunday. Sounds impossible but I told him I want to play whatever he has done. The next day I’m getting a bit frustrated because some of the directions I’ve gone with the procedural shooter have been dead ends and I strike up a conversation over IM with him. I ask him if it’s ok for me to burn a few cycles creating a loot system for his game and so I set myself loose on that. It started innocently enough: loot database, stats, player and entity data in a console app. I build a test harness and pretty soon I’ve gotten an automated battle running in a console window with auto respawning of both player and new monsters.
The next day I start integrating this thing in. Massimo had a clear idea of what he wanted to build so I took his mock-up of the hud and built a simple layout engine with my bmfont code and some extra stuff to render it. Eventually battle was working and hey we had a fun little game. So I went off and wrote an effects/particle system and based on some input from people playing the game eventually wrote a inventory system and a store. Of course Massimo was coding like the crazy coder-monkey that he is. He’s written this cool dungeon generator complete with minimap and smooth scrolling.
So here’s some screenshots of the functional, and quite fun RPG Underground Heroes (UGH). If you have any questions feel free to post comments. As soon as we have our take home XNA builds we’ll be trying this out on our retail consoles.
I haven’t given up on the procedural shooter, I’m still brainstorming.
Console app test harness for the loot/battle engine:

In game with some barely visible particle effects and the finished HUD:

The inventory and store interface. No need for backpacks when you have a llama. Llama gifts are available in the store (This pick also shows a certain cheat that gives you all of the available equipment in the game):
