Hey, nice seeing you again!
I can safely say that this update is packing quite a punch, so let's get right to it!
Patching up holes
First, I want to talk about navigation meshes. Previously, only the procedurally generated floors were included in the navmesh baking process. This meant that all special rooms (aside for landfills and gyms) were completely inaccessible for any NPCs.
This was due to two issues. The first one was simply that the navmesh baker only looked for the generated floor rather than any walkable surface. In Unity, it was just a matter of changing things a bit to use a bound box rather than checking in the object's hierarchy. The other issue was the way the floor was generated...
Previously, most special rooms using static assets had floors that only covers the room itself, without counting the actual connective gap between it and the rest of the rooms. Because the floors were generated using marching squares, that connection's floor turns into an awkwardly shaped triangle, and thus created two small triangular holes.
The problem was fixed by simply adding another square of the floor after that connective square.
With these two solutions, NPCs are now able to enter and navigate special rooms, so there's no escape now!
New Relics and capacities
Next, there's now a lot of newly implemented capacities (and thus relics).
Don't get caught with your pants down!
Please make regular backups using this sassy floppy.
You could even save yourself in it!
This relic comes with the Second Chance capacity
When the player is about to die, then they instantaneously regain 25% of their health.
This capacity can only be used once. You can, however, have that capacity many times and thus have multiple chances.
- DEF -35%
- HP -25%
Beach balls can easily change their direction in the air.
This relics only has one capacity: Double Jump.
This capacity is self-explanatory: You can now jump again in mid-air.
- AGL -12%
Concentrated ATK Juice
This refreshment is so dope. I feel I can lift mountains with it...
This relics comes with two capacities: Slow Attack and Charge Up
This capacity simply slows down the attack speed. It also influences the charging times of chargeable weapons (like bows).
This capacity can also be applied multiple times, meaning that attacks get slower and slower the more Slow Attack capacities you have.
This capacity lends to the wearer the capacity to charge attacks with swingable weapons like swords.
A charged attack will have a somewhat substantial damage bonus depending on how long the player held the attack button.
Quite useful to deal with stronger enemies!
- ATK +25%
- AGL -10%
Our engineers have been able to capture the first dew drop of last Monday morning.
This stuff is potent, so careful.
This relic only got one capacity: Shockwave.
With this capacity, the entity can generate a shockwave when they attack if they're lucky.
This makes any enemies in a small radius take damage no matter if they're hidden or not
- DEF -29%
Experience a whole new level of calmness with the Electronic Mask.
Everything in your life will become clearer and less confusing.
This relic comes with two capacities: See Enemy Health and Clairvoyance.
See Enemy Health
This capacity is quite self-explanatory. It gives the player the ability to see any targeted enemy's current health.
Quite handy for planning attacks!
This capacity helps the player find their way by rendering a nice glowing path to the exit.
The path actually gets refreshed every 5 seconds, and there's even a nice fade-out.
Here's a picture of that path
As you can see it's really ＡＥＳＴＨＥＴＩＣ.
The colours of that path are picked from our palette, meaning that it changes colours depending on the current level.
- DEF + 5%
- HP -20%
Fan Of Violence
This manual fan has the word "fire" written on it.
Holding it, you feel really violent...
This relic lends two capacities: Corrosive Spead and Enflamer
This capacity makes any killed enemies drop a puddle of poisonous blood.
If another enemy walks on it they instantaneously become poisoned (if they don't have any other status effect that is).
The puddle dries up after a while.
As of now, there's no actual damaged dealt directly to enemies when they stand on a puddle. This might an idea for later, though.
This capacity is quite easy to understand: you now deal fire damages and have a chance to give the burning status to any attacked entities.
- ATK +5%
- HP -5%
This is a single skating shoe with some kind of wings on each side.
Holding it makes you feel floaty...
This relic only got one capacity: Hover.
This capacity makes the entity able to glide for a short period of time after a jump.
Simply press and hold the jump button to glide. After a bit, the glide will stop. You can also release the jump button during a glide to stop it.
One would think that the Double Jump capacity would counteract with this one but one would be wrong: just hold the button down after the double jump.
This paired with a ranged weapon will make a deadly combo.
- HP -5%
New Activatable Item
Next, I want to talk about a new activated Item: French Fried
Alignment: Future Funk
Holding it you can hear seagulls screaming in French.
This is a rather funny looking moustached french fry wearing a beret and smoking a cigarette (Don't smoke, kids).
This item can summon a seagull familiar that attacks any nearby enemies for a limited amount of time.
Once the time runs out the seagull disappears.
The player can have up to 3 seagulls at a time. there's also a cooldown before the item can be used again.
Aside for its activatable ability, the Hover capacity is also given to the player as long as they hold the item.
- DEF -11%
I've previously thrown the idea around of having different damage bonuses if the player targets a specific body part with a projectile.
I'm proud to say that the feature is now fully implemented. Now there's a 5x damage multiplier to projectile if they hit the head (for example).
Although these bonuses exist, there's still a lot of balancing to do and whatnot.
But I got to say that it's quite fun headshooting enemies with arrows (mainly because enemies aren't balanced yet).
This works (of course) for any projectiles.
There's also have been a big mouse control refactor. Previously, the mouse script I used wasn't as flexible as I originally thought. Rather than coding everything from the ground up, I've decided to cherry-pick code from Unity's standard Assets FirstPersonController script.
I Initially wanted to fully use the controller, but there were some input delays with the Update and FixedUpdate functions. I decided to pick its MouseLook script and integrate it into my custom PlayerController.
The results were night and day. Not only I could easily change the sensitivity, but there's even a "Smooth Mouse" function which interpolates mouse movements.
Speaking of mouses, I've also added the ability to change the mouse sensitivity.
This was made after many feedbacks of my playtesters, who were either unable to use the mouse properly or complained about an excessively sensitive mouse.
The Mouse Sensitivity setting takes the form of two components: a slider and an input field.
In essence, the input field is used to save the actual sensitivity, while the slider is just a more tactile way to set the sensitivity.
Right now, changing the slider will update the input field, which in turns updates the mouse sensitivity. If the player wants an absurd sensitivity (like 100 or something), they can't use the slider for that (which only goes up to 20 right now) and instead have to manually input this in the input field.
There's also another checkbox component controlling that previously mentioned "Smooth Mouse" mode.
Pause Screen Option Tab
Now there's an options tab in the pause menu:
This is a quick way to change common settings such as volume slides and mouse sensitivity among other things.
These work just like their Main Menu counterparts.
Once the player closes the pause menu, options are automatically saved.
Quite handy if you want to adjust your mouse sensitivity mid-game, or lowering volumes while streaming.
Previously, all rooms were open form the getgo. The player could technically speedrun their way through the game without breaking a sweat.
This kinda made the game quite boring, as there weren't any valid reason to destroy every enemy in each room. This was in a dire need of change.
So I've now implemented a linear progression system, in which the player needs to clear the room of any enemy before passing on.
Of course, the player can break walls or enter special rooms anytime (mainly because these rooms are optional and won't provide any shortcuts at all), but in order to go to the next room, they need to clean the room first.
The way this works is by having closed/opened doors (much like locked doors but without any type of locks).
This makes the game feel more like a game, although there's still place for improvement.
Fixed the MSAA artifact bugs
- It was quite simple: just use FXAA
- Technically I can also do TAA (Temporal Anti Aliasing), but this could be put in the options.
- Of course, there's a lot of other options, but right now FXAA does the job just fine
- There might be better options, or maybe an MSAA fix but this will wait.
Added a looping testing sound effect when fiddling around with the Sound Effect volume slider
- This is for both the Main Menu's options screen and the Pause Menu Options tab.
- Fixed a lot of bugs, especially with destruction/creation
Charging an attack now slow down the player
- Once the player unleashes its attack it resets
- Previously both the Quick and Slow Attack capacities only affected swing speeds. Now they also affect the charging rate.
Added a touch of Ambient Occlusion
- I will probably put this in the options later on...
Even with a cold doing its thing I'm still trying to be proactive and work on the game.
In fact, yesterday I started working on a draft of a boss behaviour tree. Although still really rough and full of bugs I think I can have a working boss ready for next week.
Afterwards, It'll be modelling time again, but this time it'll be level specific stuff.
And after that, there's other relics, items, food, capacities and abilities that are left in the design document that needs to be implemented in the game, which means modelling, coding, designing and whatnot.
But right now let's focus on bosses...