Posted June 26, 2023 by Festus
#Organization #Jams #Prototyping
Most good games start with a prototype. Or, more precisely, they get prototyped quickly, so the design can be tested and iterated until it's fun and engaging. However, getting to your first working prototype after you've burned half your production time seems to be worryingly common - both in jams and in longer productions.
"That's overscoping!" - you might say. This isn't a post about overscoping*, though! What if I told you that your scope was manageable, but your means of realizing it were lacking instead? Projects of seemingly ambitious scope can be quickly prototyped, if you're well-equipped - and this is what we're going to look into.
Here are a bunch of scenarios that likely sound familiar: you start building a prototype of a game, and quickly find yourself programming a platforming character controller for the twentieth time. Or drawing a brick wall tile. Or laying out a basic UI that looks exactly like 5 previous ones. Or worse yet: you have a relatively simple problem in front of you; you have solved it before, and yet can't recall the solution. Or maybe you remember you've tried, failed, and have no idea what the approeach was and why it failed. This is a jam, the timer is ticking. There's no time to waste on menial work, or spinning your wheels.
And yet, I've repeatedly found myself in the above situations.
So during my current One Game A Week challenge, I decided to change something. I've organized all of my tools, experiences, artwork, tutorials and snippets of code in a manner that's easy to navigate, and makes them ready to be used in a fresh project immediately.
I'm going to show you what tools I picked to do that, what I do with their help, and what the benefits are. The tools were picked to be:
I have a bunch of small, game-ready tools and scripts that I can drop into any project, and they will work with no adaptation required. This includes character and camera controllers, math helpers, grid systems, service locators... anything that bridges the gap between an idea and a playable prototype. Their small size also makes them really easy to modify on the fly, and helps prevent them stiffening the architecture of the project early on. If you're a programmer, this is a must-have. If you're no good with code, pick some 3rd party tools and learn them *really well*. They will serve the same purpose.
It will take time to develop those things, but it's not particularly challenging. Be on the lookout for those "oh, that's useful!" moments during a project. Analyze the bit of code in question, rework it after the jam to be standalone, and throw it into a git repo, or Pastebin.
Obsidian is excellent at making notes that can be quickly linked to each other, cataloged and tagged. Forgot something about an artstyle, or an algorithm, or a game design tidbit? Look for anything that's remotely similar in your Obsidian vault, and you'll find your missing piece by virtue of following connected notes. I write my design docs, loose ideas, observations, post-mortems or devlogs in Obsidian. I also write about general game design, do game mechanics analysis, write out algorithms, note interesting CompSci subjects; pretty much anything relevant goes into Obsidian, because thanks to the linking system it tends to pop up when you need it most.
When I need to quickly remind myself why something I've tried 5 months ago failed, it takes me seconds. When I need to find potential solutions and paths to explore, it's another few seconds. Inspiration, untried ideas? Seconds, again.
People call it "the second brain", and it's not far off. Obsidian is free, go download it.
Eagle is an image-based cataloging program. This makes it excellent for artists to build a reference archive, but it's far from its only use. I use this to store links to my bought Unity assets, tutorials, articles, textures, and anything else that I can get a recognizable thumbnail for. Anything I find in my browser is one keypress away from being stored in Eagle. After it is, the smart tagging system takes care of it, and finding the thing again is a breeze. Eagle costs $29 for a perpetual license (no subscriptions!). Obsidian can be used in the same capacity, but it's not as quick.
Soundly is a downloadable app that serves as a catalog and player for a huge, paid library of sound effects. That's not what I use it for, though. It allows you to organize and tag your local files, too! That makes picking out a sample you want much faster than importing a huge sound library asset into your project, waiting for it to convert (in Unity this takes about half a century), and then looking for a particular sound using the editor's UI.
As long as you don't want to use the premium online library, Soundly's client is free! It also comes with access to various free online sound libraries like Freesound.
Those aren't the only tools you can use - each of them has alternatives you can easily find online. The tools themselves are not that important - the big idea behind them is the necessity to have a method of working with vast amounts of information that 'clicks' with you and is a force multiplier for your brainpower. Relying on your memory in the age of information overload is a risky bet.
If you decide to try this out (and you should!), allow yourself time to grow this personal knowledge base... and don't forget to make backups!