Time for my post-mortem!
This is my 5th Ludum Dare entry, and my second 3D entry. Overall I’m very happy with the result. There’s still lots of work to be done to make it a complete and enjoyable game, but as a concept it’s nice and it shows what it’s all about. Play it here
What went right
- Choosing XNA again. It makes so many things much easier to do. With the experience I gained from last LD, it was a breeze to set up the initial 3D rendering and the billboard graphics for entities.
- Scoping. My minimum goal was to make a game where you have a camera that can take pictures, which can then be viewed in an album and be saved to disk. This is all possible.
- The birds. While they were a bit tricky to create, it’s fun (for a few minutes at least ) to watch them do things. And without them there would be no fun at all taking pictures.
- Polish. I’ve added menus again, with keybinding, mouse sensitivity and inversion, sound options, etc. There’s also music and some sounds, and imo it looks and feels finished (as far as LD games go)
What went wrong
- The birds. Yep, they went right, but the process I used to create them took a lot of time (relatively speaking for a LD game), so I had no time to other types of animals. Having to create three separate views for them, and having to split up the body parts while keeping them aligned and ‘blendable’ so they could be animated was tricky. Speaking of animating them, that was horrible. They look decent though, but if I want to achieve something similar next time, I’ll have to rethink how I want to do it.
- Gameplay. Right now the only thing my game has is emergent gameplay. But it’s not really a game. There are no goals to achieve, only two numbers that can be increased. You’re dropped on an island and that’s it. I have no regrets skimping on gameplay, but it’s one thing in hindsight that I should’ve worked on a bit more. Basic goals with rewards to achieve would help a lot to improve the fun factor.
- That stupid glitch where the bird is moving forward, but is drawn backwards very briefly. Or vice versa. I completely forgot about it, but it’s so annoying.
Things to keep in mind for next time
- The terrain. There are 4 ‘layers’ of the island. Only three are shown, which are the beach, grass, and snow. Due to limitations on the default XNA shader, it’s impossible to blend the textures together. So the transition between beach and grass is a bit ugly. Next time, if I want to achieve something similar, I’ll have to make my own shader modifications to allow blending. However, I’m very happy with what I achieved with the default shader and restricted settings for older video cards, as I now have an easy way to split any heightmap of any size into 4 different layers based on height, while still being supported by low-end machines.
- Collision and efficiency. As it is right now, it’s probably impossible to make birds interact with each other without a huge performance hit. So they don’t. But for next time I’ll really have to work on a proper way to make a large number of entities aware of each other.
- Animations. I’ll really have to compromise on something here and make a choice. I like the 2D billboards, but dynamically animating them is a pain. So I’ll either have to make that process easier, switch to full animated sprites, or move on to 3D models and animations. I don’t really want to go the 3D route, so it’s a choice between the other two. If I can make animating them an easier process, then that’s perfect. But it’s something I’ll have to investigate. Oh, and I should add 8 different view directions if possible, instead of 4.