This was originally posted on my devlog at http://alamantus.com/post/143020786713/lowrezjam2016-postmortem on Monday, April 18, 2016 at 1:32 pm.
I’ve been wanting to make an open-world exploration game where you can set a course and just travel for a while, clicking back into the game to check your progress and make sure you haven’t missed anything cool or accidentally gotten into trouble while you weren’t paying attention. When I heard the Low-Rez Jam was happening again and that the screen resolution was relaxed to 64x64 pixels (instead of 2014’s 32x32), I figured it would be the perfect opportunity to get the desire for this game out of my head and into the world.
At first I thought a space game would be perfect, but the scope was far beyond what I can do by myself. The next best thing, which turned out to be completely perfect for me personally, was an ocean trade theme. The result is Trade Winds, and it’s the first video game that I’ve finished making since 2014. Even still there’s much left to be done, so let’s dive in!
What Went Right
1. The Gameplay Concept and Execution
Sailing to distant islands and trading to make a fortune is probably one of the coolest nonviolent game ideas that I haven’t seen explored much. I love the way the controls worked out and the way the different speeds of the ship feel. There are a bunch of different background ship stats that go into the balancing of the ship’s movement and inventory capacity, and I really like how they all play off of each other.
For such a small screen space, I had to figure out the best way to portray trade and how to actually do it, and the left/right page idea turned out to be exactly what I needed for the game. Originally, I was going to have all of the items listed out and you’d have to select into the item to perform any actions, but having all of the actions and information right on one page turned out to be just the right choice for the game.
2. The Art/Theme
The idea for the ocean theme worked out perfectly, and the ways I was able to re-use assets without them getting dull. I haven’t personally put much time into developing my pixel art skills, but I know enough to make tiny things resemble what they’re intended to look like. In spite of my mediocre abilities, my cargo item sprites turned out absolutely perfect for this game, and I was ecstatic. On top of that, I managed to seamlessly animate the ocean swell and waves, which is a really big victory for me as well!
The real star of the show, however, was the boat. To create the boat sprite in the 8 different directions that it can face, I actually made a super low-poly 3D model that I colored and rotated in Blender, exporting each rotation at 16x16 pixels. Doing the ship and its directions that way saved me hours of work! I’m definitely going to be using that method again in the future!
3. The Collaboration
A couple days and screenshots into my work on the jam, I got a message from Paws Menu asking if they could do music for my game! I was stunned and humbled when I looked at their music portfolio and realized they were offering me free music. Of course I agreed, and they sent me 3 tracks in something like a day, and after just the smallest bit of tweaking, the music was perfect! They also helped create a bunch of menu icons for stats and stuff, which was incredibly helpful, too! I’m super grateful to them, and I think you should really check out their music and other work. It’s all super nice stuff!
What Went Wrong
1. The Engine
A little while ago, I created a JavaScript game engine called OversimplifiedJS from scratch that uses HTML5′s canvas elements in the simplest way possible. I basically just made it to see if I could do it in a week (I could!) and to learn more about how JavaScript worked. Since I built it from scratch and am therefore fairly familiar with how it works, I figured I could save time using it rather than learning how to use a stable engine like Phaser in the limited time I had. Unfortunately, while OversimplifiedJS works in general, the engine was (and still kind of is) definitely not stable.
I had to spend almost as much time fixing the OversimplifiedJS engine to get it working how I needed it as I spent actually putting the game together! That’s a big exaggeration, but I did spend several extra hours pulling out my hair trying to figure out why certain things didn’t work properly. In the end, I did manage to greatly improve OversimplifiedJS and will be able to push a new stable build of it to Github very soon, but I’m not completely sure the extra headache on top of the stress of the jam was really worth it.
2. The Missing Features
Oh the time constraints of game jams! I thought I would be able to include at least barebones forms of all of the features I wanted in Trade Winds, but when you’re working full time, you never really know when you’ll have enough time to work on your game. I kept the scaffolding for the missing features in the game to encourage me to go back to them, but the Options and Gossip screens, the different-sizes and alternate sprites for islands, the “fill out the map as you go” system, and win/lose states are all woefully missing. At least I was able to get the save feature working at the last minute!
There are a lot of things I’d like to add to the game, and I’ll discuss all that in the “Future Plans” section, but for now I’m just happy that there’s something playable and that it’s pretty and interesting and enjoyable.
3. The Sounds
I learned how to use the sound effect creation tool BFXR a bit better and was able to make sound effects that worked well with both the music and the general pixel aesthetic of the game, but in general, this game deserves better than what BFXR can produce. There aren’t many sounds that it can create that aren’t just grating, and I really need to figure out a better way to get nice sounds quickly. But it was fast and easy, and that was all that I needed for the jam, so there’s that.
Future Plans
I’m going to be continuing development into the future to make Trade Winds everything that it can be. I have a lot of ideas that are easy to implement and will only take more time. The finished game, when it’s ready, will be posted at the same link that every post I’ve made has been pointing to (https://alamantus-gamedev.itch.io/trade-winds) while the original jam version will move to a slightly different URL (probably with “-jam-version” appended to the end or something), so you can always count on the above link to point you to the correct link.
As for what I’m going to do next, here’s the list:
1. Complete the Missing Features
First things first, I need to polish up the existing game and add the things that I wanted to add for the jam release but couldn’t. I’m going to:
Add the Options screen (for volume control),
Make the Gossip screen at least do something,
List all of the stats in the Status screen,
Add more island sprites,
Make the Map fill out as you go instead of being all available at once,
Make it so you can crash your ship if you’re not paying attention,
And add “goals” to work toward as some sort of win state.
These are all really easy things for me to do, and now that I have unlimited time, I can do them really quickly and easily!
2. Add Docks to Islands
Right now, you can interact with any island by pressing the interact button anywhere on the island, but I want to have docks/piers to trade at instead! You’ll have to navigate around larger islands to find where you can dock while being careful not to crash along the way.
This will also make it easier to justify adding…
3. Additional Points of Interest
On certain areas of certain islands, I want to add caves and pirate stashes and cool things like that to islands so you can randomly find trinkets and money. I’d also like to add things like shipwrecks and ruins to the ocean that you’ll have to sail around to force you to pay attention while traveling. They’ll show up yellow on the map, and they’ll occasionally have more things for you to find within them.
4. Bigger Screen, Bigger World
Now that I’m not continuing development with the LowRez Jam’s restrictions, I can make the screen whatever size I want! I’m going to keep the graphics the same (pixels at 4x scale), but I’m going to at least make the screen resolution 16:9 and increase the canvas size to allow more view space and more room for the GUIs to work in.
Along with the larger screen space, I’m also going to expand the world! Right now it’s a 50x44 grid of 64x64 tiles simply because of the jam’s constraints—a 50x44 pixel map fit best into the tiny Map screen space. With a bigger screen size, I can make the map bigger, and if I keep the scale the same (1 map pixel = 64 world pixels), I can expand the number of islands exponentially! That’ll make for a much more diverse trading experience.
Speaking of which…
5. Re-Balance and Improve Economy System
I have a lot of unused statistics in the game that were going to help with deciding the global economy of the game. There are variables tracking how many of each item is sold and bought that would help a lot in creating a more realistic evolution of the economy. Right now the economy is based entirely on the island’s current inventory stock of each item, which I found makes it easy to make a lot of money fast if you buy out the entire stock of an item from an island for a low price, wait until the next day, and sell the items back at the new astronomical rate that came as a result of the island having 0 of that item! Not ideal.
I also want to make the islands grow with you and only be able to hold a certain number of items. Right now, you can just sell an infinite number of any kind of item to an island no matter the price. I want the islands to expand to have more room for certain items as you sell them and as the world’s economy updates each day. Islands will have their own fluctuating amount of money that will determine how much you can sell each day, and maybe I’ll even add a barter system! We’ll just have to wait and see.
6. Ship Upgrades
All the stats are in place to allow upgrades to the ship, and I just need a way to make it happen. If I add docks to the islands, I can also add maintenance docks to other islands where you can specifically go to upgrade your ship. I’ll make the upgrades cost a lot of money and take several days to complete, which will alter the economy so you’ll have to play catch-up, but the upgrades will be extremely helpful. Being able to carry 4 kinds of cargo actually does turn out to be significantly better than the default 3 you start with!
This will also be a great opportunity to present a bigger penalty for crashing your ship—crash your ship and you lose your cargo, crew, and upgrades plus some of your money (to buy a new ship). I can also make unresolved illness eventually kill off your crew if you don’t make it to port fast enough! Perhaps not very kind, but it will make for more interesting and varied gameplay.
7. More/Better Sounds
The sounds I made for the jam are good enough, but there are some sounds that are simply missing, most notably a “new day” sound to let you know that the next day has official started and the prices have changed. Plus all of the sound effects could stand for better versions that are a little easier on the ears.
And that’s about it! If you made it through this whole thing, then thank you for reading! Your reward is knowing where to find the Github repository where all the source code and every step of every change for this game is being kept. Use it wisely!
I hope you enjoy Trade Winds, and I hope you’ll let me know what you think of it and my plans!
0 comments