Title screen

The Cloud Shepherd

Control the weather and teach nature a lesson.


Noah wishes he had this kind of tech.
Presented by Squish

fAn game
Presented by ilseppia

Give this entry an award


Ratings (show detail)

Overall: 3.8
Fun: 3.3
Production: 4.1
Innovation: 4

7% respondents marked the game as not working.
Respondents: 13


File Uploader Date
Version with music and badges.
cyhawk 2012/05/14 09:25
The Cloud Shepherd 1.1.zip
Windows executable
cyhawk 2012/05/13 23:55
The Cloud Shepherd 1.1.dmg
Mac OS X application
cyhawk 2012/05/13 23:34
Early concept
cyhawk 2012/05/13 11:16
As yet unused forecast icon
cyhawk 2012/05/13 11:15
The Cloud Shepherd Screen Shot 2012-05-13 at 01.35.48.png
Gameplay screenshot
cyhawk 2012/05/13 00:37
As far as we got on time.
cyhawk 2012/05/13 00:15
Title screen
cyhawk 2012/05/12 22:00

Diary Entries

The Cloud Shepherd: Sandbox Edition

I would have bet against it even a few hours ago but we actually have something that is not far from being a game. You fly around and place fans. You can water the desert to have cacti spring up, flood the cities and so on. Alex's water simulation makes it rather entertaining!

The water simulation is in a C extension so we definitely have packaging work to do tomorrow.

It's the first time I teamed up with another programmer for PyWeek. We both liked the theme and quickly agreed on many details of a weather control puzzler. But I envisioned it as something simple, 2D and board game-like while Alex wanted to do a more realistic 3D simulation. He's the better programmer so I gave up trying to convince him.

Since we only started on Tuesday we had a scarcity of time and I kept to drawing stuff until today. This morning we only had the height map rendering, clouds, fans and a pile of useless sprites. Alex has finished the fluid simulation and realized it's dead slow. So he ported it to a C extension. I was sure at that point that we would have nothing to show for all of our brilliant ideas. But things started coming together and it's a fun little sandbox now. We'll probably do a post-final version with sounds and music tomorrow for the more lenient judges.

We only decided on the name today, so I could not write diary entries earlier... But here's an early concept sketch that reflects my tile-based approach.

I've seen really impressive screenshots from other entries so I'm looking forward to the judging period!


The Cloud Shepherd: Quick notes

Some practical notes:

Badges are awarded at 81, 201, and 501 points. Highest possible score is 937.

'p' pauses the simulation. 'a' and 'z' to fly up and down. Backspace or delete while a fan is selected to delete it.

While stacking up clouds and then pushing around a massive water ray of doom is a nice way of quickly getting water where you want it, the world tends to flood over time. If you actually want to build a stable weather system, you'll probably have to push some clouds off the map as soon as they spawn.

If you're having problems with types in PyArg_ParseTuple in the c extension, this patch might help. I've also seen issues with glBufferData only taking 3 arguments in pyopengl 3.0.0. pyopengl 3.0.1 or later seems fine; can also work around it by removing the size argument to all glBufferData (second argument) and glBufferSubData (third argument) calls in world.py.

On pyweek in general: It's was a hectic but fun first time participating for me. More time would definitely have helped. While Daniel has mentioned it in the past, it was only when he talked about it on Tuesday that I learned that it was happening last week. Between a late start, an overly ambitious idea, full-time work, and prior commitments on Thursday evening, I'm glad that we were able to complete something that you can actually play, and not just some rendering and simulation experiments loosely bolted together.

Still, lots and lots of things were cut from the original vision:
  • There was supposed to be a sequence of stated objectives, at first to introduce mechanics, later to drive the game, gradually making more of the map visible. "Move the clouds away from Beach City.", "Water the fields.", "Provide snow for Ski Resort City.", "Dracula wants lightning for his castle."...
  • Rain would turn into snow over the mountains.
  • Clouds were not meant to overlap. When they bumped into each other, you'd get lightning.
  • Lightning would start forest/bush fires that you'd have to put out.
  • Clouds were meant to expire, or maybe run out of water (based on temperature?), or need an explicit trigger to start raining... We could never really agree, so it ended up just being a constant, permanent rain.
  • The castle was supposed to start out un-haunted, but would go haunted if you provided nearby lightning.
  • You were supposed to be able to control the speed and duty-cycle of fans.
  • Cthulhu was meant to attack one of the cities on the coast. (We even have sprites for this!)
  • You were supposed to have a giant space laser heat ray and cold ray, for making snow or evaporating water.
  • You were meant to create an artificial lake to drive a hydro plant as one objective.

And lots of other things, not to mention non-game-mechanic graphical improvements, UI improvements, having a height-map with rivers that flow the right way, ...

I am happy that one of the main ideas survived: Mad science + weather control == collateral damage. Originally you were meant to complete a series of objectives, after which you would triumphantly declare that you had mastered weather, only to zoom out and see the havoc wreaked on the rest of the map: forest fires, flooded areas, vast deserts. What we ended up with is just flooding, but boy do we make up for it in volume!

Add a comment