Eva's Development Blog

Starting battles

I worked on the cutscene system some more. Now, when an NPC sees the player, they walk up to the player, say their dialog, and start the battle.

NPC movement

I worked on moving NPCs! I also expanded on the cutscene system enough to make the player character turn to face the NPC when they walk up to the player.

Dialog

I worked on dialog, so now I can add text and assign who’s speaking from outside the code, and the player can page through text.

World NPCs that want to fight will walk up (well, teleport, it’s not done yet) to the player now when the player is seen. I added a rudimentary cutscene system to move characters around in the world.

Text box

Since the last time I made a post, I added NPCs to the world and a text box. Now, the player can talk to an NPC by pressing a button while facing them, making a text box appear.

All of the text box elements and the font size scale with the window, so players should have the same experience playing in 720p or 4K.

Next time, I’ll probably work on programming dialog for the NPCs, as the text content is hard-coded right now, and starting battles with enemy NPCs!

Enemy movement

After the player’s turn, each enemy unit group takes their turn moving.

Currently they pick a direction that isn’t blocked by a wall and move one space. They’ll eventually be smarter than that, but I have enemies moving around now!

Pixel imperfect

I added enemy units to the combat arena so I can start working on more of the combat. Right now they’re very work-in-progress. I updated the in-combat player movement to prevent the player from moving to tiles with enemies on them.

Also, turns out pixel art doesn’t always look great when it’s oddly scaled. So now when the camera zooms out during combat, the character sprites will have bilinear filtering on (that means they’ll get blurred a bit).

The actual texture is scaled 200% to preserve some of the pixel art feel. It’s never really going to be pixel perfect but I hope this will look good enough to players!