water power and trees!

Magical Elemental EGGS!

You are a stickman who has to escape the facility by using wit and these weird elemental power eggs... Sidescroller semi-RPG where you mutate to various elemental forms to get special abilities.

May include easter eggs to pay homage to famous video game characters. This is time dependent.

You can follow most of my antics on twitter once the competition starts. It will be much easier than the journal system.


Taught me all about PNG colour-correction
Presented by jerith

Give this entry an award


Ratings (show detail)

Overall: 2.2
Fun: 2
Production: 2.0
Innovation: 2.6

8% respondents marked the game as not working.
Respondents: 21


File Uploader Date
Final (unfinished) submission
Python Jedi 2011/09/17 13:31
demo 4, collision error somewhere
Python Jedi 2011/09/16 19:52
eggs and trees.png
water power and trees!
Python Jedi 2011/09/16 15:57
he is animatre.png
he is animatre!
Python Jedi 2011/09/15 21:42
demo 3, ragdoll needs help
Python Jedi 2011/09/15 15:52
ragdoll fun.png
First attempt...hmmm
Python Jedi 2011/09/15 14:32
New Demo!
Python Jedi 2011/09/14 14:12
does not work on Mac or Windows
Python Jedi 2011/09/13 20:33
vector movement!.png
Now with vectors!
Python Jedi 2011/09/13 14:43
Textures now!
Python Jedi 2011/09/12 17:11
first render.png
First Render!
Python Jedi 2011/09/12 15:17

Diary Entries

FYI: pre challenge game

Well it appears that I need to change my description.  I have spent the past week or so trying to make a raycasting engine in python, so I'll probably do something else for pyweek.  If I happen to make anything cool, you'll see it on pygame.org.  ATM it's not functioning, but I hope to have it running soon.

Add a comment

And so it begins...

Voting just opened up, I will not be saying what I voted for, but there was one theme that seemed to click rather easily, and another that wouldn't be too hard to do.  I'll write down my ideas in 1 paragraph apiece, so I don't forget them, and then forget about pyweek to focus on other tasks this week.  

 See you all in a week.
Python Jedi

Follow my progress on twitter

Add a comment

Murphy strikes again!

It appears that my normal tower computer has some serious bugs, the window manager (I use xfce on ubuntu) will not run, I'm searching for an answer since this has happened before.  but only 2 days before pyweek? really? ah well, good things come to those who work...

1 comment

And then he goes away

Murphy has been vanquished!  A brief search on ubuntuforums.org provides me with the solution!  all systems are go for launch!

1 comment

It's crazy, I know...

But I decided to create a game right before pyweek, I should probably be sleeping... nevertheless, coding sleeps for no one!  It's a simple run and gun, and use a multicolored ink gun to defeat monochrome enemies, releasing the land from it's monochomatic bondage.  stupid? most likely. simple? yes. easy to make? I have the engine skeleton in half an hour. fun? that's sort of the point... I'll continue my insanity on the morrow.

Add a comment

Prepare to drop: day 0.5

Oh boy... This will be fun.  I've got my plot lined up and basic class diagram set up.  Mercurial repository is initialized, gameplay mechanics are ready to be written out on the morrow, music is ready to be generated, fonts waiting to be found, graphics are forming in my mind, yup, sounds like many other pyweek first diaries I've read.  See my entry for basic idea.

Note: I will try to title each post with a line from my favorite game series: Halo! This is the name of the first level from H3: ODST.

Note 2: This is day 0.5 since UTC 00:00 is 8:00 P.M. here, and I don't really get a full day today (9/10/2011).  I put in 1.5 hours of work and .5 hours of reporting.  I will then add in .5 hours of preparing to go to bed and then sleep.

Keep coding!

Add a comment

They've always been faster...

You all simply amaze me, expecting to have a playable engine by tomorrow, I just have tons of text and empty classes, not to mention a rather complicated web of various objects, the essentials for creating the engine highlighted.  I managed to find a tutorial on making a ragdoll system, will use that and the gfxdraw library in pygame to do all of my animation frames for me, just need to define various positions and how to interpolate between them...  bug advantage of how I'm setting that section up is that I can allow characters to be dismembered when killed, making fighting very satisfying.  hordes of zombies + exploding fireball = zombie confetti!  I have a general Idea on how to do that, but I need to get my main loop complete and level loading and all that other stuff out of the way... *sigh*. taking a little break after committing, H:Reach firefight arcade? sounds like a stress reliever to me! (I'll be working plenty later on, but I spent all afternoon doing this)

