Urban Ninja final screenshot

Urban Ninja

You are a cyber-ninja hired to infiltrate a secret base and recover the secret files hidden within. Activate each control panel to advance to the next stage. And remember, true high scores are made by quick times, killing all the enemies, and retrieving all hidden items. I am the only member of my team (all the art,code,etc. has been done by me. Sounds were freeware from flashkit.com)


Give this entry an award


Ratings (show detail)

Overall: 3.1
Fun: 3.1
Production: 3.4
Innovation: 2.7

Respondents: 33


File Uploader Date
Urban Ninja final screenshot
Cthulhu32 2006/09/10 00:29
Urban Ninja Final (thanks Richard!)
Cthulhu32 2006/09/10 00:28
PyWeek3!! Richard suggested we upload a final just in case, so here it is.
Cthulhu32 2006/09/09 22:12
Beta 0.5
Cthulhu32 2006/09/08 23:31
Progress of Urban Ninja so far
Cthulhu32 2006/09/08 09:07
Beta 0.4
Cthulhu32 2006/09/08 09:07
Urban Ninja beta 0.3, working transporters, control boxes, exit turns on, sound, lights turn on when you hit a control box, AI is really stupid but it looks alright. Still need to rework all the animations, redo the gates, add more enemies, etc.
Cthulhu32 2006/09/07 22:55
Urban Ninja beta 0.3
Cthulhu32 2006/09/07 22:54
next beta
Cthulhu32 2006/09/07 16:54
First Urban ninja beta
Cthulhu32 2006/09/07 00:03
Late night ninja animation, I will HAVE to redo this one... sheesh
Cthulhu32 2006/09/06 09:25
Its WAY too late, and I've been wrestling this stupid ninja animation forever. But here's a little snappy showing the level loading working, our cyberninja hero, and nothing interactive besides moving the player back and forth across the screen.
Cthulhu32 2006/09/06 09:24
Ninja standing, just seeing if people like it.
Cthulhu32 2006/09/06 06:57
Here is a screen as of 10:46pm on my desktop.
Cthulhu32 2006/09/06 05:44
This is a PROTOTYPE, yes the guy is Ninja Gaiden, and no my final game won't look like this. But it was just testing some things at work.
Cthulhu32 2006/09/05 22:56

Diary Entries

Hopefully I will place better this year

After placing last in last years PyWeek1 for submitting a very small demo :) this year looks MUCH more promising. I have a whole crap load more experience programming under my belt, A LOT more free time, and inspiration to see if I can get my game in the top 5 (whew, that'd be a miracle)

I am really liking a lot of the PyWeek2 entries, the boat on the water is very cool! The author even linked to the pixel-perfect piece of code used in the game, which means major plus for me (pixel-perfect collision has always been a sore spot.)

Good luck to everyone, I can't wait to see the list of possible themes!


Ideas, Ideas...

So the contest started yesterday (Sat) at 5pm for me. Now its Sunday afternoon, I slept on it, and I am still not entirely sure on which idea I am going to stick with.

I was sketching up some thoughts, and I've got Ninja Training, Hack & Disappear, and a cool Snipe/Find Items that I got the main character drawn up for.

Ninja Training - You're a ninja in training who has to get through various rigorous training exercises, until you finally have to learn to truly disappear.

Hack & Dissapear - a gauntlet style open up a box, avoid and destroy the robots that are coming after you, get the required data files, and leave through the exit.

Snipe/Find Items - you have different levels in a building, and you must hide while sniping enemies. You collect certain items from sniping certain enemies, but you have to avoid getting detected after firing!

I still have more ideas floating around, but "Disappearing Act" is a bizarre theme that I was not expecting.

Add a comment

Prototyping and Time Analyzing

So I'm bored at work, doing a few tests on some prototyping stuff such as the transparent lamp stuff. I can randomly create lamps all over the shadow plain, add items, and place the ninja on different layers.

Just a note on the screenshot, the ninja is the sprite rip from Ninja Gaiden, YES its copyright, and YES I am going to remove it 100% on the next screenshot. I'm just at work and I wanted a placeholder.

Add a comment

Its late, I'm tired of art

Its winding down to about 2:30 AM, I've been working on my pygame since about 8 or so pm, so I think I took a good chunk out of it. At least I know EXACTLY how I want the game to be played now.

I started on redoing the ninja so he's now a cool super cyber ninja

but then I tried to do a full walking animation and its turning out to be a challenge. You can tell how tired I am by the fact that each frame gets messier :)

Oh well, a lot of fixing to be done. If you want to see what my screen looked like about 10:45pm last night, check out http://media.pyweek.org/dl/3/Cthulhu32/currentscreen_9-5.jpg

Ok, enough diary, sleep time.


Gotta make a checklist

Alright, I gotta get organized and make a checklist or this thing is not going to get done!

  • Finish Player Artwork
  • Create Classes & Interactive Code for Level Objects
  • Finish Player Interactivity Code, attack, action, hurt, etc.
  • Create Enemy Graphics
  • Place a score/menu/life at top
  • Give Enemies Interactivity with player
  • Give Enemies AI
  • Play Test!!
  • Enhance AI, add Extras
  • Create Menu, Add Music, Extra Work

Add a comment

Pre pre beta

Here is a really early beta showing the ninja running around.

Urban Ninja Beta 9/6 at 15:32

The keyboard layout:
  • Left - Move left
  • Right - Move right
  • Up - Activate warp


