Allegro.cc - Online Community

Allegro.cc Forums » The Depot » [KrampusHack 2020] Exo Keeper II

This thread is locked; no one can reply to it. rss feed Print
[KrampusHack 2020] Exo Keeper II
amarillion
Member #940
January 2001
avatar

Exo Keeper II is here!

{"name":"612793","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/a\/e\/aec1435f47b9046df713964389b9e314.png","w":1280,"h":744,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/a\/e\/aec1435f47b9046df713964389b9e314"}612793

Windows binary

Linux binary

Source code of competition entry

Github

Relpatseht gave me the following wishlist to work with:

Quote:

1. Monitor/influence game. I want a game where the world can function without me, and I'm just watching and making influences. Something I can run as a side task forever and devote a little time here or there to to improve. Much closer to ProgressQuest than to StarCraft.

2. Procedural content. I'd like as much as possible to be generated to keep the world always interesting. Infinite worlds are a plus.

3. I want you to implement one of your own wishes.
(And I picked the following wish from my own list: "I love science, and I love games based on science.")

When I read these rules, I immediately had to think back to Exo Keeper, a game I programmed earlier this year for LD46. Exo Keeper is inspired by Sid Meier's Sim Earth, and it has exactly this "gardening" aspect that Relpatseht was asking for.

For this competition I re-wrote the game in D+Allegro. It still contains all the art and music contributed by my LD46 team mates. I added a few new features to make the game easier to follow. For example, species now tell you why they aren't growing, if they are too cold, too hot, or hungry...

How to play

You start with a barren, cold, empty planet. At the start, the planet is completely frozen. The poles of the planet are cold enough to make carbon dioxide freeze. The goal of the game is to terraform the planet, and reach a nice temperate average of 298 °K.

You do this by introducing various micro-organisms. Introducing photosynthesising species will release oxygen, making the planet suitable for higher forms of life. Microorganisms will also stain the white snow, lowering the albedo of the planet. A lower albedo means more heat from the sun is retained, thus warming the planet.

The README has more tips on how to play. Most of all, don't worry too much about all the science. Just spread some microorganisms, have a cup of coffee while you watch them spread and grow!

SiegeLord
Member #7,827
October 2006
avatar

Neat, I like the idea. What this type of game is missing, I think is some graphs of temperature/etc over time. In terms of gameplay, I think it's missing high-temperature, high albedo species to bring down the temperature in a some selected spaces... towards the end, it felt like everything was dying due to heat and there wasn't anything I could do (although, perhaps it would have equilbrated at some not-everything is dead state, since the low albedo things would have died off?).

I liked the in-depth descriptions of the microbes.

Either way, I enjoyed it. My only real complaint is that the UX of the species buttons cool-downs felt clunky... I think they go into some weird unselectable state and you have to click a few times to proceed. It's hard to describe.

Here's my final state:

{"name":"612797","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/3\/9\/39b994f3d1c49443b19a3cadc7f78ce6.jpg","w":1973,"h":963,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/3\/9\/39b994f3d1c49443b19a3cadc7f78ce6"}612797

"For in much wisdom is much grief: and he that increases knowledge increases sorrow."-Ecclesiastes 1:18
[SiegeLord's Abode][Codes]:[DAllegro5]:[RustAllegro]

GullRaDriel
Member #3,861
September 2003
avatar

Well, I'm not fond of evolution games but it was interesting.
I didn't manage to have as much species as SiegeLord thought ^^
I liked the fact that it can be resized. Minor problem, at start it's not sized big enough to display the map in full.

"Code is like shit - it only smells if it is not yours"
Allegro Wiki, full of examples and articles !!

Doctor Cop
Member #16,833
April 2018
avatar

Hi Amarillion, the game is good and I like the music, but I couldn't play it, the screen size didn't fit the game and the side panel wasn't visible, so I couldn't play it for much longer.

amarillion
Member #940
January 2001
avatar

the screen size didn't fit the game and the side panel wasn't visible

Hey DocterCop, the window should start at 1280x720. What resolution is your screen? Does it help to resize the window?

SiegeLord said:

I think it's missing high-temperature, high albedo species

Great idea! This idea of different albedo species comes from a scientific model called daisyworld. In this model, there is only one species (daisies) which can evolve its albedo for the optimal temperature. But in Exo Keeper, species do not evolve. So you'd need a high temperature low albedo species to close the feedback loop.

Quote:

some graphs of temperature/etc over time.

That would be really cool. Hopefully I can make time for this the coming weeks.

Quote:

My only real complaint is that the UX of the species buttons cool-downs felt clunky...

Yeah, I think there is a bug there somewhere... I'll have to work on this part.

I'm not fond of evolution games

Ironically, the species in this game don't evolve! But it seems like they should, doesn't it?

Quote:

at start it's not sized big enough to display the map in full.

True, I didn't have time to implement scrollbars in my from-scratch GUI system. But I figured you can still play anyway, even if you don't see the whole map...

Elias
Member #358
May 2000

I remember playing this before and enjoying it. I like this version a lot as well.

One thing that was slightly annoying is - the info button will not work on the last use species. Sometimes I placed something and then wanted to read the info again - but could not.

(Also, resizable window would be nice, the text is a bit small on an HD screen.)

--
"Either help out or stop whining" - Evert

Dizzy Egg
Member #10,824
March 2009
avatar

This runs pretty well on my laptop, although I'm still not entirely sure how to be that productive on it! I'll give it another run later, see if I can make some changes.

----------------------------------------------------
Please check out my songs:
https://soundcloud.com/dont-rob-the-machina

amarillion
Member #940
January 2001
avatar

@DizzyEgg, did you run it from source? Or what do you mean by making changes?

I made no effort at all to optimize it, I just refresh at a low framerate (10 fps) ;D The gamestate updates even less frequently (2fps), but I was worried about input lag if I went that low.

Doctor Cop
Member #16,833
April 2018
avatar

Amarillion, my screen size is exactly what you mentioned, but still the game doesn't fit the screen and half of the side panel isn't visible, it would be nice to have an in game resizing option.

amarillion
Member #940
January 2001
avatar

@Doctor Cop,

I created an update of the game for you. Here is what I changed:

  • The window starts slightly smaller (1200x750)

  • The game reads the window position from a config file in %appdata%\helixsoft.nl\krampus20\twist.ini. In this config file you can adjust the window position if it's still not small enough.

Download it here: https://amarillion.org/speedhack/krampus20_winbin-v2.zip . Give it a try and let me know if this version works for you!

Niunio
Member #1,975
March 2002
avatar

Nice game. It is simple, pretty automatic. The characters are cute. I really like it.

-----------------
Current projects: Allegro.pas | MinGRo

amarillion
Member #940
January 2001
avatar

Here is another small update: https://amarillion.org/speedhack/krampus20_winbin-v4.zip

New in v3:

  • Play all music, not just the loop section. Music now plays: A,B,B,B...

  • Word-wrapping, to keep text readable in smaller windows

  • Check that window is smaller than monitor size

Edit: new in v4:

  • Fixed bugginess in cooldown on "introduce species" action

  • Increased albedo in late-game species. This creates a brake on temperature increase, so that there is a natural limit on how high temperature will go.

Go to: