A couple of days ago I released a free little typing web game called Mavis Bacon Teaches Typing. Give it a try – it only takes a minute or two to play.
I’m very pleased with how this turned out – much happier than I have been with a game for a while, so that’s built up my confidence a bit. I did hit a wall as usual, and almost released it without the food flying everywhere, but I’m really glad that I did, as it makes a huge difference to the feel of the game. I guess the lesson there is that silly little details and effects matter a lot. There’s a great talk about this called Juice It or Lose It, which I highly recommend to anyone making a game – it’s embedded below.
Meanwhile, I’ve mostly rewritten the rendering code for Impressionable to use OpenGL. Quite a lot of work, but it’ll be much faster, and allow things like zooming in and out, and special effects via shaders at some point. It’ll also mean way less fuss if and when I start working in 3D.
So, I’ve just released the farming game I’ve been working on this month, Potato Farming Manager 2000. It’s completely free, so go give it a play if you’re interested! The rest of this post is a bit of a post-mortem.
Firstly, a month of part-time work is not nearly long enough for a tycoon game. My original plans were for something more SimFarm-like, with a variety of crops, seasonal and weather effects, simulation of soil quality and humidity, and random events that you’d have to deal with. What I’ve ended-up releasing is an almost-arcade game about clicking on fields. Even when I’d decided on making it a less serious game, I still had plans for production chains which got cut. It wasn’t supposed to be a one-month game, but the lure of 1GAM and a lack of any other ideas for a quick game to make persuaded me to polish it up as best I could and release it.
The main goal in making the farming game was to give me some direction in making Impressionable, and that has been a success. I really need to write a proper renderer, a proper memory allocation system, a sound system, path-finding, some replacement for the mess of GUI code I have currently… A lot basically! It’s also shown me that writing C really isn’t so unpleasant.
As for what’s next, I’m not sure. The plan for Impressionable is still to make small, progressively more complicated games, but a month for each is absolutely too short, so for the next I’ll be aiming for 2-3 months. As for what game that will be, I have a few ideas lined-up: either a proper farming game like I originally planned, ‘fantasy tavern tycoon’, or ‘bridge constructor but you build castles to defend against invaders’. Or something else maybe! Whatever seems to be the simplest.
This week I’ve finished implementing farm workers, apart from a couple of bugs. After hiring them, they’ll pick a job from what currently needs to be done: planting, harvesting, or carrying potatoes to the nearest barn. They’re the first thing to be animated, too. I’ve been quite enjoying watching them dash about to do my bidding!
Then next task is going to be writing a proper renderer. You can see above that there’s no depth sorting yet, but what you can’t see is that the game lets you zoom, but zooming produces a horrible blurry mess with gaps between tiles. Switching from SDL’s built-in renderer to a full OpenGL one will allow me to fix these things more easily, and generally make life easier.
As for Quick Quote, I’ve started on the redesign work by replacing the slightly-awkward main menu with a navigation drawer, shown above. That’s only the start, but I think it already makes a big difference, both in terms of appearance and it being much easier to switch between screens.
Above you can see the untitled farming game I mentioned last week. It’s been going pretty well – I’m getting more comfortable writing in C/C++, so things are taking much less time. You can build fields, barns, and your headquarters; fields have a little state machine implemented for planting, growth and harvesting (not visible above as I’m in the middle of changing it); there’s a game clock with speed controls; and you can hire workers, who don’t yet do anything because I’m in the middle of writing their code.
In other news, I’ve recommenced work on the Quick Quote update that I stopped in February, while waiting for feedback on App 2. Firstly, by cleaning-up the Frankensteinian project set-up,where I had 3 separate Git repositories! It’s now a single repo, and builds using Gradle so I can use the Android support libraries. Secondly, by taking a good look at each screen and redesigning it. There are issues with usability, both from inexperience, and from adding extra features without properly considering how they should be used. Not everything is decided yet, especially with some unimplemented features unaccounted for, but I can make a start on tidying it up soon.
A bunch of things to talk about, which is what happens when I don’t post at all for 2 months! Oops.
In April, Ludum Dare 32 happened, the theme was “An Unconventional Weapon”, and Food Fight! was my entry. It… didn’t turn out very well.
I was away from home, so was using my Eee netbook for development. It’s pretty limited in what it can do – OpenGL won’t work at all on it – so I chose HTML5’s canvas for the target. The big mistake though was deciding to roll my own framework rather than using somebody else’s. That seemed OK, until the deadline had passed, and people started reporting that the basic keyboard and mouse inputs were plain broken for them. Apparently they only worked on the exact combination of software and hardware I had been using. So, yeah.
Catsteroids, however, I’m much happier with. I finished a new build of App 2, sent it off to my tester, then realised I had two days left in May and no game for 1GAM. So I made a really dumb Asteroids clone with cats in it, using Unity. Is it a good game? Maybe. Does it make me laugh whenever I play it? Yes. You should give it a try for the soundtrack alone.
Impressionable has progressed a little, but without much to show for it yet. I’ve rewritten it in C/C++ after getting annoyed with Java’s memory management, and I’m still getting used to low-level programming. A problem I’ve had is the aimlessness of making an “engine” rather than a game, so I have a new plan now: Make a series of small games, aiming to take around a month each, which will gradually expand the engine’s features. For instance, the first game is going to be inspired by SimFarm, stripped down to the basics of placing fields, planting them, harvesting, and balancing a budget.
Firstly, a new game! BREAKPONG is a mix of Breakout and Pong, where your paddle wears away every time you hit the ball. It’s an entry into MiniLD58, the theme of which was ‘Pong’, so there are a lot of free pong games over there if that’s your sort of thing!
I’ve been ill the last week, and as I tend to do, I started a side project! Continuing on from my previous attempts at a city-builder, this time I’m making more of an engine, rather than a specific game. I seem to have different ideas for city-builders every couple of weeks, but they have the majority of stuff in common, so I’ve figured-out what features they all need, and have begun writing the engine in Java, calling it Impressionable because puns. Don’t expect anything soon, but I’ll be putting a few hours into it here and there when I get stuck on other projects.