March 2010 challenge: “Wibbly-wobbly”

Terraformancer - Terraformancer - Feedback & Postmortem

Posted by Trobadour on 2010/04/19 17:17

For me, one of the most interesting parts is looking at the comments and suggestions. Having an interesting and unusual  theme and to design a interesting game, which will be played with usefull feedback is my main motivation for participating the PyWeek.

I'm grateful for every line of feedback you gave me, so thanks for your thoughts and suggestions. At first i wanted to make 2 diary entries, one feedback entry and one postmortem entry, but after i started with the feedback i realised that 2 posts would contain many redundant informantion so i merged the posts.

Feedback:


Comment
Nothing happens when I run the game. Linux 32 bit. I had to kill the process to get it to stop.


Answer
Sorry for that, i only tried my game on my windows machine. I think about setting up a virtual linux oc to test my entries in the future before realesing them. At least i can test if the game is working.



Comment
Traceback (most recent call last): File "./run_game.py", line 4, in
main.main() File "/home/godfryd/PyWeek-10-finals/pw10_trobadour/Terraformancer/gamelib/main.py", line 729, in main level = Level( level1 ) File "/home/godfryd/PyWeek-10-finals/pw10_trobadour/Terraformancer/gamelib/main.py", line 561, in __init__ self.init_level( self.data ) File "/home/godfryd/PyWeek-10-finals/pw10_trobadour/Terraformancer/gamelib/main.py", line 564, in init_level self.spellbar = SpellBar( pygame.Rect(SPELLBAR_TOPLEFT,SPELLBAR_SCROLL_SIZE) ) File "/home/godfryd/PyWeek-10-finals/pw10_trobadour/Terraformancer/gamelib/main.py", line 100, in __init__ self.texture_rect = rect.copy() AttributeError: 'pygame.Rect' object has no attribute 'copy'

Answer
Using an up2date pygame library will fix this. For future PyWeeks i try to add all required libraries to the entry.



Comments
nice concept.


I like the concept.

good but time is too short.


It's a little short but sweet.

Nice little game.

Great idea!

Intresting idea, liked the ground moving thingy, uncomfortable controls, nice graphics

Answer
Thank you for that. I always try to make something different (not always successfull). The game is so short because on saturday it was more than a techdemo than a game and i had to throw many features of my original gameplay away to release something playable.



Comment
Graphics are a bit tiny. Princess didn't seem to know what to do when the guy reached her the first couple of times I played. (Maybe she just doesn't like the idea of following a drunk guy?)

Answer
It's mostly programmers art (That should explain everything:) ). Everytime during a PyWeek i try to make a plan that includes all needed graphics. My wife willingly draws some sketches for me, which i scan and colorize to have content for the game. But if there is no plan she hardly can create any sketches... Maybe i succeed better next time (Don't bet on that).



Comment
This whole game is very ... retro (but at least it is consistent about it). The music is makes it work for me.

Answer
Thank you for that. The music was very important for me. I searched long for something that creates an earthly atmosphere and fits the wibbly-wobbly-terrain earthquake thing. Because i have no that much experience to create my own track and i was going solo, i was happy to find this perfect track.



Comment
It was difficult to grasp exactly how to shift the land properly. However, very innovative concept.

Answer
As i sad i tried to make a game out of a techdemo. Also i wish to had more time for a proper introduction or tutorial to explain the "game" mechanics. Hopefully i can accomplish that during the next PyWeek.



Comments
After coping with some issues connected with the pygame version, I've finally managed to play the game. Understanding what the game is about happened to last for a minute or two, but the idea behind the game was quite cool. There were some problems in clicking everything quick enough to win the game. Perhaps using the keyboard to choose the spell would be more pleasant. However, it was quite nice to play.

The challenge level was certainly good. It took me three tries to get it. The controls were a little frustrating, having to keep clicking back and forth to cast different spells. I would like to be able to select spells with the keyboard.

frustrating in a non-funny way

Looked more fun than it actually was. Had to disable the sounds to get it to work, but this could be a problem with my pygame installation.

Answer
Selecting a spell with the keyboard is a great idea. I will add this to the Pyggy version. Like many others of you said, it's hard to determine the difficulty level of your own game for other players. The original time limit was 60 seconds (i believe it's now 90 seconds) which i already found to easy. But after letting my wife play 1-2 rounds i decided that this limit was far to harsh for players that were new to the game. If you are lucky with the earthquakes, then they don't change to much and you need less time than usual. So there is also this luck component, which is hard to balance to make the game challenging but not frustrating. Obviously it didn't work for everybody, so i have to check this in the future.



