So the big milestone for the Data Driven Dialogue project is in and frankly it needs some time to sit on the shelf while I gather my thoughts for a fresh assault. So I set about learning Unity, something I've been interested in for a long time as a prototyping tool.
The first thing I will say, and I found this with XNA as well, is 90% of the tutorials, resources ect... are worthless to anyone with any base level knowledge. Throw them out, you just need a quick run though the UI, and some quirks pages. All of 10 mins then just use your gathered experience and the reference docs from there on out.
Now when learning new tech two of my favourite test projects are Pong and Tetris. I immediately dismissed these however as Unity made both very easy with its built in functionality, and I knew I wouldn't learn much because I wouldn't need to solve too many problems. I immediately settled on Chess as a well defined game because as anyone who has worked with high level world based tools knows.
- Using any coordiante system for game logic not directly tied to render space is a pain
- Object and Game logic conflict requiring you to split things up
- State based animations and effects can be a pain
- A simple chess AI is a nice little work-out
So yeah I'm tinkering away with that at the moment. Slowly building more layers of complexity on top of it till I'm satisfied I know Unity well enough for a real project I have in mind.
Oh and if you asked why I'm writing a boring Pong / Tetris / Chess game to learn Unity when I could be making Cool Idea #63? The answer is simple always learn new tech with a pre-defined and tested design. Otherwise you will compromise the design to avoid problems rather than be forced to overcome them. The goal is to learn the tech not to make a super awesome game.