The last core feature left to implement are persistent maps and the Keeper vs. Keeper mode. This will have to wait until around march. For the approaching Steam EA release I want to focus on bugfixing, visual polish and some minor, yet fun, features. A critical voice might say that I'm selling myself instead of working on the important stuff, and partly that's true, I want the game to have a good reception on Steam. But also I originally promised the game would be ready by the end of 2014, and I have already broken that promise. So at the least I want to deliver a decent and stable build for the people who don't necessarily enjoy buggy dev releases so much.
Let's go back to the minor, yet fun, features that I worked on the last few days. This will barely influence actual gameplay, but I decided that beasts need to be more intelligent and interesting. I introduced bats, who relieve the ravens and roam the land at night, also making sure to explore underground locations. Wolves on the other hand arrive and stay in packs (making use of the recently added new team logic). They are also nocturnal creatures now.
I also introduced two new rooms: workshop and jeweler. It might be a bit confusing - there are four of these rooms now: workshop, forge, laboratory and jeweler. The whole group used to be called workshops before, but now they're under "manufactories". If anyone can think of a better naming scheme, let me know. Anyway, the workshop produces non-metal items, like first-aid kits, traps, leather armor, etc. The forge takes care of metal armor and weapons, and the jeweler creates magical rings and amulets. Laboratory stayed as it was. It's not a major gameplay change, but gives you some more control about what's being crafted. Time will show if it made sense. I definitely don't plan to introduce a whole lot of new room types, don't worry :).
PS. I'm thinking about recording a video of a short programming session, showing how I work with the pretty big and complex C++ codebase, hopefully with some tips and good advice. Is anyone interested?
EDIT: I'll do it. It's being discussed here.
I announce: this was the last buggy release of KeeperRL. I've taken testing too lightly in the past, but I'm going to raise my standards. Future releases will be tested much more thoroughly. I'm also working on fixing various glitches.
After the last release I took some 2 weeks off, during which I ran in a marathon in Amsterdam, went on a few bike trips and did other things that don't require my hands on the keyboard. After coming back, I picked up a new Mac Mini and compiled KeeperRL on the OS X. This means that all future versions will support the Mac.
There have been some gameplay changes, too. I implemented a simple, clunky UI for managing multiple teams. So far you can add and remove monsters, change the leader or take comand. I plan implementing a few orders, like stand ground, go to location, etc.
I changed the way levelling works. A monster's level is now implicitly derived from its attributes and skills. So looking at this number should give you a basic idea of how dangerous a monster is, regardless of its race. The training room now directly increases various attributes. I plan to add specific skill training. The first room to do that will be the archery range.
Other things that I plan for the next release include redefining village behavior. I've received numerous requests that village populations respawn and perform more interesting attacks. Hopefully this will cause the games to last longer and be more entertaining. To help it some more, I plan a big increase in underground content: guarded treasure vaults, lava lakes, undiggable areas, temples, etc.
Expect the next release at the end of November.
PS. KeeperRL alpha 1 was released one year and one week ago. It looked like this:
The good news today is that KeeperRL has been greenlit, yay! Big thanks to everyone who voted and most of all to those who helped spread the word on various websites. It wouldn't happen without you.
I'll use this occasion to talk a little bit about the future of the game. I would like to put it up in the Early Access program on Steam. I don't know when exactly this will happen, because there seem to be a lot of formality involved. Don't take my word for it, but my current guess is the beginning of 2015. Which brings us to something more important.
If you followed the Indiegogo campaign earlier this year, you might have noticed that the original release date for KeeperRL 1.0 was set to December 2014. It's now obvious to me that it won't happen. In one way my estimate was overly optimistic, as development slowed down since then, and I also let some unplanned features slip in. Typical gamedev story, I guess. But there is more.
I was also pessimistic while setting the release date, as I didn't expect huge success from the project. My plan was to finish it as a minimal complete game, release and be done with it. I'm a beginner game developer, so I anticipated that my first project would be very far from perfect. It made more sense to finish it quickly, then use that experience to work on something new and better.
Recently though, I changed my mind. The game has improved a ton since April, even though it still has lots of problems. I'm starting to like it so much that I just want to continue working on it. I think it will keep getting better with age, like good wine. I feel that finishing now would waste a lot of its potential.
Getting to the point, I'm going to work on KeeperRL for at least one more year, and most likely for longer than that. This will let me do everything that I have in my mind without any unnecessary time pressure.
As for how the project will shape out in the near future. My plan is to have something much more stable and bug free than now by the start of 2015. Hopefully this will coincide with a release on Steam EA. This version will then be the base of continued development. If you're one of the 109 people who claimed the Gnome perk in the Indiegogo campaign, then at this point you'll receive access to the game.
Anyway, here's to the future of KeeperRL :-) <opens a beer>.