Comment
A simple concept lovingly implemented. It is a bit clumsy to play (I do not think the "To Princess" scroll adds anything other than frustration) and the production is as simple as it gets, but it has personality.

Answer
I have to admit, that my AI is not just rudimentary but also buggy. Originally the guy you command wasn't drunk, but i had bugs in the controling methods (also for the princess) which i couldn't fix before submision, so rather then fixing the bugs, i just called him drunk. It's not a bug, it's a feature :D



Comment
Cool entry. It's always nice to see entries that try something new. You should take this one to Pyggy.

Answer
I will. The game differs in great parts from my original design, where you as a player control multiple guys, each having task like gathering resources, avoiding wild animals and finally return the princess back to the tower. With the gathered resources the player can cast several spells to adjust the terrain, defeat enemies and so one. Also there were different terrain types with different behaviours. So this and the thing that i cannot look at my code without shame (nearly pure spaghetti code), i have several motivations to polish my game during Pyggy.



Postmortem (without the details i told in the feedback section):

To make a long story short, due to work i had less time than i needed, and my entry results heavily from that. But from that emerged an interesting minigame which was fun to code and (less) fun to play. I will participate in the Piggy to show you, what i originally had in mind.



Resume:

Thanks to all of you and especially Richard for a great PyWeek, i enjoyed every 'bit'  of it ;)

Feel free to comment or add suggestions, you're welcome!

PS: I can proudly say, that there are at least 17 people out there who played my game. Not everybody can say that :)

Add a comment

Mr. Wobbly's Great Escape - Mr. Wobbly's Postmortem

Posted by ServalKatze on 2010/04/19 10:02

Wow, I really didn't expect that this small game would get so nice feedback. Otherwise I would have spend the last day doing more testing and polishing. I apologise to everyone who had to play with coloured rectangles instead of coloured pipes. I could have avoided that bug very easily if I had actually tested the game with older Pygame versions. Lesson learned, I suppose. ^^

I guess it was a little premature to announce that we would not participate but the first day was quite bad. Both of us were exhausted (carrying furniture upstairs to the 5th floor gets tiring after a couple of days), neither of us had a good idea and Zahme realized that the new MSPaint for Win7 has lots of pixel-art-killing features. Like automated antialiasing for lines. And he kept saying that drawing wibbly-wobbly animations was just too hard for him.

So I figured: Before we spend the rest of our vacation in agony, thinking of game ideas and rejecting them right away because of their complexity... meh.. just say that we won't participate and then try to relax a little. It helped a lot.

We settled on an idea on day 2. The map editor was done in a few days and the basic game mechanic was surprisingly easy to implement. The tileset graphics were done really quickly and Mr. Wobbly wasn't as hard to draw as Zahme expected. All in all this was propably the least stressful Pyweek of zahmeKatzen. The game idea wasn't exactly ambitious but it worked.

So what's left to do? Unless we can think of other puzzle elements that would fit into the game (or unless someone else has an idea?) basic gameplay won't change. One comment suggested to do an overview map to give the player some sense of progression - I'd definitely want to add that. Something like a sewer system map where you move from point A to B after you finished a level. Maybe add a branch or two for alternative endings... Oh, and bug-fixing needs to be done, too. As always.

I don't think those small changes are worth a Pyggy entry, so we'll probably try to finish some of our older Pyweek games.

Anyway, a big thank you! to everyone. Thank you for the nice comments and thank you for the criticism. And last but not least thanks to Richard for hosting Pyweek. This is our only opportunity to actually finish a game once in a while. :P

Until next time,
ServalKatze

8 comments

The Teetering Towers of San Gimignano - Partners wanted for Pyggy

Posted by Cosmologicon on 2010/04/19 01:41

