Balloon Escape - Feedback response

I decided to follow HanClinto's example and post a mass feedback response. I'd like to thank everyone who tried my game and posted feedback, whether positive or negative. Unfortunately I didn't return the favor to all of you, since I didn't have enough time to try all entries before the deadline. :-( Sorry about that. Anyway, on to your comments.

Interesting gameplay, limiting the control to velocity.. Clean graphics too.
Thank you. I whipped out the graphics in a hurry and had to use the mouse (yuck!) instead of my drawing tablet (which I haven't gotten to run yet on my new PC), so I'm glad to hear the graphics were appreciated.

kind of boring game after a moment, but kudos for the effort
Any suggestion on what would make it more fun?

Fun game, but there's almost no control over the balloon. Also you had the "Segmentation Fault" again so I had to use python 2.4.
As for lack of control, that's of course the main challenge of the game. But I concede that in the current implementation, it makes things too hard sometimes. As for the segmentation fault, that is my biggest disappointment after seeing the ratings. I realy had not expected a problem like this. :-(

Cool idea, well implemented. Needs a bit more variety/levels, and a second chance if you get hit.
Thank you. I agree a second chance would make things better. I probably should add a "balloon health" bar that indicates how close you are to having a popped balloon.

Too many ways to lose; so winning depends a lot on being lucky... A lot of time I felt I had very little control about what happens (being able only to choose between different ways to lose).
This is true, unfortunately. It turns out that the randomly generated wind layers turn out unbeatable sometimes. You may end up with five wind layers in the same direction in a row sometimes, which makes it nearly impossible to not hit a wall. I ran out of time to make this more distributed evenly. I guess for now you have to keep trying until you get a fair level. ;-)

a bit difficult sometimes: there are so many ways you can lose! :) graphics are simple and nice :)
Thank you! :-)

Game caused a segmentation fault in Python2.5(winXP), but ran fine in Python2.4(winXP). Crazy-hard!
Thanks for trying it in Python2.4. I wish I'd had time to test it in 2.5.

Segfaults under Windows for using the incorrectly (load instead of filepath on some occasions, like when loading images in pygame). This isn't also as easy to fix as some of the others, because on some occasions load is actually used like it's supposed to too.
:-( I still don't get what I was doing wrong by using load instead of filepath? Why would it work in 2.4 and not in 2.5???

This really needs some sounds!
Agreed. They were planned but I ran out of time...

The idea that you can only use air currents to move sideways is interesting, but that makes the game quite tough. I wasn't able to have much fun because of this lack of control.
Yes, I still think using the air currents is the right thing to do for the game, but they should be distributed more evenly. For the moment you have to retry too often because of unbeatable levels.

Even the easy level was hard
Agreed. I wish I'd had more time to balance the game.

Loads of fun! This game is really good, and very well balanced such that I was able to beat the game on even the hardest difficulty with enough tries. Some of the hard levels felt un-beatable, but you just start a new one and do your best -- it was all a lot of fun! The graphics were cute, and I loved the sprite of the deflated balloon falling towards the earth -- it felt really natural (even though I didn't enjoy losing that way). I was also *extremely* impressed with the collision poly on the balloon -- birds and rocks colliding with the basket didn't pop the balloon, and I thought that was really cool. The only slight beef I would have is that fuel canisters can't be picked up by the basket, but that's the only thing that I found off with it. It's also not entirely clear how to quit the game -- I didn't realize until much later that "Chicken" meant quit. Still, it's funny. :)
Thank you, I'm glad to hear that at least one person really enjoyed the game! :-) I have to agree with most people though that gameplay at the moment is not always balanced. I guess if I make the lower levels simpler, I'll have to keep the hardest level the same just to keep you happy. ;-) I'm totally amazed you did beat the hardest level, as I never succeeded myself... In a future version I'll have to make the collision detection for the fuel canisters different from the other objects, I agree you should be able to pick them up with the basket. Glad you enjoyed the game!

Very good interpretation of the theme. THe game was fun to play, but pretty short.
Short? Randomly generated levels provide endless gameplay!

Nice idea, could be better though, but then there is always next time!
Hey, for giving me THIS low a score, you owe me an explanation as to what "could be better"!

Nice game. It was kinda weird that a single bird would make the balloon fall, but a fuel tank would not...
Explanation: it's a game. ;-) I agree that I should add a "health bar" and not have a single crow pop the balloon though.

very cool, once I got it to run ;)
Thanks, glad you didn't give up immediately!

