🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Weekly updates #24 - I'm capable, you know...

Published December 10, 2018
Advertisement

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!

enemyInside.thumb.png.0774275f482859894a17feba8cae9250.png

New Relics and capacities

Next, there's now a lot of newly implemented capacities (and thus relics).

Backup Floppy

backupFloppy.png.bd051c3ba8bfea48f181caba34cfb4ec.png

Quote

Don't get caught with your pants down!

Please make regular backups using this sassy floppy.

 

You could even save yourself in it!

 

Capacities

This relic comes with the Second Chance capacity

Second Chance

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.

Stats Bonuses

  • DEF -35%
  • HP -25%

Beach Ball

ball.png.6fc66fa06ad880351f7b0c18a9a3eb9a.png

Quote

Beach balls can easily change their direction in the air.

Capacities

This relics only has one capacity: Double Jump.

Double Jump

This capacity is self-explanatory: You can now jump again in mid-air.

Stats Bonuses

  • AGL -12%

Concentrated ATK Juice

atkj.png.b2b743824af1e63ca2ad5b1a59b09047.png

Quote

This refreshment is so dope. I feel I can lift mountains with it...

Capacities

This relics comes with two capacities: Slow Attack and Charge Up

Slow Attack

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.

Charge Up

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!

Stats Bonuses

  • ATK +25%
  • AGL -10%

Echo Drop

echod.png.b44a62739f2f3b1d2383d51e4fbe6de5.png

Quote

 

Our engineers have been able to capture the first dew drop of last Monday morning.

This stuff is potent, so careful.

 

Capacities

This relic only got one capacity: Shockwave.

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

Stats Bonuses

  • DEF -29%

Electronic Mask

msk.png.f6868c3ed4cc387d5bbd179f678e5229.png

Quote

 

Experience a whole new level of calmness with the Electronic Mask.

Everything in your life will become clearer and less confusing.

 

Capacities

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. 

image.png.b6081bbbf6a744c27dbb0d58ca4952d6.png

Quite handy for planning attacks!

Clairvoyance

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 

16768398_image(19).thumb.png.797fd0006686ca6ea522c5f0322125db.png

As you can see it's really AESTHETIC.

The colours of that path are picked from our palette, meaning that it changes colours depending on the current level.

Stats Bonuses

  • DEF + 5%
  • HP -20%

Fan Of Violence

fanofv.png.4931e398cd64dc54aa8ee313e538cde2.png

Quote

 

This manual fan has the word "fire" written on it.

Holding it, you feel really violent...

 

Capacities

This relic lends two capacities: Corrosive Spead and Enflamer

Corrosive Spead

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.

Enflamer

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.

Stats Bonuses

  • ATK +5%
  • HP -5%

Flying Shoe

image.png.dbc83537b8e4c3d4f27a203649fdc28d.png

Quote

 

This is a single skating shoe with some kind of wings on each side.

Holding it makes you feel floaty...

 

Capacities

This relic only got one capacity: Hover.

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.

Stats Bonuses

  • HP -5%

New Activatable Item

Next, I want to talk about a new activated Item: French Fried

French Fried

Alignment: Future Funk

frechfried.png.a03ffdc582ef89768a6356a6b89031b3.png

Quote

Holding it you can hear seagulls screaming in French.

Description

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.

Capacities

Aside for its activatable ability, the Hover capacity is also given to the player as long as they hold the item.

Stats Bonuses

  • DEF -11%

Headshots!

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.

Mouse Refactored

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.

Mouse Sensitivity

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.

image.thumb.png.0d7f3d59db4402e567bf04b4c01fbf43.png

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:

pauseOptionTab.thumb.png.d110bb0c8cc67426e68feae14dfbff4b.png

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.

Closed Rooms

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.

image.thumb.png.73c890a3cf039b4bf5720646743398f9.png

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.

Minor Upgrades

  • 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...

Next Week

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...

1 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement