The update for today is geared towards data geeks, but its an interesting one and an important one for ensuring a good foundation for the game to be improved upon.
One of the new improvements is that I have been working on some rather common NPC actions / response systems, things that you would come to expect with any video game, so its not massively exciting.
I’ve added AI to respond to damage events, this allows shots in the back of AI to cause them to turn around and start attacking you. It’s a really basic feature so it’s not mind blowing, however I have ensured reactions to this system are handled for each NPC faction in Underhell. This allows me to use custom responses for friendly NPC’s when they receive friendly fire from the player. I added the teams system a while ago as the number of NPC’s grew more and more and the initial AI systems were not handling different factions and was not playing nicely together.
I have also added AI Responses that are now more easy to define and use from within various systems, which helps make it easy when deciding to add in new responses. It’s still very early for these systems and for Infected characters, there isn’t much they can do at the moment but it should be a good foundation to build upon.
I will work on adding other responses in future. These will be things such as Spotting Flashlights, seeing dead bodies and hearing a radio noises etc.
This system allows me to add other Response types, such as the reaction to friendly fire – however I may need to disable this for a while because at the moment I can kill any NPC and it affects the way certain scenes will play out, as if they are missing they can’t reach their next goal, fire off the next event and perhaps open the door for you to get out of the room you are stuck in. I will try to fix a lot of these (as well as sort out Friendly Fire) but in the event that you do become stuck, I’ve added a debug menu which will persist throughout the testing period.
Nothing fancy, but it gets the job done for now
The debug menu will allow items, weapons, gear, keys etc to be spawned that you may need to progress, should these items become bugged or glitch out and preventing you from picking them up. Most of the extreme situations should be handled, as I can prevent you from firing your weapons whilst in certain sequences but I expect that you would be able to find a way somehow to get around it for the time being (if you really wanted to)
I have also added the ability to scale each ‘hit point’ for each group of characters within the game, this allows me to scale the damage for headshots, body shots etc. The current system will be expanded to include all major body parts in future. For the time being, you can see in the example below that we could scale Infected damage by 50 when they are shot in the head.
I felt that this was important to add now rather than later. Ammo is a limited resource and players would want to try to aim for headshots instinctively – so I had to set this up otherwise people would become frustrated after playing.
I have also added a quick system to help populate the levels with items that change between playthrough. This really helps with the ‘gamey’ feel as it was rather dull knowing you would never find anything in the levels unless I put it there!
Using an Item_Random object, I can place these in the world and have the game decide what to spawn based on a number of different criteria. This replicates some of the behaviour in the Source Mod.
Source Engine Example
What this allows is for the difficulty of the game to affect the chance that items might spawn in, as well as random chance. It also allows the level designer to decide what assets are placed and where they are stored. We can also create these containers with loot already placed in them, as prefabs, to use to quickly populate levels (think lockers, shelves etc)
Health Locker with loot
Usage is similar to the source mod for placing these in the levels.
I have also added a ‘per item scaling’ option which allows for each type of item to scale differently. This will be something that will be expanded upon in future, but the basic idea is that each type of item (Food, Medical, Tools etc) can be increased in rarity individually – which allows you to create a Custom difficulty mode which would allow you to play with limited medical items, and little to no food items. Also, remember the damage scale I talked about earlier? Well I plan to include that as a customisable option within the Custom difficulty. So you can decide if you want headshots to do 1/2 or 1/4 damage to certain NPC types. Have fun!
*Please note* that Custom Difficulty is not yet ready and may not be playable for a while yet.
Having all of this in place now is a lot easier than trying to add it all later, So I enjoy spending a bit of time to make sure that it is being built in a way that does not require me to rip everything out a few months later to change the way some of this stuff behaves.
I have some other stuff fixed, added or being improved that I’m not quite ready for showing yet but my mind is focused, I am constantly making improvements, bug fixes and adding things to improve the project.
Regarding when a playable build will be ready, please allow me time to handle this when I feel comfortable and ready. When I have something ready, there are still many things that I need to get sorted out before I can give you guys a date. I understand that people may be eager to see what we’ve been up to but please understand that we all work really hard on this and constantly having to tell people that it is not ready is always a bummer!
Thank you for reading!