it is very difficult to play add some music
Don't know about music, but I plan to add sound effects.

The game has the same problem as a couple of others, it tries to load fileobject to a surface (=> python seg fault in windows). (Easy fix, change to imagefile = data.filepath(..)). The two bottom menu alternatives are not visible (but who needs them anyway?). Other than that, a nice game. I like the "slow" gameplay, you cannot just go up and trust your reflexes, but have to plan ahead. And the graphics is nice, with transparent balloons and all. Plus a very well documented source code!
Thanks a lot for providing the solution to the crashing problem! I had absolutely no clue how to fix this otherwise, since I didn't know what the problem was. Why does this happen??? According to the pygame documentation, you can pass either a file name or a file object to "load", so why does it crash in Python 2.5 while it works just fine in Python 2.4? Anybody have any idea? A python script shouldn't be able to do _anything_ that can cause python to crash with a runtime error. Looks like a bug in pygame or python.
The menu size is another annoyance. I delibirately stuck with the default font to avoid this kind of problem since I didn't have time left for compatibility testing, but it seems that didn't help...
I'm glad that you worked your way past the problems and enjoyed the game though. :-) Not all people seem to "get" the fun resulting from the "slow" gameplay, I'm glad you did.

Nice game idea.. i also wanted to do such thing but wanted something else eventually. The game itself is finished and as such it is not bad at all.
I hope the "something else" got you a better score. ;-)

Kept getting fatal errors
Yes, bummer...

Winning or losing on this game mostly depends on luck, I think there are too many random elements and not enough control.
I think having better distribution in the wind layers should help with this. I don't think the other elements are TOO random. If the wind gets fixed, the other random elements should be manageable.

Frustrating. The up and the down. The fickle blowings of the wind. A definite challenge.
It's meant to be a challenge, sorry to hear you thought it was frustrating.

Nice game. I was first thinking that the falling fuel will damage the balloon. You know, I was too lazy to read the README.
Thanks, I'm glad you liked it! Maybe the fuel canisters look a little bit like bombs. :-) Hmm, maybe there is an idea here to add to the game: some differently colored canisters are bombs and should be avoided instead?

The theme is clearly followed: the only way is up. There do seem to be many games involving a balloon, however. I like the graphics: the balloon breaking and going down is fun to watch a few times. It would've been nice if there were at least minimal sound. I found the game quite hard (even on wimpy), and since the rewards for making it higher are unclear (a high score would have been nice, for instance), it didn't really hold my attention. I noticed the controls seem a bit strange. When your fuel has gone out your burner seems to continue to burn at full speed even though I have no more fuel. Similarly, you'd expect me to be able to cut downward speed too when out of fuel, as stopping to vent air shouldn't cost anything. Did I see that wrong? For nicer game play I think this game should be easier, less crows even than on the easiest mode. Perhaps response to controls should be faster, and sideways motion faster, to speed up things. It'd be nice if there were some bonuses that would shield the balloon for a while, or do other nifty things.
Sound, hard to win, high score: agreed. I'm not sure about your troubles with the controls. It might be a bug, or you might have confused the fuel bar and the lift bar. As far as I know, the flame stops when you run out of fuel. Your balloon is still full of hot air however, so it will keep lifting for a while. And you can vent air when you're out of fuel, but you will not immediately go down, since you can't get rid of all hot air in an instant. Plus there is some inertia in the response of the balloon to the lift force. I think I want to keep the response and gameplay kind of slow, but bonuses coming down on parachute is definately a good idea.

could not see the whole menu. fonts too big? nice idea.
Menu looked fine on Linux, too big in Windows. So much for portability.

