Ball Box - Week 4 (+ 4)
- Jason Warrick
- Jul 21, 2022
- 2 min read
Following the development of a physics-based dexterity and puzzle game.
Hello there! It's been a while! Life has been incredibly busy as of late, so I haven't had nearly as much time as I'd like to document and create these devlogs, but things have started to settle down so it's time to get back at it!
So, I resumed development by continuing work on the dialogue system, as there are a few quality of life features I'd like to implement before I move on from it. The first being how it handles level resets on a loss. It turns out, to do this I had to perform a somewhat major restructuring of the entire system's implementation, but now it works as I'd like and also makes much more sense!
One thing I had REALLY wanted was for the player to be able to both completely skip dialogue if they choose, and also skip to the end of each dialogue animation more quickly. Neither of these actually took that long thankfully, and I feel like it's made a huge difference in how nice it feels to interact with the system!

As you can (hopefully) tell by my code, the line complete feature was just a matter of making a sort of small state machine, where the continue button will fill out the rest of the sentence if it is already animating, and start the animation if it isn't!
To take a small break from the dialogue system, I worked on level design and writing, finishing both for the first 9 levels, which I'm treating as sort of the demo / elevator pitch of gameplay. I would like to start playtesting very soon, but I want to finish the dialogue system and make a rudimentary menu before I do.
One small change that made things feel SO much better has been the addition of a restart button. It's mapped to Triangle / Y on controller and R on keyboard, which both feel like they make a lot of sense, and they work as you think they would (the level manager just tracks those button presses and calls the lose level method when they're pressed).
Time to break the 4th wall (if there ever could be in a blog post) and show some scandalous footage of my hand using the controller to play and skip dialogue! There were a LOT of edge cases to account for here and it was a pretty significant amount of trouble, but absolutely worth it. Sometimes it feels like I get more satisfaction from programming these small, quality of life additions than I do the bigger gameplay elements (that's definitely not true, the instant gratification is just off the charts).
So that was it for the first week back! I'd say it was pretty productive, and involved a lot more of the nitty gritty technical features out of the way which is nice! Since the last update some features have spontaneously broken, which I hope doesn't run too much into the coming week, but we'll see! In terms of what I learned, it was a lot of system development and creating ways for them to interact with the other systems I've built, which is very cool!



Comments