I've been slowly chipping away at the game.
Actually that's kind of a genuine assessment about how it feels. There's this big block of code, it's officially in the canonical build language and engine, but there's a lot of extra stuff that needs to be pared down and refined.
I started figuring out how to implement a sequence of events in the game, very important. The game already had a rudimentary quest and flag system, but I needed to consolidate the definition of an entity's state, which required removing some of the original information in the game data that was almost more for the html. Like, now an entity like the garlic slime isn't listed as three separate entities that randomly switch between each other and have their own positions, but as a single entity which can occupy different states and has position information that overrides the defaults. This is really important if the same character is supposed to be doing different things at different points in a quest.
I don't wanna spoil anything (not that it matters cuz it's not like anyone is reading this) but my first sequence required clicking on something to make an entity appear, have that entity give the player a quest, and then after the player completes the quest, let the player move on. Right now it functions but I'm working on implementing things like dialogue boxes and simple transition animations because the basic functions don't sell the story of the moment.
Because of the way that the game's code is structured, I found out that I can make changes to the game's data while the server is live and it'll be reflected in the player's game. The basic idea is that the client is hydrated by data sent by the server; the client has all the infrastructure to know HOW to show stuff where, but it doesn't know what to put where or what quests there really are or anything like that. I don't know if it's usually this compartmentalized, but this is usually how online games work, where the server's data is treated as the ground truth and the client is always treated as requesting actions to the server rather than reporting anything. You don't want someone to hack their local copy of a game and then have the server reflect their 40,000 copies of rare items. With my game, I totally separated out user data from game data. Like, "user has 15 bronze bars in their inventory" is separated from "a bronze bar has X flavor text".
This feels rife for trolling and it makes me so excited. I'm already having ideas of just like...being able to mess with people and place an NPC in the wrong place for 5 seconds or something silly. I could even introduce a hidden quest that leads anyone who clicks on it onto the wrong map. Or temporarily set the description for iron pickaxes to be "fart for me you idiot". The only limitation is that any actual assets need to be in the client, so I can't just draw something totally new and add it in.
I've also been styling some things, especially the main font. I really personally like Courier New, but I can't legally use that font in a game, so I'm going with Courier Prime for now. I like how it looks! You can also see here the Balloon (named Frederic) next to the portal, which is the player's on-field active charcater.
I feel like I see Homestuck everywhere. I mean I'm pretty sure the comic uses Courier New. I like it because it feels aesthetically to me like the no-nonsense script of Sublime (Consolas?) and I just have so many years of staring at that font under my belt. But now I'm sitting around sweating bullets wondering if the reality is just that Homestuck affected my aesthetic sense so much when I was young that it seeded the font need within me.
Ew.