A tower is blown over by the wind


First PyWeek.


Give this entry an award


Ratings (show detail)

Overall: 3.7
Fun: 3.9
Production: 3.0
Innovation: 4.0

Respondents: 41


File Uploader Date
PyBlockTower v0.95b.zip
First post comp release.
Tigga 2007/05/02 00:13
PyBlockTower v0.91.zipfinal
Final submission.
Tigga 2007/04/07 22:34
PyBlockTower v0.7c.zip
Should work with ubuntu
Tigga 2007/04/07 00:27
PyBlockTower v0.3.zip
A game!
Tigga 2007/04/06 00:45
PyBlockTower v0.2b.zip
A toy. Game tomorrow hopefully...
Tigga 2007/04/05 00:12
A tower is blown over by the wind
Tigga 2007/04/05 00:04
PyBlockTower v0.1c.zip
Third go at a demo.
Tigga 2007/04/04 01:07
Engine test #1
Tigga 2007/04/01 22:19

Diary Entries

First Day

Got of to a fairly slow start. I'm probably going for something vaguely resembling upside-down tetris. Using randomly generated blocks you have to build a tower to meet certain objectives. Started on the engine. Trying to keep it simple. At the moment you can place the blocks anywhere and they will fall, and glue into place. Still adding stuff to the UI, then I'll go onto victory conditions, and "bad stuff" that can happen to the tower...

Add a comment

Bogged down

I'm getting a bit bogged down...

The original plan was to have the tower you build acting as a rigid body fused together, and have it topple accordingly, however I decided this was a bit simplistic, and would make the game easy.

Next plan was to work out the loading in each of the blocks, given the weight of each individual block. However, this is quite hard to solve, as the structure could be statically indeterminate, meaning I'd have to produce a lot of simultaneous equations and solve them to find the final state of stress. I'm not sure if this will be possible to do in real time.

Been trying to get that to work all day, with no success. Will probably scrap that all and start again tomorrow. I think once that is done the rest should be just coding, making fancy art, and getting a few sounds together.

1 comment

New Game...

So, I've decided what I was trying to do is too slow to be practical (despite not having got my head round all the maths yet), so I'm going to scrap large portions of it and work on something similar, but with slightly different mechanics.

The first idea was to have the blocks breaking if there was too much load on them... but working out the max load in each block isn't trivial.

The new idea is slightly simpler, keeping the general theme of building a big tower from blocks the same.

4.5 days to program a game from scratch.



Back on track?

So, 1.5 days after scrapping my last idea, I'm (perhaps) back on track.

I've uploaded a toy. Build a tower (point and click). Have the tower fall over. There is wind to blow it over, as well as what you would expect - watch the clouds.

Tomorrow's (and probably Friday's) plan is to add some gamey type things. Most objectives will probably revolve around building a tower of a certain height, and having it stand above that height for a certain time, with a limit on the total amount of blocks available.

After that it's options and optimizations.


Nearly there...

2 days left, and I finally have something playable!

It's still running a bit slow, and I'm running out of optimizations. Tomorrow I plan to change a large amount of my per-pixel alpha channels into colorkeys in the hope that'll speed things up. Also in the pipeline are difficulty/display options as well a few tweaks here and there to the gameplay. If I have time I might even add a few graphics (currently only using one cloud texture for example).

Add a comment

PyODE and Ubuntu

I just found out that the latest version of PyODE isn't packed with Ubuntu. In the older version you can't assign attributes to objects, and I was relying on that for a fairly important (gameplay-wise) chunk of my code.

Just a heads up for anybody using PyODE. Check the changelog here here for a full list of changes Ubuntu users probably won't have.

Add a comment

First Final Submission

I've got a few more optimizations I wouldn't mind making, but this has everything I set out to put in. Only thing now is to make sure it works on non-windows platforms. I'm hoping somebody will help me with that.

Add a comment

It's over!

I'd love to hear any comments on my game by anybody, as I'll probably do a bit more work on it after the end of the week. Writing them as a comment to this entry would be lovely.

See you all next time!

1 comment


30 hours, 8 games left.

How is everybody else doing rating? I've found despite the number of games I've had quite a bit of fun doing it. I keep having to stop myself coming back to a few of them.


PyBlockTower: A reply to comments

Firstly, a thanks goes out to Richard, the guys on IRC, and all the people who made, and tested the games. There are some great games out there, some of which I may keep tabs on and play again some time in the future.

Comments are annoymous, so I thought I'd reply to them here:

sometimes it behaves kind of buggy but this is one of those games you can spend hours playing and replaying
I plan to work a bit on the physics engine. I'm hoping I can get the thing to be slightly more stable, though when I tried that before performance dropped.

Good idea, but pyODE can be a SERIOUS pain to install.
Sorry about that. You've got it now though!

Solid dynamics, and the game is really intuitive to play. I found it almost impossible besides the easy level though. Some more polished graphics and interface and this could easily be a shareware title.
Thanks. It got easier for me when I learned to take it slow, and use every block to it's best. Also the wind judgements get easier with time. I included lots of difficulty levels to allow the player to slowly step up the difficulty. I'm currently somewhere in between medium and hard.

Fun game! Really nice use of the physics engine. Fits the theme quite well too. Production-wise quite nice, though could use a little bit of polish here and there and of course sound wouldn't be out of place. Something like high-scores would be nice. Also the game starts up in full-screen mode and then makes it impossible (?) to press the exit button. That only seems to work when I switch to windowed mode. With a little bit more work this could be a game to come back to a lot, where the player continues to try to improve their previous record (amount of blocks used, time used, etc on a particular difficulty level). What would be really nice if you could build the tower higher than a single screen as well. It really does need a high score screen in that case.
The game defaults to 800x600 full screen. This may cause problems on computers that don't have 800x600 supported as a full screen mode. I'll probably upload an updated version in the coming days that switches to windowed mode if the display can't handle 800x600 full screen. Sounds were in the pipeline, but I ran out of time, same with high scores.

Wow, really cool game! Please develop it further!
I plan on doing a bit of further development.

The building controls is very intuitive. I love it.
Took me a while to get those right – glad somebody noticed!

wow this is coooool ... should make the tower build up to infinity though the more it is the more points you get. Also wind changes and different blocks would be a ++!
Wind changes were in earlier versions, but didn't make the cut. Towers aren't stable at the best of times, and having to deal with wind changes would make it even tougher. Might add a difficulty option though. Infinite hight could perhaps be done in a sandbox mode. I didn't want to have to deal with scrolling screens, as they do bad things to frame rates if you have plenty of other stuff going on.

The block's suicidal tendencies are a bit frustrating.
I think this comment refers to blocks fading out. This is a bit tricky. Firstly, blocks which touch the wall, IMO, need to be destroyed - otherwise you could use the side walls as part of your tower. Secondly, playtesting showed that blocks being left at an angle were a real pain to build off, so blocks over a certain angle (10 degrees IIRC), for a certain time (about 4 seconds) are destroyed as well.

Addictive and very difficult, I could get my tower above the line, but it was never there for more than 5 or 10 seconds before the wind? blew it down.
Try building into the wind, and take your time. Also – you could try lowering the difficulty; I think I made the default a bit too hard.

Very cool!

Sound! we want sound of boxes falling and crashing! What a great game.
Sound and music are both in the pipeline if I develop this much futher.

This game is alot of fun, good job!

This was pretty challenging until I figured out how to build for the wind. I thought it could have used some sound and a better victory scenario.( maybe some hand comes out and knocks over your tower ) having some non-interacting or interacting objects like leaves blowing in the wind would have been nice to see how hard it is blowing. I liked it :D
The clouds are the basic indicator of wind strength at the moment, though something at different levels might be an idea. Not sure about the big hand...

At first, I didn't have PyODE installed, but wow! Excellent job detecting the lack of that, and so very nice to not have a crash message for once. Well done! Eventually, I got ODE compiled and installed, and then PyODE installed, and was able to play your game. Very fun! It's a fun concept of a game, a bit like Tetris, a bit like Jenga, and overall nice and enjoyable. I would like it if I were able to rotate blocks though. It could also be neat if you had to build up from piers in a river, such that if blocks fell into the water, they were lost. This could force the player to try and build towers and join them together with horizontals and make more ornate structures. I dunno' though, just an idea. The existing game that you made is quite a bit of fun to play with, though I do wonder what you could do with it with more polish. You've got some great potential here. Well done!
I don't like getting tracebacks either, and a simple try:... except:... clause is very easy to write! I considered allowing rotation of blocks, but (in my experience) there are some orientations you would never use if that was allowed. It seems to be horizontal blocks are almost always more effective than vertical ones, for example. As for more ornate structures – the physics engine would have to be tweaked to allow good looking spans.

This game is pretty fun. It's a simple, yet very effective idea.

This was one of the game ideas I was considering using. I'm glad I didn't, because this was a better implementation than mine would have been.
It's strange. This was my original idea, but I dismissed it as I didn't fancy writing all the collision detection and response, and thought it would be too slow anyway. Then I found PyODE, which solved all my problems. Great package.

Probably the most fun entry for me. It didn't have a lot of flashy graphics but the gameplay is absolutely flawless!
Thanks! The gameplay still has it's flaws – the blocks don't always interact very well, but I'm planning on trying to fix that.

Fun and innovative! :D

Very very cool. I'm impressed that you got so much stability out of ODE. A free form sanbox mode would be fun to play with.
There is a switch in the globals python file which removes time and block limits, as well as win criteria – the counters still count but nothing happens. Used it mainly for testing, but had I the time I would have implemented it in the options/difficulty menu.

