Playing Stacky Tower
The game may be played from source or by using a pre-built Windows executable.
The easiest way to play from source is to use the Mu editor. Check out the Stacky Tower code from this repo (or extract a zip file) to your preferred location and open stackytower.py in Mu. Choose PyGame Zero from the Mode selection button and then click Play.
You can also simply extract the .zip file into a virtualenv, pip install pgzero==1.2 and run pgzrun stackytower.py.
If you are running on a Windows platform you may opt to use a pre-built executable (stackytower.exe).
The game opens to a menu. Follow the basic instructions for play within the game.
Custom Keyboard Layouts
If you use a non-QWERTY keyboard layout you'll need to play from source. You can edit the key mapping at the top of stackytower.py to suit your preferences.
The "Mu" award for friendliness to beginner programmers.
Presented by ntoll
Ratings (show detail)
EXE, source and README bundled for final submission
Windows executable version of Stacky Tower
Source version of game for running in Mu editor
Stacky Tower Screenshot
Our game is going to be sort of a puzzle/racer game. Our rough idea is for two players, each trying to build the highest tower. There is a changing selection of new blocks at the top that the player can choose. Some blocks add to their tower, others are attacks against the other player. Here's a sketch.
I program for my day job (not games though) and I taught my son Python and PyGame Zero last year. He made a cool space-invaders type game using pgzero yesterday as a warmup for the competition.
I'm the better coder and he's the better artist. But hopefully we'll both be making contributions in each area.
*I've signed up for prior PyWeeks but I've never actually taken part
We have ... a tower!
But now we have something that both of us have contributed to and both understand. It's more fun this way. :-)
Here's a screenshot of where we are right now.
Two players and special blocks
Tomorrow hopefully we'll get some of the basic game play in (i.e. one player wins when their tower gets to a certain height). After that it will be on to making a couple of the special blocks work (cannon, shield).
This has been a ton of fun so far. My son is really getting into it and it's been fun to code side by side and push/pull from github to share our work.
A bunch of stuff went in yesterday.
- Damage to towers
- Sound effects
- Improved tower images
- Active player indicator
- Hacked in 1-player mode
Today was mostly about packaging and some finishing touches.
- Menu + instructions
- Refined 1-player mode
- Play again after game finishes
- Balancing attack vs. defense
The game still feels a bit random (in fact that's how the "AI" in 1-player works). There are definitely smart ways to play though.
As for code quality, well ... the menu is a complete hack. There are lots of decently factored functions, but update() is sort of a mess. And there's global state everywhere. But in some ways it's laid out as simply as possible for collaborating with my son. We specially avoid lots of fancier Python functionality for that reason too (e.g. our only class in the game simply serves as a namespace).
This was a ton of fun! Looking forward to trying the other games and taking part in judging!
Stacky Tower: Christmas Update!
- Present: reactivates the block below
- Snowball Gun: fires a snowball that freezes the block across from you - the next block dropped by your opponent doesn't take effect