Assuming there's going to be a Pyggy competition like before, I'd be interested in a team. (For people who don't know, you get to expand and develop a Pyweek game over three months.) The only thing is that I hope to have at least three people on the team. If there's just two of us, I might prefer to enter individually.

If I wind up going solo, I'll probably do my Pyweek #9 game, but I'm open to doing any game as a team!

4 comments

The Strange Sine Orbs - Reply to comments: The Strange Sine Orbs

Posted by Tee on 2010/04/18 20:11


Hello everyone, and thanks for all your comments. I'm going to write a bit about them here.

Although I don't really care much about the ratings themselves (I like reading the comments much more), I find it interesting that this was the first time I got a score above 4, and that was in innovation. That kind of makes me happy, though I wish I had gotten one with a more polished and complete game. However, unfortunately this innovation rating by itself doesn't tell me much, because according to my fun score, people didn't seem to have much fun. It sure needs tweaking, but does that mean the idea works or not? I mean, it means it's different, but unfortunately it doesn't tell me if it's a good idea. Thankfully, people comment and I can derive a few things from their comments. :) (In fact, if there were no comment system, I'd probably have some very misleading thoughts of how my game went.)

Another note was that it was very surprising to me that I got a 3 as a production score. I would have expected something more around 2. I'm also surprised no one even complained about the graphics in the comments.

Anyway, replies to comments. Not going to reply to all of them this time, just some of them. First of all, thanks to everyone who sent me positive comments (so I don't have to thank them one by one :P).

 

* This is hard, maybe because i'm more a singletask guy :) Your game is fun and it's wibbly-wobbly and the idea with the sinus curve movement is great. But as i said, i must concentrate hard to control the movement correctly. A real challenge and a great game!
* Wow, HARD. Neat idea though :)

Yes, the difficulty was the most commented thing (guess I didn't learn from my previous game :P). But I don't think I need to make it easier, I just need to make it easier to get a hang of. That's because once you get the hang of it, it's not hard (unlike my previous game, which is always hard even after you get the hang of it). The funny thing was that I was worried that the game was too easy, and after I finished I kept wondering whether I should've reduced the player's number of lives. That really shows how you can get it completely wrong when you get used to the game.

* I feel like the collisions could have been a little more forgiving. When the orbs got fast, I felt like I was playing one of those prize games where you have to stop the light at the right time and it never stops it right when you push the button and you miss the target light and you feel cheated.

I understand. You should've seen the game before I added the guidelines and static objects. :) But I think that if the player manages to get a hang of it and find a good strategy, it's not too hard and very controllable. The big problem is how to help the player get a hang of it. You should look at the guidelines to press the buttons at the right time.

* Very strange indeed. Controls need rethinking -- mapping a horizontal row of keys to a vertical arrangement of on-screen items is unintuitive and confusing.

That's true. In fact, the keys E D C also work, but I didn't document that. I put it in to test it out, but I thought the hand position felt too uncomfortable, so I decided to forget about it and go with the Z X C keys. I do wonder though if something like Q S C works out.

* One of the more innovative games. The learning curve was a bit steep - maybe it could start with only one orb to control. Also some explosions or effects or powerups would have made scoring seem a lot more fun.

Yes, maybe starting with only one orb is a good idea. Explosions or effects or powerups would have been definitely cool.

* It would be hard enough with one sine orb. With three you either need to play it as a three player coop or hope for the best while pressing them at random. I did the latter and won! The part I like is that it's a duel between two sides and they lose points until one runs out and loses the game. This is a nice framing that I haven't seen before and works very well.

Good point about pressing them at random. I only found out about this strategy after I submitted the game: it's worth it to just keep them in wobble mode always, because they go fast, respawn fast and even if it's not the best defense against enemies, that strategy grabs a whole bunch of charges and does a lot of damage. That needs fixing.

* Very innovative but hard to control. Music fits perfect.

I admit the music was a bit of a lucky thing. It was among the first musics I found, but the feeling that that music felt right combined with the fact that I was in a hurry made me choose that one. I'm glad that you liked it, but the credit is all for the musician behind Incompetech, who does some free great songs, for anyone who needs music next Pyweek. :)

* Very cool game idea! Really liked it, sure you could push this futher with square waves, saw-waves etc!

Great thought; that really didn't and wouldn't cross my mind. I'll keep that in mind.

* quite frustrating at first - but really good after you get a hang on the controls.
* quite difficult at first... easier once you get the hang of it. interesting indea :-)

Happy to hear that at least a few managed to overcome the apparent difficulty of the game. :) You just need to get a hang of it.


* Losing marks on production for no real game ending screen or sense of achievement in victory. Get amazingly high marks for everything else, cool concept and the music was fun .

At least you managed to finish it. :) If I had more time, I would've made something better for the ending.


So, if I were to improve the game, here's what I'd do:
  • Find a way to improve the learning curve of the game;
  • Do some balancing;
  • Find a way to eliminate the winning strategy of "just keep wobbling" - maybe make it even riskier;
  • Polish (intro, menu, ending, sounds, effects, etc.);
  • Maybe make it in levels and, if so, have different "units" (with different waves) for different levels.
