Loon
Loon
The Loons have a problem we can sympathize with -- global warming. Lakes and rivers are drying up, croplands are turning to dust, and it's becoming really hard to find any ice for a rum and coke. So they've come up with a plan -- move to the moon!
Help the Loons build a colony on their moon. Mine resources, build habitats, farms, factories, everything needed to make them feel at home. Support a big enough population and you may just save the Loons from extinction.
The Loons have a problem we can sympathize with -- global warming. Lakes and rivers are drying up, croplands are turning to dust, and it's becoming really hard to find any ice for a rum and coke. So they've come up with a plan -- move to the moon!
Help the Loons build a colony on their moon. Mine resources, build habitats, farms, factories, everything needed to make them feel at home. Support a big enough population and you may just save the Loons from extinction.
Awards
Scores
Ratings (show detail)
Overall: 3.1
Fun: 2.9
Production: 3.6
Innovation: 2.9
Files
File | Uploader | Date |
---|---|---|
Screen shot 2013-09-08 at 3.27.02 PM.png
Screenshot of final release |
gcewing | 2013/09/08 03:31 |
Loon-0.2.zip
— final
Final Release |
gcewing | 2013/09/08 03:27 |
Loon-0.1.zip
— final
Initial Release |
gcewing | 2013/09/07 14:15 |
Screen shot 2013-09-07 at 1.29.34 AM.png
Screenshot with Smelter |
gcewing | 2013/09/06 13:32 |
lander_and_resources.png
Early screenshot of lander and resources |
gcewing | 2013/09/05 21:23 |
loon2x.png
A loon |
gcewing | 2013/09/03 00:44 |
Diary Entries
Made a start
I've decided on a concept. It will be a peaceful RTS-style game based around building a lunar colony.
Resources: water, silica, metal ore, sunlight (for solar power)
Fixed units: habitat, smelter (turns ore into metal and silica into glass), factory, farm, solar panel, hydrolysis plant (to produce oxygen from water), transport tube
Mobile units: worker, rover
I started on the coding last night, and I made a bit of artwork today:
A loon (any resemblance to a Kerbal is entirely coincidental).
Resources: water, silica, metal ore, sunlight (for solar power)
Fixed units: habitat, smelter (turns ore into metal and silica into glass), factory, farm, solar panel, hydrolysis plant (to produce oxygen from water), transport tube
Mobile units: worker, rover
I started on the coding last night, and I made a bit of artwork today:
A loon (any resemblance to a Kerbal is entirely coincidental).
Walking
Got a walking animation working for Loon movement. I probably spent longer on it than I should have, but it looks at least 3126.48% better than my last RTS effort, where the units moved around like cheesy cardboard cutouts.
Also found a really big picture of a piece of lunar surface to use as a background. It's starting to look like the moon, if nothing else.
Also found a really big picture of a piece of lunar surface to use as a background. It's starting to look like the moon, if nothing else.
Graphics and resources
Last night I figured out how to render oblique views of 3D objects by bodgying together a tool chain involving Sketchup, Preview, Seashore and Intaglio. I know, smart people use Blender for that sort of thing, but it doesn't fit my brain well enough for use under pressure.
Used it to create a nice-looking lunar lander unit. Also put together the beginnings of a resource system.
Woke up this morning thinking that I need to have a separate Mission object for handling the various actions that a unit can perform. That may have to wait a bit, though, as non-Pyweek duties are calling. :-(
Lander, and some ore and water deposits.
Used it to create a nice-looking lunar lander unit. Also put together the beginnings of a resource system.
Woke up this morning thinking that I need to have a separate Mission object for handling the various actions that a unit can perform. That may have to wait a bit, though, as non-Pyweek duties are calling. :-(
Lander, and some ore and water deposits.
Unit Construction
Loons can now construct buildings and carry resources from one place to another. One building type is implemented so far, the Smelter. (Mostly implemented -- it doesn't actually smelt anything yet...)
Facepalm
I spent several precious minutes trying to figure out why "Factory.try_to_start_building" wasn't getting printed by this method.
def try_to_start_building(self, cls):
"Factory.try_to_start_building" ###
missing = self.resources.use(**cls.construction_resources)
if missing:
self.missing_resources = missing
...
def try_to_start_building(self, cls):
"Factory.try_to_start_building" ###
missing = self.resources.use(**cls.construction_resources)
if missing:
self.missing_resources = missing
...
Made a release
Made very good progress today. Added a bunch of units and got it into a minimally playable state. Time for a release in case I don't get another chance.
Things remaining to be done, roughly in order of priority:
Things remaining to be done, roughly in order of priority:
- Start with more than one loon
- A unit for training more worker loons
- Finish the help file
- Solar panels, power system
- Time limit
- Title screen
- Sounds and music
Final release!
Did quite a lot of last-minute polishing this morning, and even managed to find some appropriate music. As always, I didn't have time to implement everything I had in mind, but it's good enough to call it done. I can get back to playing Kerbal Space Program now!
Bug fix for Loon
To prevent occasional crash when a resource finishes getting mined, apply this change to Game/Code/missions.py:
--- missions.py.orig 2013-09-07 17:51:27.000000000 +1200
+++ missions.py 2013-09-14 09:41:07.000000000 +1200
@@ -45,7 +45,7 @@
return target.resources
def units_removed(self, unit, units):
- if self.target in units:
+ if self.get_target_unit() in units:
self.target = None
if self.next_mission:
self.next_mission.units_removed(unit, units)
--- missions.py.orig 2013-09-07 17:51:27.000000000 +1200
+++ missions.py 2013-09-14 09:41:07.000000000 +1200
@@ -45,7 +45,7 @@
return target.resources
def units_removed(self, unit, units):
- if self.target in units:
+ if self.get_target_unit() in units:
self.target = None
if self.next_mission:
self.next_mission.units_removed(unit, units)