In the last few weeks I've been working more or less in parallel on the new major features (selective immigration, and new game modes). It's definitely not hard stuff, compared to the furniture update in Alpha20, which required redesigning big parts of the game's engine. I've had some struggles though, particularly when trying to design UI for the new features. Below is an early take on the immigration UI.
I also changed the way the game tracks items (I started using reference counting, for all the programmers out there). This allowed a more elegant design of equipment management that fixed a few bugs and quirks. For example I'm finally able to enforce the limits on the number of specific consumables owned by a minion. I could even add a UI for that, although for now it's hard coded: 40 arrows, 6 healing items, and 6 combat consumables per minion.
While I'm at equipment management, I'm planning to add a clever command that combines production scheduling and assigning equipment to minions. In the menu where you order a minion to equip existing items, there will be buttons to schedule various new equipment in the workshops, and automatically assign them to the minion when they are produced. Hopefully this will reduce some of the micro-management that players have complained about.
Since Alpha20 was released 6 weeks ago, a lot of bug reports have arrived (about 15 thousands games have been played out since its release though, so there's no surprise). In particular, there's seems to be a major issue with loading textures on some older video cards that prevents many people from launching the game. Therefore I'm planning a bug fixing update soon that fixes as much as possible.
There is still a lot to do in every corner, and with the holidays coming soon, I optimistically estimate the release of Alpha21 around the end of January.
In the last few weeks I've been working more or less in parallel on the new major features (selective immigration, and new game modes). It's definitely not hard stuff, compared to the furniture update in Alpha20, which required redesigning big parts of the game's engine. I've had some struggles though, particularly when trying to design UI for the new features. Below is an early take on the immigration UI.
I also changed the way the game tracks items (I started using reference counting, for all the programmers out there). This allowed a more elegant design of equipment management that fixed a few bugs and quirks. For example I'm finally able to enforce the limits on the number of specific consumables owned by a minion. I could even add a UI for that, although for now it's hard coded: 40 arrows, 6 healing items, and 6 combat consumables per minion.
While I'm at equipment management, I'm planning to add a clever command that combines production scheduling and assigning equipment to minions. In the menu where you order a minion to equip existing items, there will be buttons to schedule various new equipment in the workshops, and automatically assign them to the minion when they are produced. Hopefully this will reduce some of the micro-management that players have complained about.
Since Alpha20 was released 6 weeks ago, a lot of bug reports have arrived (about 15 thousands games have been played out since its release though, so there's no surprise). In particular, there's seems to be a major issue with loading textures on some older video cards that prevents many people from launching the game. Therefore I'm planning a bug fixing update soon that fixes as much as possible.
There is still a lot to do in every corner, and with the holidays coming soon, I optimistically estimate the release of Alpha21 around the end of January.
I've already made several attempts at the immigration system, which defines how you acquire new creatures for your dungeon. In the early versions of KeeperRL, minions were simply purchased for mana. This gave a lot of control to the player, but felt boring and made the game repetitive, as you would normally buy the strongest available creatures. About 2.5 years ago I implemented the current semi-random system, where various dungeon features, mostly rooms, attract different creatures. The randomness is good, but the attraction mechanics are too hidden, and players don't understand why they are getting specific minions ([cough] orc shamans [cough]). This in turn causes players to banish or kill their own unwanted minions, which is totally unnecessary and sad.
What's needed is a system that combines randomness with control, and whose inner cogs and levers are not hidden from the player. I claim to have found such a solution :D (jokes aside, this is something that has been suggested by several people). The basic idea is to use the existing attraction rules, but instead of simply spawning the immigrant, give the player the choice of accepting or rejecting them. Thus you have complete control on who ends up in your dungeon, although to some extent your fate is still decided by the RNG gods.
There is more though. Since a dedicated UI with accept/reject buttons is required for an incoming minion, it's pretty straightforward to also display all the information on what they are attracted by. This teaches the player how the system works. All the stats of the creature will also be available, to help with the decision.
While we're at it, the game will also present creatures whose requirements are not met yet. There will be a timer on every incoming immigrant, so you'll have to make fairly quick decisions on whether to rush to fulfill the requirements, by building that bigger training room, for example. Since obtaining strong minions is one of the main goals of the game, I think this will give a lot of guidance to the players on how to proceed with developing their dungeons. It will also serve as a teaser of what you can get. :P
There are some nuances to work through, for example immigrants with unmet requirements should be shown much less often than those that you can recruit right away. (Perhaps the chance of presenting an immigrant should decrease with each unment requirement). And of course I need to create the new immigrant UI, although I'll probably ship a minimal working design in the incoming update, and improve it sometime later.
So summarize the new system: control, randomness, transparency, and guidance. I probably need to write that on the wall somewhere. Back to coding!
I've already made several attempts at the immigration system, which defines how you acquire new creatures for your dungeon. In the early versions of KeeperRL, minions were simply purchased for mana. This gave a lot of control to the player, but felt boring and made the game repetitive, as you would normally buy the strongest available creatures. About 2.5 years ago I implemented the current semi-random system, where various dungeon features, mostly rooms, attract different creatures. The randomness is good, but the attraction mechanics are too hidden, and players don't understand why they are getting specific minions ([cough] orc shamans [cough]). This in turn causes players to banish or kill their own unwanted minions, which is totally unnecessary and sad.
What's needed is a system that combines randomness with control, and whose inner cogs and levers are not hidden from the player. I claim to have found such a solution :D (jokes aside, this is something that has been suggested by several people). The basic idea is to use the existing attraction rules, but instead of simply spawning the immigrant, give the player the choice of accepting or rejecting them. Thus you have complete control on who ends up in your dungeon, although to some extent your fate is still decided by the RNG gods.
There is more though. Since a dedicated UI with accept/reject buttons is required for an incoming minion, it's pretty straightforward to also display all the information on what they are attracted by. This teaches the player how the system works. All the stats of the creature will also be available, to help with the decision.
While we're at it, the game will also present creatures whose requirements are not met yet. There will be a timer on every incoming immigrant, so you'll have to make fairly quick decisions on whether to rush to fulfill the requirements, by building that bigger training room, for example. Since obtaining strong minions is one of the main goals of the game, I think this will give a lot of guidance to the players on how to proceed with developing their dungeons. It will also serve as a teaser of what you can get. :P
There are some nuances to work through, for example immigrants with unmet requirements should be shown much less often than those that you can recruit right away. (Perhaps the chance of presenting an immigrant should decrease with each unment requirement). And of course I need to create the new immigrant UI, although I'll probably ship a minimal working design in the incoming update, and improve it sometime later.
So summarize the new system: control, randomness, transparency, and guidance. I probably need to write that on the wall somewhere. Back to coding!
The dust has settled after releasing Alpha20, and it seems that most players are greatly enjoying the new update. To those that had complaints about some of the new features: I heard you, and even if in the meantime I work on other things, I still remember about the old problems. It may take me some time to come up with solid fixes, though.
With this in mind, it’s time to announce the new upcoming features in Alpha21. This time I’m planning more high level changes, mostly involving new game modes. First of all, I’m going to make the campaign mode more competitive by removing most of the settings and limiting retired dungeons to just a few pre-made ones. This will make the runs more comparable between each other, and it will allow meaningful highscores (which will most likely be based only on the number of turns taken to win). The act of winning the game will also regain its meaning.
Rest assured that the current campaign mode will stay in the game, it will just be called ‘free play’ from now on. There will actually be more settings (more about them in future posts), and it will be something intended for more advanced players, who want to play the game by their own rules. The only caveat is that there won’t be highscores for this mode. I feel that this is necessary because of the possible abuse of the retired dungeon exchange, and the custom settings.
But that’s not all! I’m also introducing a new endless mode! The idea is quite simple: instead of conquering enemy bases, you are raided by creatures of increasing difficulty. The longer you survive, the higher your score.
This mode will take place on a campaign-like world map, but only with lesser villains and allies. Visiting them will be optional, and your main activity will be guarding your dungeon. There will be some tweaks and additions to prevent abuse, and to add an ongoing supply of resources. I see it more as an experiment for now, but I think it will be a fun mode. It’s something that quite a few people have requested. 🙂
There is one more major feature planned for the next update, and if time allows, quite a few smaller additions. I’ll be writing about them in the following weeks, and I’m looking forward to hearing your comments. Stay tuned!
The dust has settled after releasing Alpha20, and it seems that most players are greatly enjoying the new update. To those that had complaints about some of the new features: I heard you, and even if in the meantime I work on other things, I still remember about the old problems. It may take me some time to come up with solid fixes, though.
With this in mind, it’s time to announce the new upcoming features in Alpha21. This time I’m planning more high level changes, mostly involving new game modes. First of all, I’m going to make the campaign mode more competitive by removing most of the settings and limiting retired dungeons to just a few pre-made ones. This will make the runs more comparable between each other, and it will allow meaningful highscores (which will most likely be based only on the number of turns taken to win). The act of winning the game will also regain its meaning.
Rest assured that the current campaign mode will stay in the game, it will just be called ‘free play’ from now on. There will actually be more settings (more about them in future posts), and it will be something intended for more advanced players, who want to play the game by their own rules. The only caveat is that there won’t be highscores for this mode. I feel that this is necessary because of the possible abuse of the retired dungeon exchange, and the custom settings.
But that’s not all! I’m also introducing a new endless mode! The idea is quite simple: instead of conquering enemy bases, you are raided by creatures of increasing difficulty. The longer you survive, the higher your score.
This mode will take place on a campaign-like world map, but only with lesser villains and allies. Visiting them will be optional, and your main activity will be guarding your dungeon. There will be some tweaks and additions to prevent abuse, and to add an ongoing supply of resources. I see it more as an experiment for now, but I think it will be a fun mode. It’s something that quite a few people have requested. 🙂
There is one more major feature planned for the next update, and if time allows, quite a few smaller additions. I’ll be writing about them in the following weeks, and I’m looking forward to hearing your comments. Stay tuned!
I've made some important changes shortly after releasing Alpha20, and instead of waiting till the next major update, I decided to release them under the number 20.1. The update includes some nice gameplay improvements, bugfixes, and major optimizations.
The changes have already been rolling out incrementally on Steam. Here's the changelog going back just to the preview released two days ago. For the full changelog going back to Alpha20, click here.
Gameplay
Enemies are highlighted purple to prevent confusion when fighting other Keeper forces. This can be turned off via a setting in real-time and control mode.
Fixes
Fixed a crash involving "Bring item" and "Apply item" tasks.
Fixed trap arming issues after the arming task is cancelled.
I've made some important changes shortly after releasing Alpha20, and instead of waiting till the next major update, I decided to release them under the number 20.1. The update includes some nice gameplay improvements, bugfixes, and major optimizations.
The changes have already been rolling out incrementally on Steam. Here's the changelog going back just to the preview released two days ago. For the full changelog going back to Alpha20, click here.
Gameplay
Enemies are highlighted purple to prevent confusion when fighting other Keeper forces. This can be turned off via a setting in real-time and control mode.
Fixes
Fixed a crash involving "Bring item" and "Apply item" tasks.
Fixed trap arming issues after the arming task is cancelled.