Skip to main content

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/

Comments

Popular posts from this blog

Vehicle Physics (Godot 2D)

I've always been fascinated with the vehicle physics used in games. I played so many racing games / the hill climb games and every single time i would wonder wow that must be really hard to do. Thanks to the new generation of game development tools, developing physics based games has become almost a second nature to most people. I didn't want to be left out so i gave it a shot.. I tried setting up vehicle physics in GoDot Engine for a 2D vehicle. Here is what the vehicle scene looks like.. 2D vehicle setup in GoDot As you can see the body collision shape is not right but the rest of the stuff just works. The idea is simple think of what parts move along with the body vs what doesn't. I was kinda stuck setting up the pinJoint2D in GoDot, it actually clearly takes two nodes under the properties. This makes sure that the wheels are hinged to the DampingSpring2D. The Damping Spring2D takes two physics bodies(Body and the PinJoint2D) and makes it work like shock ab

Epic Games Store on Steam Deck

EGS ( Epic Games Store ) like it or hate it, has been giving away free games and if you like free games you would have picked up atleast a couple of them. So given that some of those games are Deck Verified / Playable, its fair to assume you would like to install the EGS on the Deck.  Installing EGS on Steam Deck Switch to Desktop Mode on your Steam Deck Download the EGS installer for windows from the Epic Store website: https://store.epicgames.com/en-US/download (using your web browser of choice)      Open Steam in the desktop mode and add the installer as a non-steam game                                In the browse window, switch from .desktop files to All files. Select EpicInstaller-xxx.msi and add it to steam library. Find EpicInstaller in your steam library and open its' properties by hitting the "Gear" icon on the right side of game details page. Set the proton compatibility to latest one. Now hit the play button and go through the install screens of EGS.  Once t

Flash animations in GoDot Engine

If you have not heard about GoDot game engine,.. you should check it out right away.. godotengine.org Last time, i wrote a blog post about my experience making a simple physics game to GoDot Engine. Though there are a bunch of free options announced during the GDC this year, i thought ill' contribute to the engine. The one piece that is most important for game dev is the pipeline for the engine. One of the most common tools used for 2D animations is Flash. I have been using a library called Super Animation for almost all the games we've made for android at TMG. It's  a  free tool which lets you convert swf files to .sam files. This file can then be loaded in Cocos2Dx using the Open source loader library  https://github.com/raymondlu/super-animation-samples I thought it would be a good idea to port this cpp library to GoDot so that i understand how to write custom modules for the engine. This is the video of the module in action. I have exposed