As a programmer not being used to see progress for each line you put in, Unity is a fresh breeze of providing a high factor of things-happening-on-screen-per-line-of-code-written (thosplocw if you so will). Spending time building games using C++ (see Amalgamation, more games will be posted soon) takes much longer time, since you have to most of the things yourself (obviously). Writing most of the code yourself would probably make you think that having a engine like Unity at your hands would make you hit every deadline right on and never again have to worry about such mortal issues as deadlines.
I would argue that this is not the case, as the amount of time being known in the beginning of a project (no matter the time frame) will define the scope of a project. And often this scope tend’s to result in a workload barely manageable, you always try to push yourself (for good and bad). Where in such cases most of the times you end up writing code up until deadline at an ever increasing speed, the later period of a project is often referred to the infamous term “crunch“. Crunch for me is something very negative, something you would like to keep your distance to no matter the project. Since crunch is the last resort you take when a software project is close to a deadline and has features yet to be implemented or features not fully functional as intended. Jamie Cheng, founder of Klei Entertainment, spoke about this while at GDC in San Francisco where he further explained why crunch is always bad and you can read a summary of the talk here. This is where Game jams comes into the picture, by participating in these very short jams I have come to understand the importance of realizing yours and others limitations. Having a short period of time to complete everything(!) forces you select what features will be the most beneficial for the final project and the twist here compared to other longer time framed projects, you cannot have crunch since there is no time for it. Instead you will have to focus from start on building what is the essential parts of the game.
I’m confident that this knowledge is best gained through practice, practice and more practice where as Game jams are an excellent teacher when it comes to scoping your project. In the longer run this might even save me from crunching my way towards next deadline. So happy coding and stay fara away from projects you cannot finish without crunching! 😀