Add a comment

I do know how to pick 'em...

The advantage of having your Tile class (Block in my case) subclass pygame.sprite.Sprite is that you can then use spritecollide with a sprite the size of the screen to get all of the sprites you need to render! It does raise some confusion about coordinates, but I think I can sort that out.

Add a comment

It's Working! (Anakin Skywalker)

I just got my first rendered level:

  I'll be adding textures next, and with my system of level saving, it should take minimal effort to code

Add a comment

I can haz texture?

(So it's not from the game, but it's from the community, sort of...)

I now have textures, and most of the time was spent making that super cool background!

Add a comment

I need a weapon: day 2

Actually, I need to figure out my physics.  I got my scrolling system done finally, and I think I can change one method and add one more in the level class to be able to call it complete.  I added a bunch of physics code to the player update function, but it had tons of problems and is a mess.  So now I'm going up two levels in the hierarchy and putting in vector physics and map collision there.  This will allow all moving objects to have the same system and automatic collision.  I'll be using the Vec2d class from the pygame cookbook to save time.  (this will make explosions much easier to code [insert manic laughter])  I'll be working for a while longer, but I needed a break and figured that I had made enough progress to warrant a day synopsis.  I do wonder if I'm posting too much... nah!

-Python Jedi

Add a comment

I think we're just getting started

Now you get to see who I've been using to test out all of these tests:
Considering to change to stick figures... saves on graphics, easy distinction, I think I will!

Note that atm, he is not animated, simply changes orientation

I think once I get the clipping errors fixed, I'll upload a demo, for the heck of it, I might even be the first to upload a .py file!

Add a comment

Was I wrong? The woes of collision detection

I don't know why it's so hard, but collision detection is being such a problem right now.  I had it working well except that you could walk into 1 block high areas... than I tried to fix that.  That's all I've done since about 9:15 this morning.  It's now 3PM and I am tired of messing around.  I'm guessing that it's because I'm trying to allow for entities of any size...  how do I get this to work?  I guess I'll limit myself to 1x1 block entities and 1x2 block characters... should help...


"How did they..." "get here first?": first playable upload

As I said I just uploaded my first playable.  All it is is my little stickman sliding about a rather simple and short level, but I felt like putting something up, since it works except that jumping up into blocks slides you right, no matter what... could use some ideas here.

It has come to my attention that this does not work on a mac, it reads one of the data values as -1, instead of whatever it should be.  I also noticed that I forgot some os.path calls, so windows users will need to change those.  

I'll start work on sprites in the meantime.


"A 'Latchkey' discovery": Day 3

After spending the majority of today fiddling about with the collision detection and one very annoying bug, I just realized that I coud solve my problem by not allowing the circumstances of the bug to happen, namely, don't use any platforms.  This will make it seem more like an RPG and I am fine with that.  It allows me to include more time for fixing projectiles (the other thing I worked on), frame animated entities, and ragdolls.  This is all going to be attempted tomorrow.  The next day will be UI and game mechanics (like respawning, moving between levels, actually mutating, etc), and the final full day will be creating all my assets that I have not done yet.  Saturday will be playtesting and tweaking, (I get to play a game for 12 hours straight and not get yelled at, sweet!)  I'm going to get some rest, because tomorrow is going to be a very busy day. (oh yeah, two quotes! I might explain all of them in a postmortem entry... than again, I might not)  

Side note: unless I can figure out a way to make bullets work, MC will not be making a cameo in my game, I myself might try to add in a cool god-mode easter egg, actually, that sounds perfect!  Then again, I just figured out how to do bullets in my head as I'm writing this.  How to portray him as a stick figure...

Add a comment

"get to work Noble!": Day 4-7 plan

Okay, Here's my plan for the rest of the week:

day 4: 
get ragdolls working (no dismemberment ATM, will be added given time)

