Status Update: May 2024

Posted On: 2024-05-06

By Mark

Today's post is just a quick progress update on my main project. I'm about a month and a half away from my next milestone, and things are coming together - even if progress has been a bit staggered. Like most of the project so far, I'm working with a mostly final (if unpolished) script, and mostly placeholder (but not low-effort) art assets. The code I'm writing serves as the glue that holds these two together by creating the rules and systems that control the world the characters inhabit.

Swapping Character Control

The part of the project I'm currently working on involves the player controlling a different character than what I'd coded up until now. In other projects, that would be problematic (most games treat the player character as a special case that violates many systems' rules), but I anticipated the need to swap between characters (it's in the script). In light of that, I've written the systems in my project so that the player can control any character without issue. Thanks to that design, the script only needs to run a single command:

>>> PlayerControl(characterName)

and the player is granted direct control over that character (right now control is also revoked from their previous character - you can't control two characters at once in the current implementation.)

Controlling Characters Expands Scope

Although the systems allow the player to control any character, creating artwork to support that has been a bit of a burden. Each frame of animation for each character is entirely drawn from scratch, so a lot of characters only have artwork that supports the range of actions that specific character needs to perform on-screen. Giving the player control over a character means giving that character the potential to do a lot more actions - which, in turn, means a lot more artwork that needs to be created. Additionally, when I find that a particular action "feels" bad to control, and I need to create new artwork to fix that (ie. adding a new pose for slowing down before stopping), making that change has the consequence that I need to create that new pose for every playable character.

Tip of the Iceberg

Beyond changing player characters, there are several other tasks for this milestone - ranging from creating the environment for a new area to (re-)implementing the carrying mechanic that shows up at the very end of the Magic Training Prototype. Everything that's in-scope for this milestone is strictly necessary to reach a specific cut-off point in the script, so the tasks are pretty diverse, and the results often unpolished. That said, I'm rather proud of the (placeholder) environment art I ended up with for one particular area - I think it captures the mood rather effectively. Thus, to wrap things up, I'll include that art here (if you're reading this on a dimmed screen, you may need to turn up the brightness to properly see it):

Screenshot of a ominous-looking environment.