Well not a total waste

So its getting down to that crunch time of the week. I have to drive to Oregon tomorrow after work to stay w/ my fiance, so I'm starting to doubt if this thing is going to be finished as much as I'd like :(

However, I did figure out how to do bullets and projectiles, plus other cool effects like muzzle flash! I put the latest beta up, its pretty cool so far. I am really digging the overall feel.

Urban Ninja Beta 0.04
Key Controls for Beta 0.04 -

Up -             Activate Objects
Left & Right -   Move
A -              Switch Between Aim and Walk
Space -          Shoot in Aim mode

Add a comment

The Final Plan..

Ok, its really coming down to the wire! 14 hours left!!?! This week has been a really really good programming exercise and I've had a lot of fun. Wrap up comments and look backs will come when I'm not in crunch mode :)

Now that its 2:40 AM PST, I really gotta get my game plan together if I'm going to pull this thing off. My awesome fiance is pushing me to finish it, and she's like "SET AN ALARM" and all urging me to get it done. W00t.

The Final Plan
  • Add Dog Enemy
  • (Optional) Add Stronger Enemy
  • Fix All Animations (time consuming)
  • Add Splash Screens
  • Add Top Bar UI for ingame
  • (additional UI) Add score, time, health, lives, and make sure to add them up at the end of the level.
  • Add Damage for Player
  • Add Death and Restart for Player
  • Add Maps (if extra time, make a random map creator for endless mode)
  • (extra time) Change Warp Tunnels to color code each other
  • (extra time?!) Add High Score

Now if I can't go to sleep, I need to be working, otherwise its 10 AM alarm, breakfast, then finish all things on the checklist!


ATTENTION: last minute fixes :/

So my game worked great on my platform, but thanks to Phil^ I have discovered I had ONE name bug still. So here are the three bugs you'll need to change if you want the game to be 100% playable on all platforms.
Three Bug Fixes
  • Rename Data/overLay1.gif to Data/overlay1.gif
  • Change line 142 in main.py from currentTime = 10 to currentTime = 150
  • Change Level2.txt to

If you do not want to vote on it because you do not believe in after-deadline fixes like this, no worries :) I just thought it'd be nice to give it out there. I'll also work on a post-compo version.

1 comment

I have achieved my goal! Level fix in extended...

Sweeeet, saw the ratings an hour ago and I reached my goal!!! At least 5th place was what I was going for and I got it on the dot. If I would have fixed that name bug I would have achieved 4th as two people gave me 1 1 1's for that, which is fair. I also didn't fix those stupid level bugs, everyone I'm sorry those dogs were impossible when on top of portals. That was a huge bug on my part!

I'm planning on increasing a lot of things on this game including improved gameplay, better AI, MORE AI, animations for all enemy characters, improved swords, better detail how to block the bullets with your sword, all that good stuff. Plus bosses and more levels!

Level Pack (to fix those annoying portals)

This will fix all the portal & ladder problems, its VERY beatable. My high score is somewhere around 37,000. Remember when you use your shield you get more points, and you can stop from getting hit by bullets.

1 comment


So its a few days after the contest, I'm very happy getting 5th place, but mad at myself for leaving that name bug in (would have put me up to 4th place at least without it.)

I had a really good time with this contest. Everyone on #pyweek was entertaining to chat with, lots of good discussions and helping ideas for my game. I was happy to see my input got into Richards game (digging to avoid the farmer! :) )

Overall Progress
I made A LOT of progress from where I stood as a programmer and a game developer last year. I ranked last on everything but production last year, and made a personal goal to get at least 5th place. Writing this game I learned so much about not only coding, but how I code and my quick and dirty insane style. There were so many cool things I learned over the course of pyweek.

Overall Coding
Even now I can see how my code is going to improve in the future. I had never created a "reaction" style game like this where objects within a map have to react with other objects. So for instance, I had to have the bullets check to see if they had collided with the player's sprite box, so I had to grab how much damage the bullet would do and pass it onto my player. Then my player had to make sure to update based on that.
My python/pygame coding has improved ten-fold. I learned how to actually seperate classes into different files, organize my code, use imports to save my ass. Still need to learn something about debugging.

Overall Artwork
Crap my sprite style is improving! I haven't done any 2D art in forever, so getting all those little baddies was very fun. The problem is I spend way too much time having fun drawing the little 2d sprites. I was going to have lots of animations but ran out of time. I made the dogs the night before.

Last thoughts
This contest was a blast. Drawing, coding, planning, chatting, more coding, last minute insanity. Great stuff! I was working down to the last 5 minutes (which Richard wasn't too happy about, but thankfully opened up my uploads agai n after the timer.)
The people here were awesome, it was so cool to see everyone's betas. I know this is going to be great if I actually apply for a game job here in Seattle. I would love to do another one of these as long as I have the time to do it (not during college finals.) LD48 is still a bit too intimidating for me, but I'd love another pyweek. Maybe a christmas style one?

YES! I will be working on a post release, a lot of it is going to be making new enemies, improving AI, add A LOT more animations, fix the gameplay a bit, add more weapons, fix the shadows so they don't slow down the program, fix the teleporters so you know where you're going to go (maybe make them glow when you're over one), LOTS of other ideas. If anyone wants to throw out comments/suggestions for my game feel free, I'd love to hear em.

Thanks again Richard for hosting this, and everyone else for judging my game!