get projectiles working (not being created... I'm looking into it)
add animated entities

create bullets that don't have trajectories
add in various abilities

day 5:
Add in UI, both HUD and menu
add between-level movement
add death as a possibility for player
add AI enemies, with simple movement
add saving

day 6:
create levels and tiles 
create music and get sounds

day 7:
first final upload
add in easter eggs
next final upload (if possible)

That should work, but I have 1 more day to finish the core engine... not liking that thought, but sitting here typing isn't helping that, expect frequent updates

Add a comment

"Thought we were goners, till you showed up": Thanks!

I have to give a big shout out to Eggfu, they mentioned that I need to interleave my position finding and collision checking, instead of doing one and then the other.  thank you so much!  I'll just get projectiles working, then do another, working, demo.

Add a comment

I don't do bits and pieces: demo 2

I'm having trouble with the projectiles, so I'm uploading the next demo.  I think I'll upload a demo each day until my final final.  that should help some with getting it playable.  In the meantime, I'll implement an idea I had to reduce memory, by having the tiles point to their image, instead of holding a copy.  this will require some major changes to low level objects, wish me luck!

Mac Note: Something goes wrong when loading levels on a Mac, not sure what it is, but the image that the level uses returns a -1 as a color value in the array2d, causing problems.  I don't have access to a mac, so I'll be working blind in trying to fix that.  


I have a new objective for you Chief: Redesign

After watching some stick figure animations, I had an idea pop into my head.  What if you have to escape from some facility (much like portal) and use elemental powerups to do so.  This removes all AI code, eases strain on tiling, reduces time spent on reworking .level files, adds simple objective, and the only thing I would need to add are switches and doors along with elemental powers.  all right then, let's do this!


There'll be another time: Day 5-7 plan

Now that I have scaled back my design, I think I can complete this game.  It may only have 6 levels (5 at absolute worst) but I can get it done.  I can also take this later on and make it into a platforming library, even a fully developed engine.  then all you need is a different res directory, or a launcher menu to select which folder to use... but I'm getting ahead of myself, what I need to do over the next three days:

day 5:
complete ragdoll (classes done, but some debugging and tweaking needs to happen)
add in animated tiles (need to use the same class as non-animated, but that's why I have such a nice tile system)
have tiles affect player (more attributes!)
add in player powers
add in doors and switches (doors are no big deal, and switches shouldn't be either)

day 6:
retile (redo all the tiles (might keep one or two...))
create levels, and level linking
add music, find sounds, add them (switch changing, door open/close, begin, you loose, etc)
if time permits: more levels, ladders, teleporters (big if)

day 7:
rinse, repeat

"Move people, the corps ain't payin' us by the hour!" I'm goin' full speed ahead!

Add a comment

"medic!": ragdoll progress

I'm having trouble with the ragdoll.  for one, I can't get the image to be transparent... that's a pygame thing. and the image flipping to follow direction of movement doesn't seem to work anymore... that's an error on my part in the player code, I think.  any advice is greatly appreciated if you happen to have the time.


for us, the war is over: animation: complete!

I got the animation system for my little stickman complete! it's a mess and not the best, but it's all I can do with the time I have.  I'm going to go ahead and make the animated tiles now

Add a comment

reunion tour: day 5 recap

Well I did not get all I was planning done, so tomorrow is going to be a bit of a rush.  I need to finish coding animated tiles, add in doors, add in switches, add in powers, add in trees, add in wool (don't ask, it'll make sense in the level), add in level finish, put in text entities (for in-game instructions), animate (walking, jumping, falling, activating, wow, I need a lot of time for those... not good), make 6 levels, finish tiling (haven't totally completed)

This will most definitely run into saturday.  Good thing is that the levels will likely be stupidly easy so I don't have to worry about that.

Wish me luck!

Add a comment

Once more unto the breach: collision errors

It's official, I hate making collision detection.  I'm going to try and rewrite it for the 6th time this pyweek (yes, I've kept count) but not before uploading a demo.  press "r" to respawn  at the green portal thingy.  press "z" to use the ability (air doesn't have one because making it caused this little catastrophe)  I'll be back after cleaning up my code (turning Entity and Character into the Player class so that it's simpler to manage) and then fixing this problem.


Wake me, when you need me: final submission

I've slaved over this project for a week, time to call it for now.  It is playable, but there's no objective, and tons of bugs.  toss any fix ideas my way, and I'll look into creating a better version on pygame.org soon.

and now for an emotion filled closing...

This is an unfinished game.  My apologies to those who were looking forward to a full game, I had no chance of making a full platformer from scratch.  I will continue development at some point in the future, but for right now, this is all that I can do.  Thanks goes to Eggfu, for helping with a collision problem, and to saluk, for reminding me to create the ragdoll background with pygame.SRCALPHA.  Thanks also to Richard for making this competition possible.  I submit in peace since I know that this is the closest I've gotten to a complete game ever.  Thanks again, and congrats to the winner!