Day 4 Screenshot

Calm Waters

A game where you try to move a boat by only throwing pebbles to create ripples in the water, which moves the boat. You then move that boat around a maze. That's the gist of it.

Screenshots are not up to date, obviously. The boat is not a white rectangle anymore. Don't let that throw you off.

Also check out the game's page!

Download + Run Instructions


Make sure you have the following dependencies installed:

  • pygame 1.9+
  • pytmx 3.2+

These are listed in the requirements.txt file, which you can use to pip install these packages.

After that, extract the file and run in python 3.


Extract the contents of the zip file, and run main.exe in the PYWEEK29 folder.


Calm frustration
Presented by zwerver

Presented by xmzhang1

Give this entry an award


Ratings (show detail)

Overall: 3.0
Fun: 2.4
Production: 3.1
Innovation: 3.7

2% of respondents wished to disqualify the entry.
Respondents: 14


File Uploader Date
Windows Package
OrionDark7 2020/03/29 21:34
Source Code
OrionDark7 2020/03/29 21:27
Day 4 Screenshot
OrionDark7 2020/03/25 02:34
Day 2 GIF
OrionDark7 2020/03/23 03:03

Diary Entries

Day 1 - Brainstorming and Simple Engine Stuff

Today I did some brainstorming and decided to make a game that I'm pretty excited about. The concept is you are trying to move a boat around in a pond to complete a certain objective by throwing stones and pebbles, which create ripples that move the boat. I'm planning on having a character that moves around the pond to throw rocks at different angles and at different speeds. I'm also planning on having different levels with certain amounts of pebbles, certain objectives, and certain different obstacles (rocks in the water, waterfalls, amount of land to throw rocks from, maybe other boats).

Today I got some boring stuff out of the way, I got working code for UI text and button stuff as well as the bare minimum of game objects, including water, the boat, and pebbles. I'm going to work on ripples tomorrow.

Good luck to you all! Don't forget to wash your hands!

Add a comment

Day 2 - Ripple Physics and Level Loader

Today I worked a lot on the physics and collision detection of the ripples. I'm new to using masks in pygame, so that was a fun but very frustrating process. I eventually got it, and the work paid off, as the collisions work and the ripple effects look super cool. Check it out:

I also created a system to load levels through PyTMX, which has proved to be helpful to me in one of my previous PyWeek entries. I added basic sprites for walls and finish lines, to move on to the next level.

I'm going to try to make the game have a relaxing zen-ish feel because we all kind of need that right now due to the things happening in the world that I know you all are aware of. I got a guitar recently so I'm going to see if I can do something with that to create some soft nice guitar music to go along with a steadily-paced (hopefully, we'll see) relaxing game.


Days 3 and 4 - More Objects, Graphics, More Levels and Stuff

I forgot to post yesterday. I'm going to combine yesterday's and todays posts into one.

I added some more objects into the game, including finish lines (as an objective for the level), rocks, lily pads, sewer pipes (which will act as portal-like mechanisms) and coins. I'm planning on having the purpose of the coin to be spending on customizations, like boat colors.

In addition to the actual code for the objects, I started working on the graphics for all of them. I decided to experiment with low-poly graphics, as I thought it would add a more relaxing feel to the game, which is exactly what I'm aiming for. I didn't fully complete the graphics, but I got quite a few of them. I also got a font as well, trying to fit it in with a modern theme around the low-poly graphics.

I also started to create more levels, trying to experiment with different obstacles and patterns to make the game more interesting and fun.

1 comment