A very good first pyweek entry, though is missing sound. I missed having control over the balloon, felt like venting air really didn't do anything. Original idea though (as far as I can tell)
Thank you! Yes, sound should be added. Try venting air when you just start, and see what happens. ;-) Venting air when you have a high amount of lift may not have obvious effect, getting rid of alot of hot air takes time. The effect is more obvious when you're easy on the trottle and vent, which is how the game is intended to be played, with slow and steady control.

Kind of hard.

Nicely done. The lag between input and response is frustrating. Perhaps some realism could be sacrificed for more fun.
I tried to find a good balance between realism and fun and may not have succeeded all the way. Possibly I could start with less realism and increase with difficulty level. But it is nice if the balloon keeps responding the same in all levels so you can transfer what you've learned in the easier levels and use it in the tough levels.

Very nice graphics, and nice idea, but I just couldn't get to grips with it enough to get more than a few feet above sea level. Too easy to end up floating towards one wall or the other without any correcting wind in reach.
Yes, the wind distribution needs improvement.

Sry but could not run your game Config: WinXP Python2.5 Pygame1.7 Error Msg: C:\BalloonEscape-1.0>python Fatal Python error: (pygame parachute) Segmentation Fault This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information.
I hate this problem. Sorry it didn't work for you.

fun game, manouvering the baloon is tricky but rewarding when it works. it's missing polish (sfxand a simple highscore to see how far I came - in meter or smth - would be nice).
That's the spirit! :-) Yes, sound effects and high score would be a nice addition.

Just add some music, sound and a 'Splash!' animation when crashing down - then the game's almost finished. Yeah, some kind of score may be nice, too. The game itself is already fun! :)
Thanks! The splash animation was the next thing on my to-do list that didn't get done before the deadline.

I tried to run this game under windows and received a "runtime error" ["This application has requested the runtime to terminate in an unusal way"].
Sorry it didn't work.

funny game with almost no menu and settings possibilities and only one level. Score and bigger level can longer fun.
Not one level, infinitely generated levels! ;-)

Not bad, but a little more control would be nice, and it has some great potential for sfx that are unfulfilled.
Agreed, too bad SFX didn't make it in.

The controls were quite frustrating, although I did manage to make it out of the canyon on most settings except the "Dare me" one.
Sorry to hear you found the controls frustrating, but it seems that at least the game kept your attention long enough to make it out on most levels. ;-)

A bit hard even on the "wimpy" setting, but with some practice this turns out to be a fun game.
Thanks! I agree that because of the random level generation, even the "Wimpy" setting can be tough. I plan to improve that.

Lacks a bit of fun as you can't control your balloon that much, it's quite a bit of just watching and praying. Nice graphics :)
Thanks for the feedback. I guess I should think about less realism and more fun in the easier settings.

It certainly was an innovative idea to restrict control to the height of the flame, a lot of the time though, death feels random, when the wind blows you into the wall etc. Easier levels ramping up to the harder ones, and more obvious wind flow (instead of random, only have wind where you can see exactly what the wind is doing) would improve it a lot.
True, the wind distribution needs to be improved. Actually each of the flags is at the center of a wind layer so you can guess where the wind changes. When you cross between layers, you get wind from both layers. Hmm, I think that just made me discover a bug. The winds just get added up when crossing wind layers, instead of being averaged I think. I'll need to fix that.

Great little game. Cool concept.

A nifty idea, and smoothly implemented. With greater variety, this could be a very nice game. A comment about the controls -- if the orange bar is meant to represent the amount of hot air in the balloon, the balloon's speed should be proportional to it. Having a delay is okay, but the delay should be in the time it takes for the orange bar to rise or fall -- there shouldn't be an additional delay between that and the balloon's speed changing.
Thank you for your positive feedback. Actually, the orange bar represents lift (proportional to hot air in balloon), it turns blue and goes down if it is less than gravity. Lift is a force that causes acceleration, which in turn causes the speed to change. Lift isn't proportional with speed, because of inertia that has to be overcome. In other words, if the balloon is dropping, warming the air in it will cause a force up, that has to first slow down the balloon before it can start to go up. Of course, since this is a game and not a simulator, it may not need to be this realistic. I think this isn't the biggest problem with playability though, unfair wind conditions being the worst in my opition. I'd prefer to keep balloon behavior close to realistic while improving playability in other areas.

