Since my last update, a LOT of progress has been made on Dungeon’s Fortune. It is still far from finished, but at least now the game is in some sort of playable state. My focus right now has been on making the main game cycle completable – moving from your base camp to a fortune telling session to a dungeon and then back to the base camp. I’m very close to this goal – I’ve completed up to the going to the dungeon step, and just need to implement exiting the dungeon back to the camp. Once that is done, everything else can flow from there.
Other major areas worked on include:
- XML Dialog Scripting
- XML Game Database
- Prologue scene with progressing character dialog
- Rough layout of first camp
- Rough layout of first dungeon
- Beginnings of combat – unarmed attacks only, no AI
Unfortunately, no screenshots yet, as the game graphics still look very ugly and placeholderish. If only there were an artist out there that would be willing to help with that…
On a more in-depth development note, I’ve been really excited about some of the technologies I’ve been creating during this project. I can see a lot of them getting some heavy re-use in future projects.
For starters, there is my Geometry Manager library. Work on this component actually started long ago during some of my early prototyping after Thrust or Bust was first released. One of my lessons learned from that game was that I had to go back to taking a more active role in managing the game’s drawing. Thrust or Bust is kind of a pig resource-wise, with some areas pushing 1,000 draw calls and half a million vertexes, which is why it will never be mobile without a full overhaul. I took some of my old XNA-based vertex buffer management code, and made it usable in Unity, which gives me a solid basis for both 2D AND 3D efficient sprite and texture atlas management. This has become a solid foundation for several other components.
I’ve never been a huge fan of Unity’s offerings for rendering a GUI. So, another component I’ve been working on is a more declarative UI system. It fits quite nicely with the Geometry Manager component, making drawing UI extremely efficient, since most window-type UI components can be drawn with as few as 3 draw calls (background image, foreground images, text). I’m not quite declaring my UI in XML yet, but that is a planned next step.
There are a lot of other technologies that I can go into, such as the voxel engine, the dialog scripting engine, and the game database component, for example, but that will have to wait until another post. It’s time to work on getting the main character from the dungeon back to the camp, completing the gameplay cycle.