Stacky Tower Screenshot

Stacky Tower

A father and son team. Our game is called Stack Tower.


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).

Game Play

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.

github.com/dowski/pyweek28

Awards


The "Mu" award for friendliness to beginner programmers.
Presented by ntoll

Give this entry an award

Scores

Ratings (show detail)

Overall: 3.6
Fun: 3.4
Production: 3.2
Innovation: 4.1

16% respondents marked the game as not working.
Respondents: 10

Files

File Uploader Date
stackytower_bundle.zipfinal
EXE, source and README bundled for final submission
dowski 2019/09/28 20:12
stackytower_kTvCUca.exefinal
Windows executable version of Stacky Tower
dowski 2019/09/28 19:58
stackytower.zip
Source version of game for running in Mu editor
dowski 2019/09/28 19:57
Pygame_Zero_Game_9_28_2019_2_22_32_PM.png
Stacky Tower Screenshot
dowski 2019/09/28 18:23

Diary Entries

Stacky Tower?

Hi, I'm Christian. My 13 year old son and I are teaming up on a game. This is our first PyWeek.*


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

Add a comment

We have ... a tower!

Well it's been slow going. We actually restarted once (due to me writing the code too much like a software engineer and making it hard for a kid to understand ...).


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.


2 comments

Two players and special blocks

A bit more progress. We have two players, some special blocks and a background image.



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.

Add a comment

Finished!

I think we're done.



A bunch of stuff went in yesterday.

  • Damage to towers
  • Shotgun
  • Shield
  • Medkit
  • 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!

2 comments

Stacky Tower: Christmas Update!

Eli got inspired and did a Christmas update for Stacky Tower. This update includes two new blocks.

  • 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

Merry Christmas!

Add a comment