Bagger - MMO inventory management

A horrible attempt at a game =) Click buttons, complete ‘quests’

Goals going in

I didn’t really have prevalent goals this time, but here’s a few that definitely cropped up.

First timing

Honestly, the whole point of making a Game a Week is to release something and get feedback, and that was very much priority one. To meet that, I aimed on keeping Bagger small and the scope easy. I prototyped in such a way that I could be done in a few nights of work if I hated it.

I also hadn’t messed much with GDX since the 1.0.0 release, nor had I used Gradle at all, so I was excited to go through the complete process.

Decoupling

On the technical end, I really wanted to mess around with decoupling the GUI of GDX’s Scene2D from the actual game mechanics. This is one of the major pain points of my GDX development, and it’s all self-inflicted. As I’ve grown as a developer from my day job and repeated game attempts, I started with a plan for this and set to it.

What went right

In which we celebrate the successes

Simplicity

The concept was so close to my skill set and so small that most of the core gameplay was done in one night. I finished Monday night with most of the game in, just a few bugs or lacking features. It freed me to spend the rest of the time polishing and fixing it up. While I still don’t feel like that was enough time polishing, it was a great feeling going in to Tuesday knowing I could release it that night if necessary.

Technicalities

I feel like the decoupling of UI went moderately well, and I also got to explore observation/notification as well as mess around a bit with Gradle. All in all it was fun and educational.

“Good enough”

It was fine. Which is better than a lot of things! It was playable and such, and I didn’t feel awful releasing it. That’s more than I can say about any other game I’ve released.

What went wrong

In which I summarize all my shortcomings and what I’ve learned

Tut, tut, tut…

I’m pretty bad at conveyance. I also really hate tutorials and want to avoid them at all costs. Not only do they usually rely on language, cutting off some potential audience, but they’re just annoying and they raise concerns on a second playthrough, etc.

Regardless, conveyance is a necessity. And it’s also something I’m bad at. The most common complaint I’ve gotten is that the things I make are impossible to understand without me sitting with you. I feel like Bagger is a definite improvement on the past, but it’s still not good enough, not by a long shot!

This type of conveyance is going to be first on my mind next week.

Fleeting time

I went visited my hometown over the weekend for an annual get-together, and having started Monday, that meant I had 4 days to go from start to finish. Spending Wednesday playing games all day felt rewarding, much deserved, and a giant hindrance toward actually polishing and publishing. I’m glad I stuck it out and I’m glad I started small enough that I could release at any time.

Hard to Observe GWT

Midnight on my last night of development, I started looking at how I was going to build the artifacts and publish them. I’d set my heart on HTML when I started with itch.io being the platform. I looked up the commands, pressed go, and was met with a swarm of errors. With some help from the LibGDX IRC, I learned that the native Java Observer/Observable classes were not supported with GWT. I got to spend 2 frantic, sleepy hours ripping that out and replacing it with a quick home-grown solution, as a lot of the game logic was handled via observation and notification.

“Good Enough”

I really wish there was a way to mute the music or lower the volume. I didn’t even think about that until I saw it deployed, but I felt tired and just called it.

There’s also some clipping once you’re past the 2 introductory levels that I didn’t notice until it was up on itch.io.

Plans for next week

I’m planning on taking next/this week off and working on infrastructure. Setting up a website for this sort of thing (that you’re hopefully reading this on) and playing around with the git repo and gradle to allow these sorts of things to easily coexist in one place.

For the next game, though, I’ve got a ton of ideas…