Snake. Version 0.1 - it's almost a game. |
What I did manage to get done was all the basic parts of the game except for the actual snake. I have a dot that goes around the world and can hit another dot that gives the player a point. This is mostly the point of snake, but right now my snake can't grow a tail.
Building the game in Processing.org was interesting. Processing is designed for non-expert programmers to be able to develop animations and interactions. It based on Java, but has a limited set of the java utility libraries (although it does allow for other libraries to be added). The java basis is convenient because that's the language I've done most of my development in so far, however not having things such as queues makes things (such as the tail of the snake) harder to implement.
Even though I haven't finished the tail of the snake, it's interesting to note that the game already has the feeling of snake. The controls have a slight delay (because the movement of the snake is not linked to key presses) which feels very similar to most of the other implementations I've played in the past. I actually find this somewhat frustrating, since it causes you to have less control than you might. In the implementation I finished a while ago (and then deleted somehow) I implemented the control differently (I think I had the snake move on the key press regardless of its speed) and this made the game much more controllable and less frustrating.
Since I didn't get everything done in the last phase, I'm going to start my next phase by finishing getting the snake's tail running. I also want to implement the move-on-key-press control system and a way to switch between the two so there are traditional and "comfortable" modes. I also want to put in some of the "game" functionality, including a start screen, a pause screen and an on screen score / level system.
It's come back into the semester and sadly I still have one class left to complete in my PhD, so this can't be a high priority for the next few months. I don't think it will take a lot of time to finish but I want to do a good job so I can have it in a state where other folks can play it, so the balance of all that I'll end this phase on October 14, 2012.