October 2018 challenge: “Flow”

31 entries

Destination: Irrelevant

It's our first Pyweek. Looking forward to making something.

Team: davyk3001, ste.pool, Noelle

Just Flow

This game used: pygame1.9, python2.7, and noisepy

For windows x64 users, run JustFlow.exe

For other windows users, run w9xpopen.exe

For Max and  Linux users, install python 2.7.10, pygame 1.9.4 and noise

Install noise here https://pypi.org/project/noise/#files or use "pip install noise"

The game length for each ending is approximately 5 minutes.

You are more than encouraged to stay in each scene and enjoy Eiro Nareth's guitar fingerstyle!

This a game which has no goal at the beginning... But there is!

You were put into a test of "flowing", with different choices you've made there are different endings.

It is worth noting that each test case is carefully chosen,

The details are crucial to understand the meaning of this game

Examples of important details:

  •       Difference between ending 2 and 3
  •       The achievements
  •       Design of the character and instructions
  •       Background music is relevant!
  •       The "Special Clock" object

      ... ...

The Bonus ending serves as an Easter Egg, it isn't related to the overall story line.

Here are the walkthroughs for all four endings:

  • Ending 1 walkthrough:

             Ending 1

  • Ending 2 walkthrough:

             Ending 2

  • Ending 3 walkthrough:

             Ending 3

  • Bonus Ending walkthrough:

             Bonus Ending

There are a total of 19 achievements in this game

It is impossible to get all 19 of them in a single run

You can check out those achievements in the textures folder!

Inside the libs folder you can see a bunch of python files responsible for those special effects...

