posted Aug 8, 2019, 12:56 PM by Jacob Evans
I don't think I've mentioned that I've been working on a video game for the last year. It's a long way from finished, and will be for a long time, but it’s made out of lots of other, smaller,
finished pieces I want to be able to share, so I thought I’d put together a video to show the progress I’ve made so far. It turned into a little
more of a trailer then I’d planned,
but I think it gets the idea across.
It's called Protect Your Plant and the general premise
is this: you are a small robot that carries around a plant and makes
sure it gets enough sunlight, water, and nutrients. It’s the end of
the world and everyone else is acting accordingly.
Since the video is
kind of silly, here’s a little more thorough list of features.
Normally I’d be the art/writing guy for a project like this, but
for Protect Your Plant, I’m doing everything. Because of that, I
have a tendency to declare ‘good enough’ and move on just to keep
things going, so some of the features have fun caveats:
-
Multiple
Levels and in-game ‘portals’ – these work fine, I plan to add
a loading screen someday.
-
There’s a
dialogue tree for NPC interactions and observable objects. I
currently write all the dialogue manually in json files. I may make
a tool to format them properly in the future. The tree also manages
the player’s completed choices and major events. It’s borrowed
from an old demo, but I had to rewrite the code pretty heavily to
make it work with the newer version of the engine.
-
There’s a
save/load function. It’s limited to one save slot but works
reliably from each level. You can easily edit the save file, but I
don’t really consider that to be a problem.
-
Gameplay been
the main focus for the last few months. The idea is that you track
the levels of sunlight, water, and nutrients to make sure they fall
within the optimal range for your plant. You gain or lose leaves
based on how well you do. When you run out of leaves, the plant is
dead.
-
There’s
only one plant option now, but I’ve been building everything so
that adding multiple plants should fit in pretty easily later on.
That way, the plant you choose at the beginning of the game will add
different constraints (a cactus will need lots of sun, but very
little water, while a shade plant may need the opposite, which would
change how the player would traverse the same map on each
playthrough).
-
Sunlight
varies in intensity throughout the maps and at different times of
day. Direct sunlight fills the bar faster, but increases the
temperature and dries your plant out. The sun meter resets at the
end of the day.
-
Maintaining
the right amount of water is important, but gaining it also leaches
out some of your fertilizer. Water depletes slowly over time, and
faster if you’re near heat or in direct sunlight. Water can come
from many sources (rain, leaking pipes, smart-sinks you can trick
into overflowing, etc)
-
Improper
amounts of fertilizer can either damage the plant and remove leaves,
or just stunt it, preventing it from gaining leaves if everything
else goes well. The game is currently tracking each of the big three
nutrients (N, P, and K) so that later gameplay can include a
pseudo-crafting system where you need to scavenge different sources
of each.
-
Every five
days (we’re using metric weeks in here) the game checks if the
levels for all stats are good or not, and adds or removes leaves.
-
There’s a
day night cycle, and the temperature climbs and drops throughout the
day. Being in direct sunlight, or near heat sources will increase
it, and other areas, like basements, will be cooler. I plan to
eventually add temperatures as a hazard (too much heat would wilt a
plant, or a late-night frost would threaten to damage it).
-
Speaking of
hazards, I just got these working – this world is at the edge of a
Windup Girl style biological apocalypse, and if you stray too close
to invasive bugs or toxic fungal blight, your plant can become
infested. The more contact you have with these hazards, or the
longer they linger, the more damage they do to your plant. Scavenged
fungicide/insecticide will kill the infestation, and provide
temporary immunity, but make you dangerous to some other critters,
like bees. (Bees not yet included.)
-
Weather: In
addition to the changing temperature, the game currently randomizes
the chance of rain, the intensity of the storm, and the chance that
it will stop. In the future I plan to add temperature extremes, and
more damaging weather like hail that will force the player to take
shelter.
-
Time:
Everything (time changes, lighting changes, temperature changes, the
placement of the sunlight, calculations for the weather) happens on
the hour. Originally I had planned to smooth this out, transition
the sun from clicking from position to position to sliding along a
track. That doesn’t work well with how the light works outside, so
I’m declaring this to be an abstraction point in my little
simulation, and going all the way with it. The hours will be longer
than in the video, however. I’d just go insane trying to test
anything if they ran any slower.
In the next year, I
plan to focus on refining the features I have, and heavily on making
more content, especially levels and NPCs. I always loved videogames
for their crowded little clockwork worlds, and I want this city to
feel alive with activity and individual stories.
Gameplay-wise, this
thing may stray closer to a walking-simulator than an RPG. Besides
the primary mechanics of caring for the plant, there will hopefully
be some puzzles and some simple ‘stealth’/avoidance of enemies,
but the real focus will be on exploration and as many little stories
as I can make for it.
Thank you for
reading this/watching the video, I’m really glad to get to share
this project with you all.
|
|