OK, a lot of folk have already picked a project for UNversity – or perhaps a large set of projects to work through. There are also still quite a few folk who have not declared a project yet, plus some who need to perhaps rethink their current project/list just a little to try to get some more focus. Below are my tips, but I welcome comments from UNversity veterans to chip in with their thoughts about what makes a good project.
In general, whatever project(s) you are doing, they should be things that can be completed – the best projects can be ‘done’ and delivered. In the case of a game, it might not include all the features you planned when you started, but it will be finished and playable. Whether or not it is good is pretty much beside the point – you got to the finish line.
A good example of a good project from UNversities past is LightSpeed. A simple 2D game making use of the what had been learned in first year of university, and applying that to create a new game. Along the way building and improving programming skills. (And fun to play too… bonus!)
A bunch of folk, but especially common from folk who haven’t ‘done’ UNversity before, have chosen a project along the lines of ‘learn something’. This is kind of along the lines of the ‘academic’ stream, but not quite. A goal to ‘improve my understanding of X’ is noble enough, but what is the end point? In contrast, a project that will make a game or demo using X not only gives you a chance to put this into practice, but means you have a definite objective – something solid to aim for. (Fiona’s proposal for a series of small games in C++, putting design pattern principles into practice is a great example here.)
If you do want to go down the academic route then a good goal is to complete a free online course.There are loads to choose from, from iTunes U, EdX, Coursera, Udacity or similar. (I recommend the Stanford OCW course on ‘Programming Paradigms‘, also available through iTunes U, for folk wanting to improve C++ and gain a deeper understanding of programming principles or the Udacity 3D Graphics course. But this is UNversity, there are few rules, and if you want to pick a course on the history and theory of architecture, go for it!)
Of course, if you have enough time you might want to create a small game demo as a side project while you are learning doing a course – but the key thing is to have a project with a definite end to it. Otherwise, how will you know when you are finished?