Feel free to use those special effect python files!(Just don't forget to mention the origin <3)

Entrant: chrisyan2000

ain't got that flow if it isn't a flow

you are rapper and you perform rap by typeing 1 2 3 123 123 123 123 123 123 123 and then you rap and get points, and teach the other guy a lesson ocne and 4 all!




there are 2 endings

i worked really hard on this game, drew all the pictures and made the end music

i hope you enjoy this game!

the GitHub repo is: https://github.com/weijingwang/ain-t-got-that-flow-if-it-isn-t-a-flow

A tip to beat the game easier:

relax and press the buttons, sometimes you don't have to press all of them if there is too many, you can just hold some down.

If you still can't beat it please comment somewhere. I am glad to help.


rap gametitlebegingod flowaudience

Entrant: speedlimit35

Evaporating Kenneth

A platformer where you are a drop of water. The more you move, the more you lose water and health.

GitLab: https://gitlab.com/cauch/evaporating_kenneth

Instruction for the judges
It's just python3 and pygame
just run: "python3 run_game.py"
Select "level01"
(there is also "allcutscene" if you want to see all the cutscenes to have the story, but this is not intended in the "real" game, it's just to help the judges)
If you get stuck in a level, you can easily skip it by editing the "save.cfg" file, and modifying the "lastlevel" line (the order is cutsceneX, levelX, cutsceneX+1, levelX+1, ...)
I did not had that much time to fine-tune the levels. I think level09 is a bit tricky (but technically possible).

Fix for slowness
(a bit late, just in case you are still interested)
in line 239 of game/ek_display.py:
remove (or comment):
        for l in dirty:
        if redraw:

Entrant: cauch

Operation MoonLight

We would be glad if you could try the game through the github repository since we fixed a bug making the game less enjoyable. Of course don't forget to take that in account for the notation. (You can check changelog for modifications)


The earth is now struggling to meet its increasing population's needs in energy. Out of fossil resources, humanity went further and beyond to avoid going back to the stone age.

Some scientists discovered new very efficient kinds of fuel, based on Helium-3 and Hydrogen. Unfortunately, this isotope of helium is only found in rare traces on Earth. However, guess what's full of these fuels? The Moon.

You have been sponsored by a company to travel to the Moon, where your goal is to start tapping into this huge body of raw energy, and eventually sending it back to Earth.


  • Produce as much energy as possible with several extractors, convertors and warehouses.
  • Control and manage this flow of energy with connectors and batteries.
  • Transmit it to available towns on Earth, using the great Light Transmitter.
  • Of course your are now selling energy to the towns willing to pay the most !

Gameplay & Controls

With mouse only.

You can build the following:
  • Gatherers: extract resources from the ground
  • Combiners: combine two resources into another one
  • Producers: produce energy
  • Capacitors: stock energy and resources
  • Connectors: connect buildings
  • Transmitter: sends energy to the earth (don't forget to connect it to the energy network)
  • Headquarter: you need to level up this building to unlock researches
Almost every building needs to be connected.
You can upgrade a building with the "Upgrade" button.
You may cancel an action (e.g. placing a building or upgrading) by right clicking.


You can do some research to improve your buildings or unlock new ones.
New buildings give access to a new kind of resource.
You have to upgrade the headquarter to access other buildings' upgrade levels.


You can earn credits by fulfiling contracts.
On the "Contracts" page, you can select a contract you want to accomplish.
You cannot change the current contract unless you complete it.
To complete a contract, you need to send a certain amount or energy to the town specified in the contract (see "EARTH/SEND ENERGY" section).

The main goal of the game is to send energy to Earth.
Towns are connected only on certains hours. So if you want to send energy to a specific town, you have to wait for the town to be available.
To transmit energy, you have to connect your transmitter to a working energy network.
Toggle the "Start sending/Stop sending" button to enable energy transfer. Don't forget to disable the transfer when you're done.
Energy can only sent from your batteries.


Almost everything is homemade !
Except :


If you encounter any problem feel free to ask a question here or on the repository.
Thanks for your time !


  • Fix on energy transmitter and battery causing crash in some situations.
  • Fix overconsuming resources.
  • Adjust transmitter balance.

Team: Shyzuna, PatatasFritas, JambonBurst

Crossing the flow

Help the animals to cross the flowing river!

Entrant: arifsch

Traffic Flowmageddon

I say, I say, I say.... What do you get when you cross a software developer and an author?

I don't know, what do you get when you cross a software developer and an author?

An entry for PyWeek! B'dum tish.

More fun with PyGameZero and Mu on the cards... setting low expectations via the medium of rotten jokes.

Team: ntoll, zappascout

Rush Hour

It's been an exhausting day, and you just want to get home. Now this. Get through the flow of people to catch the subway!

(My main idea did not pan out this Pyweek, so I started over from scratch with this short little game on the last day. I hope you enjoy!)

Entrant: Tee


If the game framerate is not working for you please add this at line 85 in game.py:

self.dt = self.clock.tick(30)

(courtesy of Cosmologicon)

Entrant: Unicorn Markets


Want to do fluid dynamics with fragment shaders.  Should be hard but doable.

Entrant: ikanreed

Super Flowmaster


# pyweek26-flow
pyweek 26

You gonna need pygame, ya dingus!
Code = WTFPL (this plate of spaghetti is unusable anyway)
Art&Music = all rights reserved except the explosions that are gifs we found on the net

Thx to:
  TEAM MOMOJO - Art Department
  TEAM MOMOJO - Sound/Music Department
  TEAM MOMOJO - Python Department


    Q:    Why do I get a headache playing this game?
        You can do this by pressing escape.
        Some of its flickering goes well below the 13hz range and could trigger
        epileptic seizures in about 1/100000 of people.
        Even if they haven't experienced these before.
        Though we've gone lengths to make sure we stay above 30hz, watch out!

    Q:    How do I beat boss X?
    A (spoilerfree): They're kind of like puzzles. Find the weakspot. Try flowing with it!
    A (SPOILERS!):     Each boss has a time-limit, weakspots and a certain flow to them.
        Make sure the last bullet of your mouthbeam connects
        to the weakpoint as often as possible.
        Sometimes this means imitating its movement.
        Sometimes this means staying still.
        That said, you can't beat hell's panflute so don't even try.
        If you're still stuck, read WALKTHROUGH.md

    Q:    Did you really make all this from scratch in a week?
    A:    Yes. All music, art and script was made and written by Team Momojo from scratch.
        Except for the explosions that are gifs we found on the net and recolored.
        And some public domain glass breaking sounds from freesound.org.
        Also pygame existed already.

    Q:    Were you on drugs making this?
    A:    Not while, but the programmer/designer certainly was before and after.

    Q:    Can you tell us more about Team Momojo? Who are you people?
    A:    Our parents taught us to never give out our real names on the internet.
        We are three dutch people.
        A programmer/game designer, a graphics designer and a sound designer/composer.
        There's also a cat that does LAZERS.


Team: zwerver, anonymous

Alien Toy Factory

I love Kenney's graphics library, PyGameZero and Mu. Let's see what I can do with them :D

After some brainstorming, the game idea I've settled on is to have the player(s) manage a factory making things, using conveyors and machines to build things from raw materials. A bit like Roborally, factorio or Minecraft, but I'll try and put my own spin on it.

Entrant: AnthonyB


Setup a pipeline to build more thing more quickly. Why do you want to build all this anyway?


- Python 2.7
- Pygame 1.9.3+
- numpy

Other dependencies are now bundled.

Please see the readme and in-game instructions for more information.

Tutorial for the first few things to do in the game

Here's a video of what should happen (from a slightly modified game so I can show the time ellapsed since the last keyboard key press): Recording

0. The game window should be mostly black. If playing version 1.0.2 (instead of 1.0), ignore the other window that's for debugging only.
1. At the title screen, left click on word "start" at the center of the star.
2. Move your mouse cursor over the left rectangle where it says "Will" and press w (on your keyboard keeping the mouse cursor there) 4 times.
3. Something should appear at the top ("0/4 Will | Research ..."). Left-click anywhere in that rectangle, move the mouse cursor down a bit (anywhere) and left-click (to drop the rectangle that should be following you after the first left-click).
4. Press w 4 times with the mouse cursor over the "0/4 Will" box (not the "0/2 Will" although you'll have to do that later and could instead do it early).
5. A new rectangle replaces the old one at the top. Left-click on it and left-click anywhere in the play area to drop a copy of it.
6. Press p with the mouse cursor over the "Si 0(+1)" (from the beginning of the game)
7. Press p with the mouse cursor over the "0/2 Si" (from the rectangle you dropped in step 5)

Later on, as you get more things to add, you'll have to scroll the top pane by spinning the mouse wheel over it (there may be gaps between objects; this is a known bug).

Entrant: asrp


Don't worry, be happy!

this game is a multi window game :)

Maybe my game only work on Windows, because I creat a lot windows, other OS like Linux wouldn't like it :)

how to play

You can simply run compiano.py to run my game

I should first tell you that you can press the ESC key to exit :)

press the Enter key to start the game, there should be blocks raising up, each block would have its own letter on it, say 'f','g','h','j' or 'k', when the block reach the line above, press the corresponding key.

It is more like a demo, but it is music game :) remember turn on volume control :)