I never really had time to improve a Pyweek game and I don't think I would now. But I'd be curious if anyone has any extra suggestion, so let me know if you do.


Thanks for all your comments! See you at Pyweek #11. :)

Add a comment

Wibbly Waves - Feedback.

Posted by bart on 2010/04/18 17:18

Thanks you all for the useful feedback and comments. I didn't have time to fix collision detection which is not accurate enough. Sounds have been our greatest problem and not only because we just edited a bit our own voices, but also because our pygame.mixer.pre_ init settings seem to cause some errors. The key-pressing request between levels was made to make the player see what he has to look for. Would you believe us if we said we spelt "wawes" and not "waves" intentionally? Of course not and you are right.

Add a comment

Non Time - give a Comment for my game.

Posted by milker on 2010/04/18 13:29

My game Eobble is not writing good.
Yes, If I have more time on it. maybe it will better then now.
another way, I don't like wibbly-wobbly theme, I like eleventh then it.
I like logical game then action game too.
So, I need more and more time warm up for writing......

when judging, I play in many game. they are very simple and fun.
I feel more happy about it.
In next pyweek, I will do better then this entry.

Add a comment

Professor When - to those who liked to dissqualify this entry

Posted by godfryd on 2010/04/18 05:11

Prof. When is an alter ego of Dr Who who invented the phrase: Wibbly-Wobbly ;-p
look here: http://www.youtube.com/watch?v=vY_Ry8J_jdw

4 comments

Oscilliscape - A little retrospecting

Posted by bjorn on 2010/04/18 04:24

First of all I'd like to thank all of the people that took the time to try our game and provide feedback.  It looks like the main issue for people who couldn't run it was a segfault; I think this is probably audio related so an easy way to disable sound may have helped here.

As for gameplay, it looks like quite a few people discovered that you could just turn your amplitude down and your frequency up and cruise through the levels that way.  This was known but we didn't leave time at the end to tweak things so this wasn't possible.  Anyway I don't think it really ruins the fun if you play as intended and just try not to run into stuff.


More specific responses follow:

I like the oscilloscope mechanic, but it's not as satifying as just blasting things. It would be nice if there were sections of standard shooter so as to mix it up a bit

Yea, we actually had hoped to put some missiles in (the art assets are there), but ran out of time.  I'm thinking of adding some sort of boss at the end - probably the ship will auto fire so the objective will still be just to dodge whatever he shoots at you (plus terrain)

Excellent concept and great graphics. Feels like a very complete game. The idea is very original. I like how you have to put yourself in danger to recover shield, though personally I'd have it "high frequency and high amplitude", since high frequency and low amplitude is still kind of safe. HUD needs polishing as you yourself said, but thanks for the "next level" counter. Although there's not much to expand and the game is already very polished (aside from the HUD), if there were an expanded version of the game, I would definitely like to play it. Excellent work. :)

Yea, i think we might be able to use something like regen rate proportianal to frequency + amplitude; I'll definately try that out and see how it feels.  The next level counter was essential for letting the player know how much longer they had to stay alive, but if the boss mechanic I mentioned above works out it might go away. 

Is there any way to kill things besides colliding with them? The winning strategy seems to be to just keep oscillating at maximum frequency and amplitude and ram everything.

Yes, unfortunately that works, but it won't in the future :)  Destructible terrain would be extra cool, but I'm not sure how easy it'd be to pull off.

The idea, to control the sinus curved flightpath to avoid obstacles is great and fun to play. Also i like the graphics style of the levels. Besides that it's a game that can be played for 10 minutes (lack of long term challenge) and for me the style of the levels and the main menu style are not matching 100%. The main menu appears less colorful than the great colored levels. But this is only minor point. Overall it's a really great game. Congratulations!!

I think the long term challenge can be addressed somewhat by tuning the levels to have a nice difficulty progression; sadly we didn't get to do much of this before submitting (isn't that always the case though?).

Thanks for the feedback on the menu vs in game style, that's a good point.  It might be true for the music too (I was really happy how well the music matched the graphical theme of each level though).

not that easy as it looks like :)

Really hard, but not bad.

Indeed (unless you discover the trick w/ the frequency of course). 

One of the best games in the competition. Well balanced gameplay, though it did feel a bit shallow after a while. Music was excellent.