Cool use of physics, but it was very hard to deal with the wind.
I think the default difficulty was a tiny bit too hard with the wind. Easy mode makes the wind a lot more manageable.

This game rocked! It was very simple, but I loved the physics and gameplay. It made me remember my days of block building as a kid.
That was actually my inspiration. Even when the towers fall down it's still quite satisfying!

The wind is evil I tell you. Pretty innovative concept.

Nice game. You should definitely develop it further. Add some more types of blocks and stuff. It would probably also be nice if the blocks could rest at an angle, although I guess that presents the problem with players just making a big heap of blocks without planning anything. You should try Wario Ware Smooth Moves on the Wii if you can, it has a similar minigame in it.
There are several problems with angled blocks; they are very hard to build on top of, they're hard to do collision detection for, and they allow a big pile of doom! I was told about that minigame near the end of the contest. Might have a look.

i hate the little blocks. they bother more than they help. its a bit to hard. placing hard, everything shakes.
I agree, they are a bit of a pain to fit in; but I think that's just part of the game.

interesting idea... gameplay needs to be improved.
In what ways?

This is one of my favorites, top 3 or something of the most fun games! What I miss the most is a better level system, and a bit mor polish overall.
I wanted to steer clear of a 'level system' as it would kick up testing and balancing time. There are several ways it could be implemented, but I can't think of any really satisfactory way – maybe a “challenge mode” with preset blocks.

Cool game. Mouse doesn't want to go to the options/pause/exit sidebar very much - just warps back into the game. Doesn't see much point to the resolution setting. Different shaped blocks would be cool. And different colours. And perhaps that idea where you get set different shapes and have to use them, rather than random shapes.
Not quite sure what's going on with the mouse. Sorry. Differently shaped blocks are a good idea – they'd probably have to have sides parallel and perpendicular to the game edges as the current blocks do, but it would allow you to lock the structure in place a bit more. It would have added to the work of the collision detection/respose which at the moment is quite simple in PyODE.

quite fun game (though not innovative) - made good. a little more production would help a lot
Another comment suggested that there was a similar Wii game, however I have not seen any other games like this before.

I like the game idea and the game itself is fun, too. If you'd like to extend the game, you could add different game modes, e.g. build a tower on a smaller area or tilting ground (ok, that sounds hard to program and hard to play).. Anyway: Well done.
Tilting ground sounds evil! Smaller area... hmmm.

Awesome game, just needed more levels/sounds/whatever.
Sounds, yes. Levels? It's not really level based – more difficulty mode based.

Physics. Yeah, physics!

nice fun game..

Would of been nice to have non-rectangular blocks, and sometimes I had a hard time inserting a block in between two other blocks.
Yes, this is a flaw. Sometimes it's because a block has blown/pushed slightly out of position, sometimes it's just a glitch. I tried quite hard to get the jittery motion out of the game, and I'm still trying.

It's a very solid physics puzzle game, but nothing really rises above average - the game looks OK, but not great, the concept is nicely elaborated with the wind and all, but not that interesting, and the gameplay is entertaining, but lacks greater variety. I like how you've incorporated the physics engine, and the game doesn't slow down at all even with lots of blocks on screen. The controls are very good too - the interface is so fluid and natural, that you almost don't notice it. So kudos for that, but I still don't think I'll return to play this game much in the future. And then, one small improvement that would be easy to make: Add a one-click reset button.
As any interface should be. At first I was a bit worried that people would feel that the block positioning seemed to jump about a bit too much (in earlier versions it did), but it seems to have gone well. Good idea with the one-click reset.

This is great! I love it.

Reminds me of bridge building games. Also that screenshot looks like a cannon.
It does a bit. I wanted to get a shot of something falling, which is quite hard to do in one image.

Nice game, good idea. It's pretty hard to balance the tower for the requested time. And that *** wind too... :D. Ownz!

Hurricane wind........This game rules :)

You're missing some sound and background music there. Other than that, great entry. It's very fun and innovative. Also, challenging without being cheap. =)
You're right about sound.

Glad you found it so.

Quite fun. However it quickly becomes very easy quickly. I do hope you keep working on this. Some recommendations: use difficulty levels. Have higher levels have birds smacking into the tower, more wind, deformed blocks, deformed ground. Ability to save screenshots would be really cool. I made a couple stable towers that looked really rickety :) 2player mode would be really fun if you could throw 1x1 or 1x2 blocks at your opponents tower, maybe once every time they get a block above the line.
Difficulty modes are already in there. Mentioned in the readme, and are off the options menu. I might bind Print screen to do a screen capture – didn't really think of it. My thoughts for a multiplayer mode would probably involve two completely separate games, but with the same blocks spawning, and a split-screen. Would kick up the pressure quite a bit!

Thanks again everybody for commenting and voting. I hope to take this a bit further, though I may not have time for a while (exams coming up soonish).

See you all in PyWeek5!

1 comment