Entrant: xmzhang1

Bone Rush

Important Fix (Windows)

Thank you @gummbum for pointing this out to me in the discussions. 


  • 61: cr.LoadScene("Scene/main.ccreator")
  • 66:  pyglet.resource.path.append("Resources/creator")


  • 83: self.attack_sounds.append(pyglet.media.load("Resources/creator/Audio/" + sf, streaming=False))
  • 84: self.hurt_sound = pyglet.media.load("Resources/creator/Audio/attack.wav", streaming=False)
  • 87: self.skeleton_walk_imgs = list(map(lambda x: pyglet.resource.image("Texture/skeleton/"+ x), images))
  • 90: self.skeleton_attk_imgs = list(map(lambda x: pyglet.resource.image("Texture/skeleton/"+ x), images))
  • 92: self.skeleton_fall_img = pyglet.resource.image("Texture/skeleton/fall.png")
  • 208: spr = cocos.sprite.Sprite("Texture/skeleton/walk1.png")


  • 199:  font_name=lbl.FontName().decode('utf-8')[:20],

Details about the fixes quoted above:

The game is failing to run on windows due to some issues in pyglet library

Error1: Replace all os.path.join() calls the actual path (fails with assert when using os.path.join for relative paths) 

Error2: pyglet label fails with error saying unable to proceed:

Thank you for taking time to try out my game. Sorry for the trouble, lesson learnt, test on windows before uploading final version :)

This is a simple arcade game with simple two button input. You have to tap left-arrow when there is an enemy to the character's left and tap right-arrow when there is an enemy to the right

InGame Screenshot

