Eva's Development Blog

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.


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!

Player phases

Nothing special today, but this is still important to work on. Now, after the player commits a move, the move phase ends and goes to the next phase, and the player can skip any of their phases with the end phase command.

To explain how the phases work, during the move phase, the player gets to move all their units at once, like literally all at once, all of the player units follow Lizzi around! Then it’s the unit command phases, where the player can command the units one by one during each of their phases to attack or take cover. And after all of that, the enemy units get to go!

I still have to work on the unit command phases and add enemy units, so those are probably next!