So it’s been almost two weeks already since I went to first jam and I’ve had more than plenty of time to think about it. Overall it was a great experience that I would like to repeat asap but not everything was sugar coated. The game jam presented as a challenge itself, one that I might have even understimated at times, but that proved to be just what I needed to learn tons of new stuff.
- Game scope – Don’t try to make your own Age of Empires II. Keep it simple, keep it safe. In 48h (or less) there’s a limit to how much you can do. My team tried to keep it simple and defined something concrete upon we ended up adding new stuff, while another team tried to do way too much, resulting in tragic results…
- Go modular – In addition to defining a game scope it is highly recommended to first define a basic game and then add more on top of it. It just like baking a cake, the extra cherries on top don’t need to be a whole bunch, even just one properly placed will look better than twenty all over it.
- Don’t always trust standard assets – Unity’s standard assets are great, don’t get me wrong, but they might not always be the solution you want/need. While setting our initial scene and doing some testing, my pal and I stumbled upon something that just looks awful, camera stuttering:
Now, how come Unity distributes an FPS controller with such a problem? Who knows but it’s quite disappointing. The reason for this behavior is quite simple to understand and easy to fix, what’s really going on is related to Unity’s event functions flowchart and the way the code was written. On the left side the camera has it’s position modified on the Update function while the game physics for the sphere (it’s position mainly in this case) are doing in FixedUpdate. Since both functions aren’t called at the same time and game physics are calculated more frequently, this results in the sphere showing for a fraction of a second where it really isn’t, something that is calle stuttering or jittering. There are several ways to fix this, but the simplest, easiest and fastest one would be to do everything (moving the camera and updating physics) on the Update method, resulting in the image at the right.
During the jam this presented itself as something really annoying, as our game was gonna be an FPS, so I had to look into it and stumbled upon this article from which the gif was taken: Kinematicsoup – Timesteps and Achieving Smooth Motion in Unity. Or if you prefer, here’s a video
- Procedural Toolkit is awesome – I’ve been using this free asset from the store for a couple weeks now and it’s awesome, it makes the low poly style “kind of easy” to achieve. I mean, those trees in the top picture where doing using a cylinder and some pyramids and the wall and floor are simply procedural surfaces.
- Unity Collab ain’t that great – Our first two hours in sunday morning were spent trying to solve an issue with collab that messed up the project in our 3D artist’s computer. There still way too much room for improvement, I can’t believe Unity decided to end the beta period already.
- Consistency, use the same Unity version – So yeah, don’t try working in a team where every member has a different version, it’ll mess up your project. A fucking lot.
- Games look better with proper art – As a programmer I tend to use my own programmer art and assets so doing something properly for a change was great. I guess I’ll have to learn how to use blender now.
- Think fast, think right – Time is a constraint to make the challenge to exciting so you gotta think fast and do everything as simple as possible. Need an asset? Import it. Some old code? Copy it. Don’t waste time trying to get something done that would otherwise just need 5 min.
- Have fun! – Gamejams have all kind of weird themes (this one time the theme was “This ‘hut’ is private”) so people can get as creative as they want and have as much fun as they want. I personally had tons of it that weekend and would gladly repeat anytime.
I’m sure there’s still much to say about gamejams but for now this is it for me, if you wanna check more info related to the jam as well as all the games made then click here.
See ya next game!