If you are a fan of cocos library you should definitely try to look at the way i've used the "Cocos Creator" editor for setting up the scene to render in-game. I've leveraged the same workflow i used in my previous pyweek entry.  


  • Cpp-Lua plugin for Cocos Creator [https://github.com/cocos2d/creator_to_cocos2dx]
  • FlatBuffers for python
  • cocos (python version) [https://github.com/los-cocos/cocos]
  • pyglet

Tools Used:

  • Cocos Creator 1.9
  • Dragon Bones Pro [Animation]

I'm not sure how popular cocos still is but i've been used to cocos because of cocos2d-x and cocos-creator so tried to leverage that experience by using the same on python side. I would love to see cocos-creator editor support get added to cocos library project but thats a discussion i should still start and see. 

Entrant: gizmo_thunder



You manage battle ship and you basically have three objectives (press "A" to see them).

Watch out for enemies like cannons - they shoot only short distance, but there are a lot of them and they are annoying.

Watch out for enemy ships - they are strong and can hit you hard. But you can escape them easily.

Try to get energy and score special items. They are everywhere!

Map is huge - explore world but watch out for enemies!


This is my third Pyweek submission. So far I got following places: 31 and 19. Hope better position this year.

I programmed game myself, with just Python 3 and Pygame.

For assets used OpenGameArt.org with Public license.

Took me 19 hours to build.

Source code: https://github.com/ReekenX/pyweek-pirate-flow

Entrant: ReekenX

Road Rage

A game where you have to manage the FLOW of traffic in a city.

PLEASE NOTE: The Source code works in Python 2 and Python 3, there are not separate versions for each.

Check out the itch.io page!

Entrant: OrionDark7

Let There Be Light

You are in charge of building power lines and sustaining an energy grid to supply cities with energy.  As they receive energy, they grow, and so do their energy demands.  Will you be able to keep up with the growing power use and prevent a catastrophic breakdown of the energy grid?

This is the preferred route.  I recommend Python 3.  I recommend installing the dependencies (Panda3D 1.10 and numpy) via pip, using the command:
pip install -r requirements.txt

Then, just call this to run the game:
python run_game.py

If getting Python 3 is inconvenient, you can download binary builds for all major platforms.  Just run the run_game executable.  On macOS, just double-click the .app file; if you get an error about me being an "unidentified developer", go to System Preferences, Security & Privacy, click the lock, and click Open Anyway.

If the game doesn't work, please send me the log file.  You can find it in:
Windows: C:\Users\You\AppData\Local\Let There Be Light\output.log
Linux: /home/you/.share/local/let-there-be-light.log
macOS: /Users/You/Documents/let-there-be-light.log

If you can't run it, please send me the command-line output (or, if you ran the binary build, the log file in the aforementioned location).  You can also always message me as `rdb` on the FreeNode IRC network.

The game appears quite dark on macOS, but it runs for me.  Unfortunately, due to Apple's recent course on deprecating open graphics standards like OpenGL, all bets are off on whether it will work on your machine as well.

Entrant: rdb

Deep Breath

A white water rafting challenge.

The code repository can be found here:  Code Repository

Team: DR0ID, gummbum


A flood has engulfed your town! Everyone is confined to their houses and can't escape without your help. You must travel around in your trusty boat to rescue everyone. Don't leave anyone behind, or they'll die! The flood is causing sticks
and debris to flow with the current, and houses are getting damaged. Make sure you don't get hit, and get to everyone before their house goes under!

Team: LeopardShark, QuantumPotato

Flowing Magic

I'm hoping to make a digital board game type game - it all depends on the theme and how it inspires me.

Entrant: saluk

Storm Drain Odyssey

3d dungeon exploration. Control with keyboard. Requires PyOpenGL.

Save feature does not work! See README.txt for cheat codes to skip ahead if your game crashes or you get stuck.

Playthrough video: https://youtu.be/Vi7i3Ji4ZW8

Team: Cosmologicon, mit-mit, marybee, EnigmaticArcher

Crossing sea!

Boat racing.


Entrant: yarolig

Dynamite Valley

It's fall, and that means it's blasting season!

The beavers here in Dynamite Valley Park have been working overtime, making dams! If I've told you once, Ranger Jim, I've told you a thousand times-- now get out there and blast those consarned dams!

Guide Ranger Jim around a series of levels infested with beaver dams damming up the waters of Dynamite Valley Park.

Requires Python 3.6 or newer, current Pyglet, and current PyGame.  If you've got those, just unzip and run

  % python run_game.py

Check the README.md for detailed gameplay instructions and everything else.

Oops, forgot one thing: Remote-control bombs are triggered with the T key.  Those are the bombs with the red ring near the fuse.  They're only on a couple of levels!

p.s. we recommend the tutorial!

Team: mauve, larry

Chart of Flowrock


The game is a first person, cell based, dungeon crawling ... thing. You navigate (a) random level(s) using a flow-chart. The default controls are:
A - left
W - up/forward
D - right
You can define your own controls by editing the options.prc file (it's a text file), there you can also set the resolution, sound and music volume.

Best way to run it is to use the dedicated binaries for your os (32bit windows is down here, just not marked final)
(if they are not up yet, they will be soon-ish)

Gameplay Video:

I expect You will have some problems running the game. It's almost a PyWeek tradition:
-on windows, intel gpu:
Using shadows can crash the game, when asked in game if you want shadows answer no
-on linux
You will (probably) need to add (or uncomment ) 'gl-version 3 2' in the options.prc, else the shaders won't run
-on mac
If you open the .app you will get an error; go to System Preferences, Security and Privacy, click the lock, and click Open Anyway.
The game will only run in potato mod, use the app provided, some fixes may be missing from the source

If all goes wrong...
The game has a 'potato mode' if you can't get it to run, you can set 'potato-mode 1' in options.prc to disable all shaders. It won't look good, but it should run on any system capable of rendering opengl 1.1

Special thanks to rdb for providing help building the os specific versions

Entrant: wezu

Go with the Flow

Sustainable tourism on the Amazon river system

Python 3.6, PyGame, Pillow

Travellers are queueing up to visit the Amazon river system. However, in this sensitive ecosystem tourism is carefully controlled. Only a few electric amphibious vehicles are allowed, and they must run on solar power.

Look closely to see the river flowing - A small detail that I'm particularly pleased with :-)

Control your vehicle with the arrow keys (fast, slow, left, right) and pick up your first passenger. Show them the sights, then take them back to their hotel.

Pop by a power tower to recharge the battery. If you run out of power you lose your vehicle.

Float down the river to save power. Use the space bar to switch to flow mode (and back). Leave the river in time or it will disappear from the game.

Get a vehicle to move up the river, whilst you take control of another car. Hit space bar and enter the water. The start of the rivers now each get a letter. Hit that letter to move upstream towards it. Use the space bar to leave the river at any time.

Use the tab key to switch to the next vehicle.

The game has 5 levels. See how fast you can complete them all. If you want to create more levels, just add them to the levels.txt file.

When going up and down the river, the car should be pointing the correct way. That isn't quite working yet. Also, some of the 'collision detection' is a bit off

GitHub repo at https://github.com/CompassMentis/pyweek26_go_with_the_flow (this didn't work in the Github repo box on the form, in any shape or form I could think of)

Entrant: coen


Master your Monkey Mind and ascend to ever higher planes of spiritual awareness in this meditation simulator!

UPDATE 29/10/2018:------

Ok so there is a game-breaking bug on linux.  I've pushed a fix to my github repo, but it's an easy fix in the code if you want my "official" entry to work.

Simply change line 45 of `fallingBoxesLayer.py` to

        self.__bps_granularity = 8.0 #beats per second


Entrant: Japes55

Time Chicken

A chicken which casts spells to control the flow of time and help The Demon Egg to safety.

Game Features:

  • Start Menu
  • Control run speed (LEFT/RIGHT ARROWS)
  • Jump (SPACEBARD)
  • Cast Spells (LETTERS)
  • Check Spellbook (TAB)
  • Pause (ESC)

Running The Game:


   1. Activate the virtualenv ("venv\Scripts\activate")

             (Note: skips step 1 if you have pygame and python3 installed already)

   2. Run the game ("python TimeChicken.py") 


  You will need Python3 and pygame installed

  1. Run the python script ("python TimeChicken.py")

Please comment with any difficulties or feedback, it would be really appreciated!

Entrant: haker23

Flow Wolf

Introduction to industrial process control.

You have to control the flow, but you have a handy helper.

Update: I just tried playing this with Python2 and it has several problems:

1. The import statements are not properly written for Python2.

2. After fixing that, some of the graphics are not working as planned.

In particular, there is a Trend Graph which does not work on my Python2 install.

Sorry, I'll try to be more universal next time.

This game was written with Python3.5, pygame, and numpy. Everything else is included.

Entrant: typhonic

The River

I only had one day to develop a game this time, but I wanted to finish it because I didn't finish the last two times.
But I managed to do it, even though the game is without sound and music!

The gameplay itself is complete and I quite like the game a bit, so I am happy that after the nightly and morning programming sessions were worth the effort!

Now I can sit back, make myself a nice cuppa of green tea and enjoy the other games :).

Congrats to everyone who managed to finished their games! \o/

Entrant: Master47

Snow Hill

Make 7 mighty wizards flow down a hill of snow on their yellow-elephants-on-rafts - by dragging them around with the mouse.

In theory clicking on run.sh / run.command / run.bat should run it under Linux / OSX / Windows - courtesy of pyinstaller. If pyinstaller does not work and you want to run it with your own Python3 things are a bit more tricky. The file to run is src/main.py, and it will look for data in "../data" and for native libraries in the current directory.

Oh, and since I forgot to mention where any of the non-source-code files are from in the readme: Most of the meshes I made with a small tool to place 3D spheres (and boxes/cylinders/cones). The height maps are done with another small tool to create a perlin noise. Most of the sounds are from freesound.org and the two music tracks are created with LMMS (using midis for the tunes). Finally, liballeg.org (with its official python wrapper) is used as engine.

Entrant: allefant