DevLog #23 – Fireflies, AI tweaks and ever more juice!

Hello everyone!

It has been a month since the release of the new trailer for Skycliffs, so I would like to share some progress!

First of all, I’m glad to announce that I am now dedicating some time to post insights on the subreddit of the Godot engine once a week (usually on Fridays). If you don’t want to miss it, please make sure to follow Radiant Sloth there! Also, thanks to all the people offering feedback! This is a huge help for a solo dev and I’m looking forward to reading more of your suggestions to improve the game.

Secondly, I’ve been reworking the Steam page. Tweaking the tags, polishing the pitch and improving the art capsules is a tricky iterative process and I’m quite happy with the current version. To better understand the do’s and don’ts, I recommend reading this blog post. Also, please wishlist Skycliffs on Steam if you are interested in the game!

Finally, I spend quite some time last month polishing my project deck and pitching to various publishers. No good fit so far, but at least I got kind and encouraging replies so I am even more motivated to bring Skycliffs to life!

Let’s talk about the actual game now!

Mysterious wandering fireflies

Shooters are usually fond of having corpses all over the place so that you remember how much you fought when coming back to old rooms. Skycliffs was missing this kind of flavor so I decided to tackle this issue. But not with corpses, I feel this wouldn’t fit the mood of the game. Instead, I introduced some little fireflies that spawn after an enemy death and wander around. You can’t interact with them, they’re just a visual recall that you bravely defeated a monster here. In this way, already cleared islands won’t feel empty anymore because of the many fireflies there.

You will also encounter those fireflies in the hub. They indicate places where NPCs yet to meet will appear later.

AI tweaks

Next, I worked on tweaking the enemy movement AI. If you want to know more about my implementation of pathfinding, here is a devlog I wrote about it. I still use the same technique but I added a new layer on top of it based on springs, as explained by the creator of Patch Quest in this great video. My pathfinding system already possesses information about the obstacles, but it is are grid-based so sometimes not completely accurate depending of the shape of the obstacle. Using springs helps smoothing that out.

However, this comes with a change related to the enemy autojump. Previously, I looked at the target point given by the pathfinding and triggered a jump if it was higher than the current monster altitude. But I cannot do that anymore because of the springs. I now use ray casting to detect if enemies are moving close to a cliff. Another ray cast determines how tall it is to adapt the jump strength. I also added another ray cast to allow jumping only if there is space above. This will for instance prevent from jumping below a tree.

Overall, the AI movement is still not perfect, enemies do get stuck in narrow places once in a while. Having multi-heights terrains worsen this already tricky challenge. But my system is getting better with each iteration!

Along with other minor tweaks and fixes to the AI, I made a significant change to the attack system. Some enemies first have to power during a few seconds before unleashing their strong move. Falling into the void now breaks the powering and thus cancels the attack! Hopefully this feels more fair and gives more motivation to head towards knockback-based builds.

Initial gifts when using a shortcut

I introduced at last version small quests to unlock shortcuts. Similarly to Spelunky or Enther the Gungeon, you can then start a run directly at a further place. But chances are you will feel very underpowered. That’s why the shortcut PNJ now offers you some gifts to compensate facing harder enemies from the get-go.

Other changes and ever more juice!

  • Added an accessibility option to choose enemy and player bullets, trails and shields colors
Hopefully everyone can find a pair of colors they easily differentiate
  • Relooked the UI menus background
  • Reworked the in-game cloudy backgrounds (look change + more variety)
  • Started to make most equipment items change visuals in some way:
    • Bullets change appearance depending on their properties
    • HUD indicates guaranteed critical hits in the ammo bar
Flak bullets + blast bullets
  • Added enemy sprites to journal entries
  • On enemies deaths, loot drops now have a cool animation with particles heading towards the player
  • Tweaked and added more SFX
  • Moved the smash attack to another action key instead of pressing the jump key twice
  • Smoothed the camera movement a little bit (dashing feels more juicy)
  • Revamped enemies HUD to better fit the UI, and particles (spawning, powering, dying) to adjust with the enemy color scheme set in the accessibility panel
  • Fixed many bugs (but somehow there are always more waiting to be discovered)

What next?

I still have plenty of polishing to do! Also, I am considering adding 2 last features. They were not initially planned but I feel they make a lot of sense and would greatly improve the game variety and replayability. I’ll talk more about that once I have some concrete stuff to show.

For now, thanks for reading until the end. I am planning to post more regularly on this blog, so stay tuned for more devlogs, and don’t forget to wishlist Skycliffs on Steam, it helps me a lot!

See you next time!