This week has seen some major changes to the map. We’ve changed the colour scheme, added new areas (which means redrawing A LOT of collision, light and entities). I’ve made some pretty extensive mock-ups on paper, and tried changing walkpaths around in order for the Aesthetic goals the game set out to create, to be fulfilled.
Sooo many Areas have been torn down, rebuilt, just to be torn down again and just scrapped. It’s got to be perfect! Although, this is an extremely tedious way of doing it.
There’s a lot of thought involved in the Design of the Level, down to the location of candy wrappers (Focusing the player’s eye somewhere specific). For example, the door of the conferance room is located higher up than the entrance of the Main hall, there’s also a guard patrolling just outside, pushing the player to choose it instead of just walking straight into the main hall.
One of my original thoughts was not to add areas outside the walkable/reachable areas, in order for the player not to feel cheated. Originaly, the long hall that connects the spawning point to the first encounter was supposed to have text stating the controls and objectives, but I might make it a bit more diegetic. I’ll add a camera and a guard on each side of the hall, as if they were interacting with the world outside, and it serves as a way to inform the player of how a Camera and a guard works.
Me and Anthon (His blog) decided it was due time to implement breathing into the game.
Breathing creates Sound ripples (read my earlier posts), that emenates from the player, just like walking and shooting. The player has an internal economy called Fatigue. The more the player runs or shoots, the larger the players fatigue is; the heavier the breathing is.
What we did is that we add values for each of the fatigue increasing actions in our configuration file, created in YML (once again, read Anthon’s blog, I highly recommend it), that looks like this:
fatigue_change_sneak = -1
fatigue_change_run = +1
This means that every second the player sneaks, the fatigue value drops by one, and it increases by one for each second the player runs.
The fatigue value is maxed out at a 100 and it’s non-existant at 0 (pretty obvious).
We wanted to make sure that there’s some kind of feed back for the player (so that the player understands that the character is genuinly getting exhausted). So we decided to scale the sound with the fatigue. Meaning that the volume of the “breathing sound” goes from 0 – 100 as the Fatigue goes from 0 – 100.
In the same way as we decided that Fatigue -> Volume scales , we decided to do the same with the Radius of the “Sound Ripple”.
So it goes Fatigue (Ex. 49) -> Volume (49) -> (Sound_Ripple_Radius = 49).
I’ll leave you with the code that does what I’ve explained above.
That’s all for now, take care!