Skip to main content


You're a Ninja in the city. Run!


My entry for PyWeek 15.

The download includes the source code, as well as a directory containing a Windows executable.

Instructions on launching the game from source can be found in the README.

Instructions on how to play can be accessed by selecting "Help" in the main menu.




Home Page


Run! 1.0 — 16 Sep, 2012 account Comments

  • koolninja 2012-09-17 21:24:17

    its fun

    Llortus 2012-09-18 00:14:28

    Thanks! If you have any suggestions, feel free to let me know!

  • Angello Maggio 2012-09-20 00:26:07

    Cool game dude! Really fun and enjoyable. Now if you want some tips I would say change the controllers. Space for jump is cool but one for shuriken is too far from the space bar, i had to use thumb and pinky together, a little bit uncomfortable.
    Also you can make it more fun by using the mouse to aim and shoot the shurikens! Good luck

    Llortus 2012-09-20 18:42:05

    Very good advice! I had considered that it might be a bit uncomfortable, but just stuck with it due to lack of feedback. I think that it might have stemmed from my time with MMOs.

    I really like the mouse aiming idea, and will definitely look into that!

    George 2015-08-23 08:55:22

    good idea.

  • berlian 2012-09-26 05:09:14

    how to download O_Oa ?????

    Llortus 2012-09-26 12:39:27


    You can download the game from this link:

    You will require the dependencies if you're running the game from source. There is an executable included in the download, just be sure to unzip it, or else it will not run.

  • Victor 2012-09-26 10:20:38

    That is a great job
    As I am new at pygame, I had a look into your code.
    I do not really understand what state file is really for ?
    Did you follow a tutorial ?
    Could you provide me explanations ?

    Thanks in advance,


    Llortus 2012-09-26 12:56:02

    Hey Victor, thanks for the compliments! includes the finite-state machine (FSM) implementation, as well as the base State class that other classes representing some kind of "state" must derive from.

    The StateMachine processes methods for the current state that is active for whatever entity it is attached to, including checking if the current state needs to exit (State.reason()) and move to another state. There can be multiple state machines (one for each entity), and multiple states.

    If you look at my source, and start at, you'll see that the game has a state machine that loads the title screen, and game, and calls update() on them repeatedly - Title and Game are both states. If you then look at update() in the StateMachine implementation, you'll see that all it really does is process data for the currently loaded state, or change states if certain conditions are met.

    I did not follow a specific tutorial for this. I picked it up by talking to other Pygame programmers, and went from there. You can learn more about state machines by simply Googling "state machine", and digging around.

  • raww 2012-10-12 05:41:46

    Fun,simple game. Fast speed platform jumping made the game enjoyable to me.

    Llortus 2012-10-19 14:44:07


  • lalala 2012-12-19 06:32:44

    Hello! just curious, is it possible to convert games like these to .apk so that it can run on android devices?

    Llortus 2013-01-26 00:03:21

    Hey! Unfortunately, I'm not familiar with the .apk format, or the process of building one. I'll definitely look into this at some point, and keep it in mind on future projects.


  • Jakub Pavlík 2013-01-20 16:33:58

    I would like to have the possibility to make the game speed lower. Currently it makes my eyes hurt soon after I start playing.

    Llortus 2013-01-26 00:02:25

    Thank you for the feedback! I will definitely put this on my list of things to look into should I do more work on this project, as well as keep it in mind on future projects.

  • michailgames 2013-02-18 01:13:37

    Good game! Reminds me some old ninja game for Pegasus, it was called The Legend of Kage or something like that :) One thing I would change about it is the jump process (could be more physic-like and predictable, I mean the vertical speed could change smoothly instead of going up and down with constant speed)

  • jak 2013-03-15 14:39:20

    you should improve the sprites and the jump mechanism, 4 example using a variabile like y = y * 0.2

  • Om Prakash 2014-02-11 08:24:22

    Hi, I have downloaded the game from
    Now how to run it?
    I am using linux (ubuntu).

  • John Sanders 2014-12-21 23:41:09

    Wasn't sure if this was considered open source or not? Anyways I have a bit of code done that could actually save the high scores even after the games was closed, would you want to see it?

  • George 2015-08-23 08:54:15

    how do I see the instructions