Feb
24
Nine Day Game, Day 5 – Hump Day
By Alex W
Day 5 marks the midpoint of our development cycle, coincidentally falling on a Wednesday. I think we’ve come a long way in just the first half of the project – the trick will be continuing that pace of development over the second half. Day 5′s goals were a bit more modest compared to previous days. On the OpenGL side, I’m getting to a point where most of the development I’m doing is the kind of work I’ve never done before with this tech, so progress feels like it’s slowing down.
- Write an AI routine to make the dungeon enemies seek out and attack the player
- Create a text console in OpenGL for game feedback
- Develop the in-game character sheet and inventory windows (time dependant)
Ryan had a head start on developing the AI system from Day 4, meaning it was mostly tuning and bug-fixes that needed attention. The enemies use an A* search algorithm to find a path around the dungeon. Enemies that can “see” the player will move towards and attack him. Enemies that can’t see the player instead move around the map and explore (internally, the enemies can only “see” as much of the terrain as a human player can). The AIs also occasionally attack each other, but that’s a bug, not a feature!
On the OpenGL side, I managed to get a text console showing up. This was a bit more involved than I had anticipated; I needed to learn how to load and interpret a font from a bitmap, then I needed to figure out how to display a static, flat UI element over top of the 3D parts. Lesson 17 of the NeHe Tutorials proved to be invaluable for that. Jumping off of the work for the text console, I did some initial work towards creating the character sheet and inventory windows, but there’s nothing demoable yet.
Ryan put together a demo video of our progress at the end of Day 5. Check out how the AIs chase the player around the map. The text console that is now visible in the lower left corner of the screen was added today. This is also the first movie we’ve posted that shows the enhanced lighting system developed on Day 4.
While we’re on the downhill slope towards the end, it doesn’t feel like that to me. There’s a lot of work ahead of us in order to meet our deadline, and the 12 to 14 hour days are exhausting. I feel like Day 6 will be a good day to take a break and remind ourselves why we’re doing this, but I’m not sure how to do that… We’re a block away from the EA Games office in Kitchener – anyone know if they give tours?









Great read so far
I’m curious about how you used the A* algorithm which finds a path between two points, to implement meandering in the AIs? I mean, when your meandering around and have yet to find the player, you don’t have a destination, right?
Does the AIs-attacking-each-other thing have to be a bug? Can they not randomly have quarrels between themselves, get into fights to the death and then pick up the loot from the enemy they killed? Super-bots. Hehe. Think about it
Re the NeHe tutorials, was it just that one tutorial that was helpful or have you gone through all of the previous ones as well?
demoable = demonstrable
Hehe I love how the AIs chase the player around the map and then die in a pool of blood of varying sizes lol. This demon was just a skeleton, but *this* demon had oodles of blood in him, he was carrying buckets of the stuff! lol Loving it
And the lighting to totally makes me reminiscent of the original Diablo game hehe.
Have you made any changes/updates to the Game Design Doc? Can we see?? =)
The AIs are currently designed to explore the dungeon by picking a random unexplored co-ordinate in the XY plane, then calculating a path to it using A*. Of course if they happen to find the player along the way, they’ll change course and attack.
I definitely agree about the entertainment value behind seeing the AIs attack each other. Sometimes while testing, I’ll stumble across a room that was obviously the scene of a massive AI battle. We would have to balance the AI battles, if we allow them, so they don’t steal too much experience from the player character.
On the NeHe tutorials, I’ve read all of the first 10 at some point or another. That’s enough to get the basics down – after that, I just cherry pick the tutorials that show a technique that I’m interested in learning, like the texture-mapped fonts tutorial, the particle engine, or the stencil buffer. But I really would like to take some time and go through them all!
Ha ha, the credit for the pools of blood has to go to Ryan. I love that too!
We have been updating the game design doc a bit, but it’s still pretty skeletal. I can post an updated version in the Day 8 blog post, for sure.