While I’m making slow and steady progress on LFG, my turn-based puzzle game, I figured I may as well take the plunge and take part in a game jam so I can kickstart myself into actually making a FINISHED product. Between posting updates on this tumblr and constricting myself to the jam’s deadlines, I’ll have sufficient motivation to pump something out.
I chose LOWREZJAM mostly because of its size limitation of a 64x64 canvas, which is a fantastic constraint for someone like me who tends to add on multiple features before carefully considering the consequences. This way, I’ve been able to distill the core idea and will solely build around that.
After a bit of brainstorming the idea I settled on is a driving game in the vein of Crazy Taxi, where the goal is to deliver a customer his food before time runs out. This will be a good opportunity to delve into and learn physics, at least for Love2D, as I’d like to implement collision and car destruction as part of the mechanics.
The basic idea is that you are trying to get from Point A (start) to Point B (taco truck) and deliver the food to Point C (customer). The player will be driving at the height of rush hour traffic, where laws and common decency be damned. While there will be openings in traffic, I plan on making collisions a part of the gameplay which will add in two mechanics that the player needs to be aware of:
Using the physics of oncoming traffic to direct them to the objective faster
Not exploding from too much damage taken
The win condition for the player is to deliver the food to the customer in the time allotted without blowing up. The loss condition, of course, is time running out or you blowing up. Boom.
Talked to Noah, my brother, and I settled on a fast paced aesthetic, possibly in the veins of Retro City Rampage. Was listening to my Future Funk/Bass playlist while I was brainstorming and I think going for a neon/pastel color palette with a Future Funk/Bass soundtrack would work out pretty effectively.
Here’s the fun (read: challenging) part. To pump out a small game fast, quick, and efficiently I’ll be sticking with Love2D, but this game introduces a whole slew of modules that I’ll be wrestling with, namely graphics and physics. I was helped out by a user on the jam’s discord channel, Aki, who mentioned that the function love.graphics.setDefaultFilter(”nearest”, “nearest”) should help me with scaling 64x64 to a higher resolution while still maintaining that small canvas. Thankfully, there is a little over two weeks for this jam to end so that should be enough time, if I really crank away at it, to learn what I need to for this game.
This has been a rather productive day for me in game design. Read a bit more of “The Art of Game Design”, cranked out some good ideas for both my DnD one-off and LFG, and even planned out the rough rough (read: rough) roadmap for The Burrito Mile (hey look a title). All in all, good work done today. Now I just need to maintain the consistency.
Well, I wasted hours trying to figure out why my random number generator was crashing the browser only to realize that I was trying to find 10 random numbers that didn’t overlap within 4 numbers on either side of an existing number, which was impossible within the constraints I gave, which caused an infinite loop! Hooray!
So the good news is that island generation is finally working properly, but the bad news is that I haven’t been able to work on anything I said I was going to work on yesterday. Hopefully illness, sfx, saving, and all that jazz isn’t too taxing. Now the time left is looking a little stressful!
There’s a day/night cycle and a map now! Also, there’s a limit on how many times you can haggle.
Every spin around the dial, the global economy updates with the previous day’s prices, and the day/night cycle exists as a visual cue to finish your trading for that day in order to keep that day’s rates. Time stops when you’re on an island’s trading screen, though.
And the map is an essential tool! The world is portrayed as a 50x44-pixel map, with each map pixel being equal to 64 pixels of game space. Each green pixel (the gif above doesn’t show color very well) is one of the 10 islands you can trade with, and the red pixel (or “the moving one” in the gif) is your current position! When the game’s done, you’ll need to fill out the map yourself, but it would fill a 3x3 pixel brushstroke as you sail at least.
The next things I’m planning on doing is adding more island sizes (to make the map look more interesting), double-checking the economy balance, and implementing illness and crashing. You’ll need to manage your crew’s health as you sail, and the more illness your crew has, the more energy you will consume. Also, you’ll have to pay attention while sailing so you don’t crash into an island and sink your ship. If you crash, you’ll have to start over from the center island with half of your money! And finally once all that’s done, I’ll be adding a title screen, stats screens, the music and sound effects, and “achievements” for you to reach as you play (because there’s not really an end game yet)!
The trading system and GUI is in place! You can buy, sell, and even haggle! It’s actually pretty cool.
All of the islands will also procedurally generate and maintain their own economies based on the number of items they have compared to the global economy! I won’t have time to include a full “gossip” system to help you find new islands and special things, but I’m going to at least have it tell you what random items will sell for on that island.
The next thing I’m going to add is a dial on the bottom right side that will indicate when the islands will all refactor their pricing. It’ll be a simple countdown that pauses when you’re trading. I hope I’ll have time to add a map, but it’s going to be anyone’s guess if I’ll finish in time. After the economy is all set up and balanced, I just need to add some more island types, make the game generate islands at the start, and implement a save/load system and boom, it’s a fully functional game! At that point I’ll put it online for you all to check out while I keep working toward getting the extra features I want into the game. Yay!