Thanks!  I think there are things we can do to help the depth.

runs too slow on my machine to be playable.

Sorry about that; we didn't find time to optimize  :(

Quite interesting! I like the idea of the movement... in critical moments (when the wall is near and the enemy too) my fingers become crazy and I crash with everything in the worst way :-)

I know how that goes :)  - I found it a little easier w/ a game pad, but not a ton.

Fantastic game, a real pleasure to play. The descriptions were funny and well written. I only wish that the shield regen wasn't linked to the speed or rate of oscillation! I found that I was able to complete all levels with no effort at all by having the oscillations period extremely short. The backgrounds were amazing, surely your artist has an eye for detail .

yea, our artist was quite prolific.  And I was amused enough by his storyboard descriptions that I decided I had to put them in rather than make the HUD integrate at the end.  Actually he even had recordings of him reading those to go with them, but we didn't get to put them in.

sorry, couldnt make it work. had to disable the joystick and still had problems: File "gamelib/main.py", line 125, in update self.handler.update(dt) File "gamelib/levels.py", line 504, in update actor.Tick(dt) File "gamelib/player.py", line 71, in Tick contents = ships[0].getHudContents() File "gamelib/player.py", line 113, in getHudContents return ["Shields:{0}".format(int(self.shield)), AttributeError: 'str' object has no attribute 'format'

Hmm, this one I don't know about; I would be curious what version of python you have.

Sorry, I cannot run you game in my linux ubuntu 9.10 machine. Segmentation fault. I don't know why.
 
I think it's probably audio related.  I'm running Ubunto 9.10 as well, and saw the occasional crash, but usually it worked.

t takes a while to get used to the ship's controls, but this is damn fun. Needs balancing.


I agree, balancing would help a lot.

Very innovative, great graphics and sounds. Unfortunately I'm too stupid to win a level.

 
I doubt it's a stupidity thing.  We need a more introductory level of difficulty at the beginning.

original idea, lotsa handmade artwork i like

Lots and lots - more than we could get in :)

The backgrounds are awesome, the music is energetic and the control is interesting. Sound effects are missing and there is not much to do unfortunately. I won the game by simply going to maximum frequency and minimum amplitude. If only you could shoot and collect bonuses it might be much more fun. Perhaps you could have done without any moving objects, since those are practically impossible to calculate into my avoidance. Or maybe only introduce them on the second level.

Yea, sound effects are among the assets that we didn't get to work in (yet).  Definately there should be fewer enemy ships on the first level, to lower the difficulty, but they can be avoided with practice.  I think I managed to play through all four without hitting more than one or two things.

Seg faults when trying to run. There is no information give. Tried the suggestion for changing the joystick.py with no effect. Really wanted to play this just to see why it needed NumPy! :(

Erm, NumPy was just so I could be extra lazy and use arange() to get an array of floats for drawing the path :p.  It already exists on my Ubuntu python install - my teammates all subsequently complained because it was an extra thing to install on their windows boxes.  Probably I should have just written a few more lines of code and avoided the dependency.

Brilliant game mechanic that I've never seen done before. It was hard but satisfyingly so, rather than irritating.


Yea, we spent quite a while brainstorming after the theme came out and i was really happy with the mechanic that came out of that.  We even had something up and running after the first day so we could try it out, which was awsome!

4 comments

Soul Shenanigans - Report from the field, Ubuntu + pygame

Posted by Falun on 2010/04/13 18:46

I think this has already been mentioned in the pygame forums(/messages/discussion-thing) but a friend reported problems to me so it's worth noting again that Ubuntu 9.10 doesn't include pygame 1.9 in apt. So, if you want to play our game you'll need to get the latest pygame I've tested 9.10 with pygame 1.9 from here and it seems to work fine.

1 comment

ICE NINE - bokonon was right

Posted by stycchio on 2010/04/11 14:34

There's some interactivity and a stupid goal.

features:

- this nice soft ball algorythm: http://panoramix.ift.uni.wroc.pl/~maq/soft2d/
- a stupid and buggy SVG parser
- some polygons in a single SVG map
- it exploits the pymunk space hashing algorythm to
  check what polygons must be rendered onscreen
- the ability to roll ankwardly on the surfaces
- frame drops due to buggy polygons

Avoid getting stuck on pointy rocks, that's
your only challenge.

Unfortunately the ice-nine bubble will never burst
so hell will never freeze when you reach it
isn't it ironic ?

Add a comment