Skip to main content

Transporter at Pyweek2



I had done a lot of thinking about whether i would take part in pyweek2 challenge or not.. but then.. i wanted to see if i could really pull it off i actually never had a chance to write a whole game all by myself .. i was always teamed up with somebody or the other.. so here was a chance to see what i really could do.. :). The themes for this time were very good.
  • Somebody else's trash
  • It runs on steam
  • Mind the gap
  • A fraction too much friction
And finally the theme selected after polling was "It runs on steam".. I did not expect this theme to be selected and did not think much about it.. but then.. finally i could come up with a good idea for the theme.. It goes something like this.. You are an upcoming smuggler.. you are unique because you have a steam powered robot which can be used for doing the job. Since there are many competetors in this business.. you are put through a series of challenges... which you have to complete to get the job.
With this basic idea... i started off writing the game.. first wrote a simple editor.. for creating the maps.. from my experience in the past games.. it has always been the map generation that was problematic for me.. so i wrote the map editor first.. and then started off with the renderer... I did not want to complicate things in the rendering engine.. so made the camera position kinda constant with a limited movement. The one week of development.. actually (5 days + 10 hours to be precise) was really awesome.. i did not know i could work so much :)) any way...

i first tried loading the map with some cubes instead of actual 3D models.. and then the art work started.. That was most frustrating part of all... I had to spend hours and hours together just to get one texture right.. and to apply it to the models. It was fun though.. making models and textures from scratch and using them. Any way I was pretty impressed with the final output. Then came the problem of ai to the cops... I had to break my head over that issue for about 2 days.. i did not know how to manage it.... the algo had to be fast.. coz it had to be called after each frame render. So did some basic city block distance based algorithm :) it worked pretty good.
The menu screen was another head breaker.. to render 3D or just a texture... finally stuck with just the texturing.. since i did not want to spend much time on that :) well rendered the screen using povray. One more astonishing thing this time was that i had to write every thing on windows.. coz of the new graphics card... which did not have linux drivers. I could not get to check the game on linux and hence the obvious mistake of putting upper case for data files names.. and loading them with lower case names.. :(( this caused a problem for one of the peers who was testing the game on linux :( I just hope ill' be in the top three atleast this time.. You can download the binary of the game for windows from Here . You can download the source from Here.

Comments

Unknown said…
Seriously dude the game rocked. But the whole theif and smuggler story looks very wierd. Just kidding.
I Wish you win the prize this time, All the best.

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