Tales from the Dump #5 - Let's Go Shopping!!!
Hello again everyone!
I was intending to write this at the end of October, and now it's somehow the second week of November! Oops! Certainly nothing of importance has been happening that may have distracted me, nope. Not at all.
Anyway, a few fun things to talk about that I've cooked up over the past month and change. Please note that the last one is a story spoiler so stop reading before then if you'd like to remain spoiler free!!!
First half of October was dedicated to the dialogue system! There was a few key things I wanted to bake in from the beginning;
- Dialogue is pulled from a simple, external text file that I can update in notepad or Excel. For Monster Pub I hardcoded the dialogue within GameMaker, which is a really wild thing to even think about. What can I say, I was a babe in the woods. I know better now!!!! For Garbageland dialogue is broken out in chunks in the text file and I can summon the whole chunk into the game simply by feeding it a reference number.
- Emoting is baked into the dialogue script, and is shown as little word bubbles, a la Ragnarok Online. This is mostly for my own sake so I just have to draw a range of emotes rather than unique sprites for every character, for every emotion...
Plus characters are pretty small relative to the whole screen, so if I wanted them to be visible I would probably have to do unique dialogue sprites (like popular video game Hades, or how I did it in Monster Pub, I guess) which also seems like a nightmare. So I'm being kind to myself and just externalizing the emotions from the characters.
- Fun text effects. GameMaker in general is pretty lousy at handling dynamic text, and can basically just print and distort strings, at best. But I want more! I want the letters to do wiggles and change colors and all that good stuff. So I needed to make sure whatever I settled on was robust enough that I could have as many text effects as I wanted.
With that in mind, here's the final result;
As you can see, the emotion shows up above the appropriate character, as long as there is a character with that name in the stage. Worm, as the player stand-in, has their actions described by the narrator, so no name is shown there. The text effects are generated by wrapping the appropriate text in some symbols I don't anticipate using. (i.e. @, `, *, etc.)
I actually did most of this work between Halloween and the end of last week in a bit of a frenzy. A key thing here is that I totally overhauled how inventory navigation works. When I first set it up, there was some parts tied to the physical location of the cursor, which, in hindsight, is (once again) a totally wild thing to do. Now it just does everything on the back end and the UI shows the results of the data structure manipulation happening behind the scenes. (AKA - normal way of doing things.)
Most of the work after that was just structuring the sequence of events that need to happen.
- Fade in scene
- Player and party approach shopkeeper
- Greeting dialogue
- Worm accesses their bag and the inventory and shop UI appear
- Inventory and shop UI disappear
- Closing dialogue
- Party leaves
- Fade out scene
As you can see, it's just a lot of small actions that need to tie together correctly, which is inherently tedious. But! I got it working. Here's the final result. (NOTE: PARTY CHARACTER SPOILERS AHEAD, STOP SCROLLING HERE IF YOU WANT TO AVOID THOSE)
3. SPOILERS: New character!
As you might have noticed in the above video, we have a new friend! Eerf is one of the "freaks", which is a group of advanced mutants that live in isolation deep within the garbage wastes. Eerf is initially a recurring boss and hostile toward the party, but eventually joins them near the end. It's kind of a Bowser-type thing. Anyway, I knew Eerf would give me a ton of trouble, both in animation and implementation, so I decided to take care of it now.
Since it's still a human, just heavily mutated, it needed to mix human and animal motion. And I knew just the reference;
Horse girl's motions were (maybe unsurprisingly) difficult to pin down, so I did this stick figure study of how her limbs moved to inform Eerf's gait. After several failed attempts and a bunch of tweaks, this was the final result;
There it goes... While I'm pretty happy with the animations, I still need to tweak its behavior as an ally. Since all allies use the same collision mask, Eerf has a habit of clipping into blocks, for example. But for now, here's our big, cranky friend.
Alright, as always, thanks for reading, that's all for now! I'll be back in December for the final devlog of 2020! Wow!!!
Leave a comment
Log in with itch.io to leave a comment.