Final notesCelldoku 1.9 Final Submission
- - Can't unzip with 7Zip
- - Graphical Errors on Mac OSX
Okay well its the end of pyweek and I feel its my second success. It was a success for me as a solo programmer because I was able to create something that some have considered entertaining while retaining a high level of polish.
Taking what I learned from my first pyweek and my development with DROID_ on Murmel I tried to set out a strategy that would allow me to at least get a full game submitted by the end.
For me this strategy included a few key points:
- * Stay away from math intensive games -I am not good at collision detecton or math in general so I needed something that wouldn't require too much of that.
- * Create a level editor the first day - Last pyweek, DR0ID_ and I spent the majority of the week working out a very nice engine for our game. We made sure that the classes made sense and that we had good interfaces. However by the time we finished making this engine we ran out of time for a level editor. While the level editor /did/ get finished there were errors and bugs that we struggled with down to the very last minutes. Oh man there were so many MD5 hashes...
- * Get fydo to be my artist - Fydo is a magician. His art is incredibly enjoyable it is probably the biggest asset this game has. My instincts were correct and fydo pulled through will some really great art for this game. Thank you thank you thank you.
A few things I learned this pyweek are:
pyglet is really nice. I can't say that I could really ask for more than what pyglet is offering. The ease in which I could make Celldoku while knowing its all OpenGL in the backend and that I can even use OpenGL anywhere when I was was clutch.
The only thing I really want from pyglet that it doesn't have at the moment is Sound. But as Richard explained its not particularly pyglet's fault, AVBin is just the best available option at this point.
After pyweek started I learned about Cocos a library built ontop of Pyglet which supports the organization of your game into mini-apps called Scenes. This is actually how I like to set my game up anyway and is how Celldoku is implemented.
Basically I use the pyglet window as my engine class. I install various "Manager" classes into the engine class and then make it global. Using pyglet event stacks I switch which scene is running with pushing and popping scenes around. This makes it extremely easy to implement small specialized scenes that use global assets available in the engine. I'm excited to use Cocos because I'm sure they are doing it oh so much better than I am.
Special thanks go to:
Ironfroggy from freenode. He was originally going to be a teamate for this pyweek and Celldoku is really spawned from the talks about a game based off Cellular Automata with him.
ajhager from freenode. When I can't figure something out, ajhager was there to give me a specifically crafted demo to show me how t do what I was trying or explain it in some other way. Thanks guy.
Hope everyone had fun, I know I did. Don't worry if you can't beat Celldoku, its really hard.