Irrigation (C++, SFML, Perlin Noise)

The Irrigation is my final project for Generative Methods course at U. C. Santa Cruz Game and Playable Media master program.

This is a 2D puzzle game with procedurally generated level, and it is developed in full C++ with SFML library without any game engine.


In this game, the player is going to do time limited irrigation works. The fields need to be irrigated will be a big square splitted into same small squares. The source of water will be the top left corner of the big square. The system will procedurally generate a big field by using 11 different primitives. The primitive is small square embedded by pipe, so there are 11 different types of pipe. Since the field is procedurally generated, at the beginning, most of the pipes are not connected to the Source of Water. What the player should do is clicking the each small square to change the direction of each pipe by left mouse button and making as many as possible pipes in big field connected with Source of Water in limited time.


Perlin Noise is used to generate the level. 

Recursion is used to check how many pipes are connected to the Source of Water

To Learn More:

Shujian Zhang CMPM 265 Final Project Irrigation

Gameplay Video:



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s