Programming Update
It has been a while since we had a chance to sit down and collect our thoughts and talk to you guys about the changes we have made from a programming perspective over the last six months. So here are the key feature updates we have implemented:
-Difficulty Settings; Added difficulty settings to the game which has 3 different levels at the moment, but the code already supports up to five in case we wanted to add higher/lower difficulty levels. Unlike some games, our player’s/AI’s health and weapon damages are altered for different levels. This subsystem affects about 30 different properties, including how much ammo you get from the pickups, how sensitive the hearing ability of the AI is and more.
-Localization; We have added a full-scale localization to the game, which means all the texts within the game will be localized for each language we have a translation for. This includes the menu, heads-up-display, all the UI windows within the game, conversations between different characters, and even messages that terminals within the game show to the player. It even supports changing special materials within the maps, like an exit sign.
-Options page + Control customization; Obviously an options page is a must, we already have video and audio settings, as well as some game related settings that you can customize to adapt elements of the game to your preference. Whilst most indie games don’t offer customization of controls, we felt that due to the genre of the game this option would be necessary to allow gamers to play in a way which best suits them. This system is fully implemented now, and also allows you to customize the gamepad buttons in case you prefer controller over mouse and keyboard.
-Fluent interaction with the UI; Since we have a higher number of interactive UIs, we wanted the player to feel comfortable when working with these and not struggle to find their way around them. For example, no matter what window is open on the screen you can always close it or get to the previous window by pressing escape button on the keyboard or back button on the controller.
-Finished the save/load system: We added more data to the save file, and more importantly, we switched to a checkpoint system instead of a manual save/load system. You can still manually get back to the latest checkpoint if you feel the need to but you don’t need to worry about remembering to save the game often and deal with a couple of extra UI windows.
-Several improvements for the AI; We experimented a lot with the AI and improved some features of it to make it more realistic and intelligent. For example, AI can turn and change directions much faster now when looking for the player. We also added some new features such as, some AI now carry a light with them. This means you can’t just cover in a dark spot three feet away and get away with it, which was possible before (as spotted by some of the community in the story trailer) this makes the game more realistic and intense.
-HUD; We have over-hauled the heads-up display of the game completely and made it more modern to match the rest of our new UI. It’s not just the appearance of the HUD which has been improved, we have changed both the positioning of the elements on the screen and also how player interacts with it in some special situations.
-Throwable objects; There are now all kinds of throwable objects in the level which you can use to distract AIs with. They have more features, which are currently mostly turned off, like damaging or pushing the enemy on impact. Whether these features make it to the final game or not, is yet to be decided.
-AI and pickups more customizable: Level designers can now modify many of the AI’s properties on the fly, they also will be notified whenever a player picks up a new pickup. What this means for the player is that they should expect different behaviour between different AIs as the level designer now has access to most of their properties and can change them in real-time. Even things like AI’s awareness state or AI’s patrol route can be modified easily without touching a line of code.
-Miscellaneous; Most of our bug/issues are now fixed. Of course there are still a few which need to be looked at but the game is completely stable and is playable. Thanks for reading guys. Until next time.
Iman Shabani – Lead Programmer for Solarix