Sail Postmortem

A pretty successful journey


Posted 05/03/2014 18:02:43 in Portfolio

Updated 08/20/2017 19:17:12

Sail is my third game jam entry, and my second Ludum Dare entry! I applied a lot of the things that I learned from the previous competitions, and although there were a few hiccups, this has been my most successful game jam by far.


I mostly stuck to tools that I was familiar with, and that let me be far more productive than I was with previous competitions. For Glass of Water, it was my first time using Unity so there was a lot of experimentation and learning that ate much of the time, and with??Only One, it was the first time I used the 2D tools in Unity. This time around, I primarily developed in Unity, GIMP, and Blender, all of which I've been using almost daily for the past few months.To elaborate on??mostly, the problems I encountered were in using tools that were new to me. The Scaffolding GUI framework was great, but I only spent a day playing around with it before the competition. It shows in the final product in certain resolutions, and it forced me to try to lock the aspect ratio to 16:9 to avoid distortions. I didn't start with a fully fleshed out idea of the game beyond a Wind Waker-y treasure hunt, but as soon as I had that idea I started cranking out models in Blender and putting the core together in Unity. Some of the work (mostly modeling) wasn't very mind intensive, so I let it wander and came up with add-on ideas, some of which made it into the game (the squid) and much of which didn't. I worked a full 8-hour shift on Saturday, but I don't really look at it as lost time. I also had full nights of sleep this time around. I think that the extra rest and the work break from the game let me recharge and be a lot more productive than I would've been if I had just ground through the whole thing ramped up on caffeine like the last couple jams. It would've been nice to only have to have worked for 4 hours, but what can you do.


I was pretty confident that I could do a 3D game even though I only learned to model and animate about two months ago. I've been spending a lot of time recently modeling for??Homestead, I'm really happy with the results, and I've got a process down that actually flows pretty quickly (I'm actually working on a series of blog posts on it, so keep an eye on this site if you're a programmer who can't model!). The design for Pudge (the cute little main guy :D) was actually an idea I had a while back that I've been itching to create. I never actually modeled or drew the character, but all my ideas for the possible themes this time around involved him and other adorable roly-poly characters like him. I picked the colors for the game based mostly in the same way that I pick the colors in??Homestead: basically, I love how desaturated and bright colors look on my low-poly models when cell-shaded, so I stuck with that. I actually started with Unity's default water, but towards the end of the first day I realized how similar my game ended up looking to Wind Waker so I made my own texture emulating that to put on a plane and learned how to scroll the UVs for a watery effect.


I really wanted to make a game based around chubby cute characters, so I kept that idea in mind when making Pudge and the squid. The squid's dialogue just kind of came to me towards the end of the second day; I wanted him to be big and dumb, but unintentionally wise at the same time. Also, I really wanted to use the opportunity to actually write out the strange noises I make sometimes. I played around a bit with the fish splashes to try to make them more visible from a distance, but then realized that if I put birds above them I could make the splashes look decent while still being identifiable from far away. I dropped a hint for this in the squid dialog, but I think I could've tried to make it a bit less obscure (maybe an icon for the net activating). I did want to add a few extra effects to make it more clear what was happening (fish flying into your boat as you drag the net, fish flying into the squid's mouth when you're near him, maybe a ping when you're near treasure when you have the map for it), but I didn't have the time. Also, I was planning on having the treasure chest just being one of the objects you find, the rest being other interesting artifacts from under the sea. SPOILER The ending was a bit brutal. I put it together right at the end, and I was tired, and a nice king-of-the-sea thing seemed too cliche. Plus, I kind of like the whole "dark and cute" aesthetic. However, I think I'll expand this game, and I have a few alternate endings planned that aren't so cruel. END SPOILER

One last design decision that I think is really important to note is the basic "collect X amount of Y" form of progression. I mentioned this in my??Glass of Water postmortem, and I think it's extremely important to success in developing a full game in a tiny time-frame. Once I had the core gameplay down, all I really needed to do to extend the experience was to clone the "chest" GameObject, move it somewhere else, and crudely draw a map for it. This differs from??Glass of Water, where I would've had to plan out an entire jump scare or scene and do a lot of extra scripting and modeling for each extra 30 seconds or so of gameplay. Obviously you don't want to artificially extend the game by making the players collect 150 of the same object and boring them to death, but when you apply this pattern (waves of enemies would be another example) with a good amount of balance I think it can work really well.

Thanks to everyone who has played my game! All the positive comments on my game's page have had me buzzing all week, and the critical ones are very helpful! Like I said before, I'm working on a series of articles detailing my Blender and Unity workflow, so if 3D modeling seems impossible (or getting Blender models into Unity properly seems impossible) check back here over the next couple days! I hope that sharing my experiences doing these game jams helps a few people out.


Adam Mornes

10/13/2017 16:16:34


Haha, nice!

10/30/2017 03:20:48