Originally posted in my WordPress blog

plantiful-ss

And you can play it straight on your browser here! You can also peruse the source code on GitHub. It's... I think it's the first game I made that I can say is "finished"! One I'm not too embarrassed to post publicly.

My sis and I have been saying we should make a game together for ages. She does the art, I do the programming. Unfortunately neither of us are any good at game design. Or game producing, for that matter.

A few abandoned attempts later, I said "let's just make a suuuper simple game, something about taking care of a plant?". She said "sure!" and made these cute assets of growing radish. She named the hypothetical game Plantiful.

The assets were left to rot in our Drive folder for months.

Cut a few months and I was in a bit of a slump. I was eight months into my frontend web programming job at a game company and the project I was working on was getting cut down. There are no more project that uses frontend web, they say, do you want to switch to game programming instead?

Two problems with that: when I eventually, inevitably leaves the company, there'll be fewer job opportunities that use that specific skillset. And also, I already spent the last few weeks learning Unity programming and it was nooot fun.

But also: the idea of moving to game programming full time made me excited. The pay is mediocre, the job prospect is slim, but game programming! Exciting!

The prospect was so exciting in fact, that on a long weekend I pulled out the old plant game asset and started doodling some ideas. Step one: put things on the screen. Step two: make the thing clickable. That sort of simple stuff. For the engine, because Unity from work was hell, I pulled out an old engine I got some years back.

I've tinkered with it a bit, so I wasn't completely clueless. I'm also a (much) better programmer now, so picking it up was easy. And man, compared to Unity, DragonRuby is soooo much nicer to work with. I actually know what's going on in my engine, I don't need to write too much boilerplate codes; only what I need and what I build myself. Sure, it takes a bit more effort, say, creating a whole UI system, but it's also a lot more satisfying. It feels good.

So I messed around and, surprisingly, had a lot of fun. I gave myself a hard limit: two days, make it polished enough that you won't be embarassed putting this in public, and then we don't touch this again. And I did it! It's playable. It's reasonably polished. I actually got tempted to do some little fixing afterwards and my brain is bubbling with ideas for new features and game modes and such.

Wow, making a game is fun. Who would have known.

The game is playable on the browser here. The source code in full is on GitHub.

I fully recommend DragonRuby (which you can buy here) if you like silly little programming projects, or if you're sick of having to deal with bigger, heavier engines and pages and pages of documentation. The engine goes on sale often and it was included in a few of those mega bundles on Itch, so it's possible you might already have it.

My one issue with DragonRuby is that its documentation is dogshit and the only way to get help is to join a Discord server. I don't recommend this to people who don't already know how program; it's best for those who actually enjoy programming in their spare time.

Ruby is such a blessed language. It's pleasant to work with and it works exactly as you'd expect it to work. Maybe one day I'll write a blog post about that specifically.