I think the player does not have real control over the balloon. Just a little bit left/right steering would have been great.
You're supposed to play the wind layers to steer left and right, unfortunately the way the wind layers are randomized now, they might create a no-win situation.

Segmentation fault in windows...Shame, looks nice in the pics...
Unfortunate. :-( Next version should fix this.

Good job for a first entry. =)
Thank you!

I quite enjoyed this game. The lack of direct control was almost refreshing, because there is a strategy (and a clear one at that) for getting to where you need to go. I liked the graphics, and the game had a very even flow to it. Thank you!
Thank you very much! You describe exactly what I wanted to accomplish. When I fix the wind layers to be more fairly distributed, it should improve the chances of being able to use the strategy.

Fatal Python error: (pygame parachute) Segmentation Fault This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information.
Unfortunately, that didn't happen before the deadline...

Was kinda fun :) Some sounds would've been nice. And the collision detection failed sometimes.
What do you mean with failed? Detected a collision when it shouldn't have, or no collision when there should have been one?

Nice graphics, but there are some ways that I think the game could be improved. I think that one level is too little, so that either more should be added, or it should just be one long level and then you could get score for the altitude that you achieved before crashing.
I still think of it as infinite random levels. ;-) I suppose I could maybe add a little more variety to them (different sorts of rock, other obstacles).

What I take away from the feedback:

Things I'm going to add/improve, in order of importance:

(log in to comment)


The problem with using data.load(f) instead of filepath(f), is that with load you are sending an already open file to pygame, while pygame is just looking for a path, so it can load the file.
I too had the segfault under 2.5, but i fixed it by converting all loads with filepaths :)

Hope that helps :)
Please take a look at the pygame reference document.
Doesn't that say you can either use a file name or a file object? Using 'filepath' gives me a file name, using 'load' gives me a file object. According to the pygame documentation, both should work (and both do work in Python 2.4).
It does say that.
Perhaps something changed in Python 2.5, that affected the file object?

I am looking at Pygame's svn repository, and it looks like, if Pygame receives a file object, it will attempt to get the file name from that, and then open the file.
Would anyone more knowledgeable about this jump in here?

Also, as Python 2.5 is the newer version, if something worked in 2.4 but not in Python 2.5, I would say that is one of those things that "doesn't run on the target platform".
You should use Python 2.5 for Pyweek anyway, as that is the latest, the official, the target version, etc... and most people use it(I think...)

I'm sorry, but it does appear that Pygame is broken in some areas with the new Python.
Until that is fixed, you should take that into account ;)

I hope this helps :)
Just a suggestion about how to implement life: you suggested making crow hits not instantly lethal. Besides adding a "life bar", you can start making the balloon work as "punctured", i.e. losing hot air slowly (or quickly, if lot of crows hit you). This add a little variety to the game and an extra incentive to avoid getting hit :) With this idea you can even perhaps forget about a life limit, you just play until you win or the balloon has so many holes that it is uncontrollable :)
I love this idea! Much more realistic, and in principle you can still win with a damaged balloon if you can get enough fuel (especially with a time limited "free fuel" bonus when I implement it), it will just get harder and harder the more damage you get. It is also simple to implement, since the balloon already has a fixed "leak rate" that slowly decreases lift. I'd just have to decrease lift faster the more damage is inflicted and add a bar to show the current leak rate. I think I'd still have a point where the damage gets so bad the balloon will just crash down though, I don't want to deprive the player of the floppy balloon animation. ;-)
The seg fault crash is not a specific problem for python 2.5, I get the same with python 2.4.
Very interesting. I tested it on Linux with 2.4 and 2.5 and the game works fine in both. On windows, it works fine in 2.4 for me but not in 2.5. And you have the problem in both 2.4 and 2.5 on Windows?
I guess I should stop trying to understand what is wrong and just pass a filename instead of a file object... ;-)
xorbit: did you by any chance build pygame from source?
I was just thinking, I use the windows installer for pygame, so maybe its just the installer that is messed up?