Figured I would go into a bit more details of my experience, during the 7 days, now that I have a bit more time to think straight.
Going into the project, I feared the short timeline, but, having taken time off work, and devoting myself to writing the game 100%, I actually found the 7 days to (sort of) be plenty of time – sort of.
I’ve never actually finished a game, before. I would normally slave away in my spare time for a couple of months, get something pretty cool together, and then come up with some other idea that I’ve got to work on, right now. I’ve got several shelved projects, all of which would make a pretty cool game, if I could just decide on a set of features, write them, and call it done. Of course, without a looming deadline, it’s really easy to either get new ideas for features, and keep adding to the game, or, as mentioned, get another idea, and just switch gears to doing something totally different.
The 7 days makes for a really good line in the sand. I spent about 3 weeks, leading up to the challenge, deciding what the game would be – choosing the core mechanics that would make the game stand out; breaking it down into milestones, day by day; pondering my class structure/code design – and when it came time to actually execute on the plan, I felt calm, relaxed, and fully prepared (this of course, wasn’t the case, really… but I felt pretty good going in.
Pretty quickly, I had the mine generation, and basic enemy / item spawning in place. Things looked something like this:
The first 4 days went especially well. I was ahead of my milestones by an hour here, three hours there. I felt really good about the progress. Beyond day 4, there was a bit of trouble. I found a bug in my RoguePy framework, and had to spend a few hours ironing that out. I ended up three hours behind for the end of day 5 milestone. Still I soldiered on.
End of day five, I had basic enemy AI in place, all the enemies being spawned, a sweet Dragon’s Den at the bottom of the mine, and destructible terrain.
The crafting mechanics came together around the same time.
My original plan only really extended to the day 5 mark, as I knew there would be features I had failed to think about (like, you know, a Victory condition) that I’d need to take care of near the end of the project, and I planned on day 7 being specifically devoted to balance/packaging things up nicely, as a single executable file on as many platforms as I could.
Well, the best laid plans oft go awry.
On day 6 I ended up adding three features I hadn’t considered, which, once conceived, I couldn’t leave out. Audio, Fading “internal dialog” messages that the player triggers by descending into the mine, and the aforementioned victory condition. All this, along with the planned play-testing, and balancing (which, admittedly, got neglected a bit.. I still have no idea if the game is winnable, though I suspect it is, if you’re really careful :/).
Day 7, I completely spent fighting with a couple last minute bugs that I somehow hadn’t encountered, and then, with about an hour left, set to the task of getting stand-alone executables together for Linux and Windows.
Without a Windows machine to test on, that was a real pain, and I was unable to get it done in time, on either platform.
As it’s not writing code, I will probably continue in my attempts, and will update the releases periodically when I’ve got something that I think is worth adding.
No new features/balancing will be done from this point forward, though, if I receive feedback about any playability issues (maybe things like making fullscreen optional, without editing the code) I may consider adding these features.
Probably my favourite screen shot that I took is this one, showing the Dragon burning some of the wooden structures with his Dragon Fire. This was while testing, so I had unleashed the Dragon on the overworld, so I wouldn’t have to delve all the way to the bottom of the mine to encounter him.
I’ve uploaded a new gameplay video that shows some of the crafting mechanics (though still fails to show the ranged combat in action :/ Gravity is a harsh mistress.)
Releases can be found on github (along with installation instructions in the wiki) at