Monday, April 05, 2010

PyWeek10

After ive' worked on developing a couple of puzzle games, i've started getting this weird idea that it would be nice to integrate these small puzzle games into some kind of adventure game, where solving the puzzle opens a door/passage etc. I was also thinking about how to dynamically generate a road for a racing game or just a track kinda thing. So when i saw the pyweek10 announcement.. i jumped on.. i wasn't sure if i'd be able to make time to complete my entry but i managed to pull some night outs and completed it in about 4 days or so.

The themes this time were "Eleven", "Rose", "Wibbly-Wobble", "Canine" and "ScrewDriver" check out the actual stats here. As soon as these themes, i started thinking about what features i wanted to implement in the game and i also had to think about a story which would use/include all the mentioned themes. Here are the features i wanted to have at first.
  • Use the 3danim experience i.e, use the new keyframe animation format i have created.
  • Make the game in 3D
  • No Side Scrolling platformer.
  • Have to be something different.
well have to be something different isn't as easy as it sounds.. because every idea that kept dawning on me had been done before.. so finally i settled for a 3d platformer kind of thing. This was very straight forward for me, i just had to have a map rendering and everything else would just fall in place oh and i wanted to use absolute values of xyz instead of having to calculate the relative coords from world coords etc to avoid confusion.

The first thing i started working on was to port the 3danim code to python from c. This was easier than i thought and once i got the basic model loading and rendering done in python, i knew i was going to complete the game with what ever requirements i had in mind.

Almost 3 days into the competition, i realized there wasn't enough flair / awe factor in the game i had created.. to keep pushing the player to complete the game. I knew i had to put in some thing unique in there to make it stand out.. i wasn't happy with the way the game play varied. While thinking on those lines, i came across an interesting piece of documentation in pyglet, which said we can save a screenshot of the rendering.. .. that was it.. it sparked a whole puzzle game idea thing, where you had to solve 5 puzzles to win the game. So i quickly put together the code for a simple jigsaw puzzle in a separate python file and later integrated it into the main game.

I enjoyed this part because it was the first time i tried anything like this. I quickly created a bouncy block to indicate that this is something to catch/ pickup and launched the puzzle game as soon as the user touches it.
Though i did not get time to polish the game to the extent i wanted to.. the 3d platforming part looks pretty and the puzzle gameplay works. I just hope people enjoy playing the game. :)
http://pyweek.org/e/ThEdA_P10/
Post a Comment