August 19th-22nd 2011 :: Theme: Escape
[ Summary | Compo Top 50 | Jam Top 50 | Top 25 Categories | View All (599) ]

Back to Browse Entries

Escape from the elemental maze

by triorph - 48 Hour Competition Entry

You are a ball of plasma trapped in an elemental maze. As you explore you can find different elemental modes to aid you in escaping unscathed from the numerous monsters out to get you.

Keys:
Arrow keys: movement
Esc: Exit
1 - raw mode (default mode. Gives you more health)
2 - light mode (enemies notice you more, but after 5 seconds you get path finding to nearby objects of interest)
3 - plant mode (slower movement but decreased damage from enemies and increased health regen)
4 - lightning mode (take damage over time but damage nearby enemies)
5 - water mode (enemies lose all friction and have worse control (doesn't work well, don't use))
6 - shadow mode (enemies less likely to notice you, but you take more damage)
7 - air mode (you move a lot faster, but are extremely vulnerable to damage)

Tested in both linux and windows. You need python2.6 (or greater but not 3.0), pygame and python_openGL to run.

Can download pygame installer for windows easily, but I found for pyOpenGL I had to download setuptools and run from the command line

To run the game, just run the "elemental_escape.py" file.

c:\python26\scripts\easy_install.exe PyOpenGL PyOpenGL-accelerate

Known issues:
-Framerate is quite low (I think due to locking inefficiencies between movement and drawing threads)
-Water mode allows monster to go very fast due to poor drag model.
-Sometimes you (and monsters) can cut through the walls at their ends (not a big deal but not perfect)
- breadth first search for path-finding (light mode) is inefficient. Maximum path-size is probably a good idea so the light-mode only checks for nearby items.

ToDo:
- Text to the screen for detailing keys to use, powers from the modes, that you've won the game, or lost the game, etc.
- Better graphics (including animations), sound.
- More than one kind of enemy, more interesting escape from them.

Tips on playing the game:
- Monsters are less agile than you are. If you quickly dodge them effectively they can't find you.
- You always start in the bottom-left of the maze, and the exit is always at the top-right of the maze.

Also just a warning: I should've said this earlier so sorry to those who put the effort in and were disappointed. I did this game in very little time and I'm not really very experienced in game programming. The main problem is that I got it working and then didn't tweak it to be actually fun. So this game isn't really very good and I am aware of this. Only download if you're willing to try a not so good game and give it the rating it deserves.

Downloads and Links


Ratings

#371Audio1.00
#418Coolness0%
#466Humor1.00
#487Graphics1.29
#495Fun1.29
#496Theme1.43
#499Overall1.29
#499Innovation1.29
#529Community1.00

Comments

triorph says ...
Aug 21, 2011 @ 11:33pm

Whoops. I said tested only in python meant tested only in linux.

Amadeus says ...
Aug 23, 2011 @ 4:36am

Are your files still hosted? I am getting a could not connect message trying to download your game.

Shigor says ...
Aug 23, 2011 @ 10:36am

Can't download too...

Aug 24, 2011 @ 3:35am

couldn't download either :-/

lilserf says ...
Aug 24, 2011 @ 4:00am

Yup, can't download.

Shigor says ...
Aug 24, 2011 @ 6:12pm

After I went through a lot of trouble to get python and all dependencies running on windows I found it wasn't worth my time. This is one of the worst entries I've tried.

triorph says ...
Aug 24, 2011 @ 8:30pm

Sorry Server went down. Should be up now.

tcstyle says ...
Aug 25, 2011 @ 6:34pm

A pity I haven't figured out to start it yet. Have to check the pyopengl lib again.
Have you tried building a windows exe with py2exe or similar?

kevglass says ...
Aug 26, 2011 @ 1:35pm

Download still failed for me. Server is up atm?

Cosmologicon says ...
Aug 28, 2011 @ 6:20am

Sorry, this is unplayably slow for me. It looks like around 1 fps, and the collision detection completely fails, so it jumps between inside and outside of the maze.

Based on the appearance of the graphics, there's no reason it should be anywhere near that choppy. I haven't looked at your source, but I don't think you should have separate threads for moving and drawing. I think pyOpenGL might be overkill for this. Maybe a regular old pygame game would be good for next time, if you decide to use pygame again.

Anyway, I'm not frustrated. This is Ludum Dare after all. :)

ExciteMike says ...
Aug 28, 2011 @ 9:49pm

I strongly recommend using py2exe to package games up for a windows release!

demonpants says ...
Aug 29, 2011 @ 8:08pm

Can someone tell me why Python devs are so against making executables? I am not a python dev, so I don't know what I need to get this to run. No instructions of any kind... You've got the least ratings of any of 699 games right now, and this is why.

ExciteMike says ...
Aug 30, 2011 @ 2:45am

Well, I got it to run, but with it constantly jerking back and forth and having such a poor framerate, I couldn't stand to play it for very long :( Congrats on getting something mostly working, though!

I tried to make an exe using py2exe, but it's having a couple of problems I don't really understand.

Mjiig says ...
Aug 30, 2011 @ 6:32pm

Server is down for me right now I'm afraid. I can't test the game if i can't get it :(

summaky says ...
Sep 4, 2011 @ 12:43pm

I can't play it under Linux. It shows the window but shortly afterwards it crashes with the following traceback:


File "elemental_escape.py", line 203, in <module>
game = escape_game()
File "/tmp/engine.py", line 36, in __init__
self.after_init()
File "elemental_escape.py", line 17, in after_init
self.texture_set.load('air')
File "/tmp/gl_sprite.py", line 89, in load
self.textures[texname] = texture(texname, texappend)
File "/tmp/gl_sprite.py", line 24, in __init__
self.load_texture_image(texname, texappend)
File "/tmp/gl_sprite.py", line 51, in load_texture_image
self.texture, self.width, self.height = self.loadImage(filename)
File "/tmp/gl_sprite.py", line 43, in loadImage
GL_UNSIGNED_BYTE, textureData)
File "/usr/lib64/python2.7/site-packages/OpenGL/latebind.py", line 45, in __call__
return self._finalCall( *args, **named )
File "/usr/lib64/python2.7/site-packages/OpenGL/wrapper.py", line 791, in wrapperCall
raise err
OpenGL.error.GLError: GLError(
err = 1281,
description = 'invalid value',
baseOperation = glTexImage2D,
pyArgs = (
GL_TEXTURE_2D,
0,
GL_RGBA,
40,
40,
0,
GL_RGBA,
GL_UNSIGNED_BYTE,
'\xff\xff\xff\x00\xff\xff\xff\x00\xff...,
),
cArgs = (
GL_TEXTURE_2D,
0,
GL_RGBA,
40,
40,
0,
GL_RGBA,
GL_UNSIGNED_BYTE,
'\xff\xff\xff\x00\xff\xff\xff\x00\xff...,
),
cArguments = (
GL_TEXTURE_2D,
0,
GL_RGBA,
40,
40,
0,
GL_RGBA,
GL_UNSIGNED_BYTE,
'\xff\xff\xff\x00\xff\xff\xff\x00\xff...,
)
)

marudziik says ...
Sep 8, 2011 @ 8:11pm

@demonpants Most of the time because py2exe isn't all that great.
But in this case... Sorry, I'm using Python myself for work and after some time wasted on getting all dependencies to work, I decided to move on. This isn't a Python/PyGame competition, there should be at least some info on what to get to make this work.

GigaClon says ...
Sep 12, 2011 @ 10:12pm

no executable

You must sign in to comment.


[cache: storing page]