So, with the rudimentary basics of the battle system implemented, I decided it was time to go back and reimplement the overhead map portion of the game in the new engine. It actually didn’t take too long to get everything back up and running since a lot of the code could just be copy-pasted verbatim, although I still had to sit down occasionally and work out exactly how some things should work now. This finally brought me back to where I was before chunking the old “pseudo emulator” engine.
I decided my next task was to actually link maps together so that you can get around. While I’m sure you could make an RPG that takes place in a single room, it’d take some real skill to give it enough gameplay to make it interesting for hours on end. Since the earliest dungeon crawlers of the 1970s played on university mainframes, role playing video games have done their best to drop you into a world—sometimes small, and sometimes vast—that you are meant to explore.
It seems like a really simple little thing, but the mere act of moving from one screen to another is a huge moment for me. All of a sudden, individual maps have context and purpose. I remember getting the same feeling when working on the original Another Star. When I made it so that you could move between sections suddenly it felt like I was playing a real game. In any case, this means I can finally start building up actual content and start piecing the game together.
You may also notice that the protagonist has a running animation now. Speeding along at two pixels per frame while watching a normal walk cycle always looked strange to me, so I decided to throw in a simple run whenever the player characters speed up. I think it gives it more of a Chrono Trigger feel than I really wanted, but it just feels like it controls so much better, even though literally nothing else changed other than the animation. It also gives the character a little more personality when they can zip along like that, especially if I give each party member their own running style. I’m currently undecided if I should implement a classic “run button” when using the digital d-pad.
I think the next big hurdle to tackle is scripting. Right now, moving between rooms (maps) is a simple system of “warps” and “labels”. In the room editor, you can drag out a rectangular label in one room and a rectangular warp area in another, then tell it the name of the room and label to take the player and the game will handle it all on its own. For most uses, this is perfectly fine, but there also needs to be a way to handle more complex transitions. Not to mention a way to actual add the NPCs and objects for the player to interact with. Scripting can be big and complex, but having done this once before, I don’t think it will take me very long to get the basics up and running.