2nd level of the game

Johnny saves the world

Johnny is a little boy that has to save the world, using only his programmable robot — the problem is, he has to learn more about programming as he goes!

Awards

Give this entry an award

Scores

Ratings (show detail)

Overall: 2.6
Fun: 2.1
Production: 2.5
Innovation: 3.2

5% respondents marked the game as not working.
Respondents: 19

Files

File Uploader Date
johnny_saves_the_world-4.zipfinal
Working version, still w/o sound.
roberto 2008/04/05 17:41
Screenshot-run_game.py.png
2nd level of the game
roberto 2008/04/05 00:18

Diary Entries

Ideas

I'm really excited about my second pyweek... while I can hardly wait for it to start, I'm also worried because the last pyweek was a complete lost my work -- I could hardly concentrate on my work, since I kept thinking about my game and how to implement all the ideas I still had to implement. :-)

This time I'm planning to do a 3D game, using pyglet... thought panda3d also looks interesting. I'd like to do something involving either robots or space ships, but let's see (in less than an hour!) what the possible themes will be first.

Anyway, good luck to us all! :)

Add a comment

Finally an idea!

I haven't even started yet, since my girlfriend defended her Master's yesterday. Today I finally had a nice idea, and I should get it started tonight.

I agree that the "robot" theme is too unrestrictive, so I wanted to make a game that was deeply connected to robotics. My first idea was to do something based on the 3 laws of robotics, like walking through a level without getting hurt and without letting humans get hurt, but I wasn't very excited with this.

So, my plan now is to make a game called "Johnny saves the world". It's about a boy, Johnny, who has to (surprise) save the world. He accomplishes this using his personal robot, which has to be programmed to navigate throught a maze. The programming is made using a stack programming language, with tokens that have to be collected in order to build more complex programs.

The game is not unlike my entry for the last pyweek, Galvinball, in which the player could create new rules for the game on the fly. I like to be able to play my own games, so I try to create game mechanics that are open-ended, where the solutions aren't "hard coded". Let's see how this one goes.

4 comments

Progress

This morning I implemented a simple stack-based programming language (similar to Postscript/Forth) to control my robot. To move the robot 100 pixels to the right, for example, you could write the program:

100 0 MOVE

My idea is to allow the robot to capture tokens in the maze, and push them into its stack. The input will be limited in size, so you could write the following program:

100 0 MOVE 100 MOVE

The robot starts moving to the left (100 0 MOVE), so that the input is now:

100 MOVE

This is not enough for the robot to move, since the stack is now empty. But if the robot passed over a 100, it would be added to the stack, allowing the intruction 100 100 MOVE to be run.

I hope I can finish this basic physics today, and focus on some levels tomorrow. Then art on friday and finish it on saturday! :)

5 comments

Argh!

Always. Do. A. Backup.

7 comments

Going well

I finished my game interface -- I had to spend a lot of time learning pyglet and cocos, which I had never used before. Tomorrow I will work on designing the levels and polishing the interface a little bit, and saturday I hope to have some free time to improve the graphics and add some music and sound effects.

Expect a first release tomorrow! ;)

Add a comment

First release...

I have the game working with a single level. Now I just need to create 9 progressively harder levels and add sound! :)

Add a comment

Sound and music...

Does anyone have an example showing how to play mp3s with pyglet (even better, with cocos)? I'm stuck and my game is without sound. :-/

1 comment

Walkthrough

I forgot to add the SOLUTIONS.txt file to my zip. Here it is, rot13d:

Gurfr ner zl fbyhgvbaf gb rnpu yriry -- bgure fbyhgvbaf znl rkvfg, gubhtu.

  1. 7 0 ZBIR ZBIR
  2. 4 1 1 ZBIR CBC ZBIR (be 4 1 1 ZBIR EBYY ZBIR)
  3. 0 2 ZBIR ZBIR FHO -4 ZBIR ZBIR
  4. -4 0 4 0 3 0 ZBIR ERCRNG
  5. 0 4 ZBIR -1 ZBIR

Add a comment