Devlog #4- Ghosts and Jumpscares


In other turn-based JRPGs there are two main ways of doing overworld battles- random battles where you don’t see the enemy until the battle starts (Pokemon, OG Final Fantasy), or enemies you can see that chase after you when you get close (Earthbound, Paper Mario). In this devlog, I'm going to explain my choice to go with a mix of these two options, with some inspiration from prop hunt game modes.

----------------

The enemies you fight in Nagayami Nights are ghosts, and these ghosts can hide within objects in the overworld by possessing them. If you get too close to them they will jump out and grab you, triggering a turn-based battle.


As a game developer, this is great because I can add a lot of variety to the overworld without having to create loads of animated sprites for every enemy. I can simply rework sprites of existing overworld objects, and these don’t necessarily correlate to the types of enemies that you’ll face in the turn-based battle.

-----------------

When a ghost reacts and jumps out (referred to in-game as a Jumpscare), they’ll hover for a small window of time before grabbing the player. React with the correct timing and you’ll deflect the ghost's grasp and get a boosted SPD stat for the coming battle, and if you miss it then the enemy team has an advantage.

My game isn’t going for horror, but I think this can add some tension to traversing the overworld, especially if the player is on low health and trying their best to avoid any battles. Get flustered by the jumpscare and you’re more likely to miss the deflection timing.


So far, all the hidden ghosts are quite obvious being purple versions of existing sprites, but as you progress further through the game I plan to make the differences smaller and harder to notice. I think there is a lot of room for messing with player expectations too, e.g. a ghost hiding in the slightly defected object next to the ‘obvious’ purple one.

----------

How does this affect the overall game-loop? 

The game works in a ‘run by run’ format similar to a rogue-like game, but the overworld and enemy placement is all handcrafted and persistent with each 'run'. When you exit the dream (aka end a run) your party is fully healed and all the ghosts you defeated will return in the exact same spots.

This is significant because there are no healing items or healing moves (only maxHP healing that reverts after battle), so every battle matters and affects your overall progress in the run; The challenge to traversal is learning where ghosts are hiding and finding ways through the overworld that don’t trigger many battles (unlocking shortcuts, finding blind spots), in addition to the usual way of progressing through growing stronger by levelling up.

I want there to be more to game progress than just grinding and becoming a high enough level to beat a boss, and I hope to do this by focusing on player strategy outside of battles as well as in them. 

---------------

Let me know what you think, and if there are any obvious flaws in my design that I'm not seeing (quite likely).
I'm doing my best to write these devlogs weekly from now on, so check back in next week if you're interested. Thanks for reading!

Comments

Log in with itch.io to leave a comment.

(+1)

very cool concept! I feel like it adds a level of fun to the standard formula. It’d be cool if the offscreen ghosts/defeated ghosts could jump from object to object, with the spirit sometimes passing by the player’s screen as they transfer between objects. Then you could go ghost hunting! Also might be worth considering the implications if multiple ghosts end up on the same screen… for example it could spawn unique battle instances with more powerful ghosts.

When I think of great takes on the generic battle system Pokémon has to be up there. Not only do the game’s mechanics have you actively searching for random encounters in grass (whereas typically players groan and try to avoid such things) but they also have the trainers who’s facing direction is the trigger, allowing the player to potentially navigate around encounters they don’t particularly want. That kind of game design is genius because it makes busywork feel rewarding and under the player’s control.

Interesting! I’d never considered ghosts jumping across objects, but it could definitely work! Players have to revisit areas often enough that something like an event where ghosts you previously encountered start jumping to other objects could be cool.

I completely agree, and considering Pokemon’s approach is a big part of how I arrived at my solution. Just like stepping into the grass in Pokemon, I want the player to feel like every battle they start is due to their actions, whether that’s because they didn’t see the hidden ghost and got ambushed or triggered the battle on purpose to progress.