Protect Your Plant -- the Vertical Garden

posted Apr 5, 2020, 6:19 PM by Jacob Evans   [ updated Apr 5, 2020, 6:25 PM ]

So I finished another building for Protect Your Plant, this time one that will be located in the New Downtown/Yuptown level. Having some free time is letting me add some extra detail and I'd wanted to include an example of this for awhile. 

One of my goals for the game's city (and especially this level) is to be a sort of repository for all the smart-city and city-of-the future stuff I've seen predicted/promised over the years. Bio-luminescent trees for streetlights, buildings covered in vertical garden carbon-sinks, underground streets for vehicle traffic, smart-roads with screen-like surfaces that adjust lanes to match traffic, raised-aqueduct bike paths, etc. There's something I love about these things, no matter how impractical or useless they would be in practice, and a city where they tried to build a new commercial and residential heart inorganically out of a industrial zone seems like the sort of place that stuff could pop up.

This is one of the more practical smart-city ideas, in that real examples exist and they're beautiful (I used them as references and tried to do them justice) but we'll see how well they're doing in ten years, or twenty. I hope they still look great.

Protect Your Plant -- Dialogue Tree Improvements

posted Apr 1, 2020, 9:57 AM by Jacob Evans

The dialogue tree is one of the most complicated parts of Protect Your Plant. Or maybe it feels that way to me because it started out as someone else's code. When I first stated on this feature, it seemed like my options in Godot were fairly limited. There were a few examples of home-built dialogue trees out there, as well as a couple plugins that hadn't been updated in a year or so. Godot had just had a major update and was anticipating another one (which has since happened). All the options seemed to already be out of date, so I picked the one that was also simple enough that I thought I could maintain it myself. This was the example dialogue tree built by TheHappieCat shown here.

Her version did just about everything I needed to do, stored everything in JSON files I could parse, and generally worked. There were only two problems: The website she'd used to generate the JSON files for the conversation had shut down since she posted the video, and all her code was written a for a version of Godot behind the one I was using, with a lot of older syntax. So after going through it, learning it well enough to update it until it ran, and making a few quality of life improvements, I mostly forgot how it worked and treated it like a black box. And that's the story of how I've spent the last year writing all the dialogue manually into the JSON files.

The original code was just a one-off example of what you could do with Godot though, and didn't have all the features I wanted yet. For example, as far as I can tell, the only choices it tracks are whether you interact with an object or talk to a person, not the choices you make within the dialogue itself. So I recently went back, found where the player's choice surfaced in the code as they made them, and wrote them into the global choices dictionary, which gets saved when the rest of the game does. So now every choice the player makes is recorded and I can write future functionalities to use them.

While I was doing that, I hackishly (as in hack-work, not in a cool hacker way) added an if statement to check whether the option was a ">> Yes" or ">> No" and had those change a Decisions entry in the Choices dict, and call a function in the node the player was interacting with. (I just used TheHappieCat's original Action function with an if statement to check that Decisions value.) This let the code support things like ash pile in the above video, where the dialogue tree is used to decide whether to use something found in the game world.

The main goal of adding this was to support these fertilizers -- sun and water are fairly self-explanatory I think, but different fertilizers in the game will provide different balances of Nitrogen, Phosphorous, and Potassium (N-P-K) and different plants will need different balances of them, so I wanted to make sure the game explained what each would do before the player committed to it.

With that said, I think there should be a few other places this sort of thing could be useful.

Protect Your Plant -- New Plants

posted Mar 30, 2020, 11:02 AM by Jacob Evans

Protect Your Plant now supports protecting multiple plants. Specifically: different types of plants!

This is a feature I've been planning to add for awhile, and have finally found the opportunity to include. Changing the amount of sun and water the player's plant requires (or will tolerate) changes how they can explore the game world. Do you need to spend every opportunity to soak up the sun out on the street, or do you need to stay in the shade during the day? Do you have to run from rainstorms, or will you struggle to find enough sources of water to keep your plant from wilting?

I've added three plants for now, a shade plant, a moderate plant which was the old default, and a sun plant.
The middle of each bar is always the sweet spot for plant success, but the rate at which it fills now depends on the plant's needs.

Because of how I set up each level, new features have to be manually added to all of them. This puts the brakes on building too many new levels, if only because I want to avoid making more work for myself every time I add a new feature in the future. Better to front-load that work and do as many as possible now. Fortunately, I'm finishing up most of the ones I've been thinking about, so I should be able to focus on Just Making More Game soon.

Protect Your Plant -- The Old Downtown

posted Mar 25, 2020, 1:30 PM by Jacob Evans   [ updated Mar 25, 2020, 1:30 PM ]

This is one of hopefully four rooftops representing The Old Downtown

So it's been awhile since I shared anything from Protect Your Plant but current events have given me a little more free time, so I've been working on parts of a level called The Old Downtown -- a part of the city which was flooded, abandoned, and recolonized well before the setting's apocalypse. The end goal is to have something like a combination of Florida canals and Gibson's Bridge Trilogy.
This will be the first of the rooftops the player can get to. It's a little cluttered but I love busy game environments and one of my main goals is to focus on visual storytelling in the history of the game's city.
Not included in this picture is the lighting, which is a part of the gameplay, NPC characters, and other intractable items. The water texture is also a placeholder so I could keep track of how various objects contrasted with the water.
This was the biggest file I've ever worked with in GIMP, consisting of hundreds of layers and totaling over 1.6GB, with crashes occurring sometimes multiple times per minute.

Protect Your Plant -- C.G. Smith

posted Oct 7, 2019, 5:20 PM by Jacob Evans   [ updated Oct 7, 2019, 5:22 PM ]

CG stands for 'Cooking Guy' per his dialogue code, but if anyone asks, we'll say he's named after Charles Goodrich, a great and radical American.

Introducing the first human NPC I've finished for Protect Your Plant. CG Smith here will probably be one of the first humans the player encounters in the overworld. And because I apparently wanted the entire process of making him to be miserable, I decided he was going to have four arms and play guitar. He's working his way through G, C, and D, a bit of detail that I think actually disappointed our resident musician, as it limited what he could make for cool tracks to play just around this guy.

Anyways, I have a newfound respect for animators. I have no idea how they keep track of all the moving parts -- even after charting it all out, I had to make this guy in three waves, first the strumming hand, tapping boot and robot arms, then rocking him back and forth (but not the robot arms), then finally adding the hand on the fretboard.

The next guy is going to be wounded. Know what he's going to do? Lie there. Maybe move one hand.

(You can watch it animate here. There's a hitch in the gif that isn't in the game, but with seventy-some frames of animation, I'm not going back to find it.)

Protect Your Plant

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.


posted Feb 21, 2016, 7:50 AM by Jacob Evans

Artist's Depiction
Artist's Depiction
So the sites been quiet for a few weeks (technically true), partly because of the holidays and Life Stuff, though lately the reason is different -- not that I'm not making new things, but that the things I've been making are secret, at least for now.

I've joined another ARG project, doing writing and art for the team -- I'm not sure it will pan out, so if it doesn't, you'll see content from that here fairly soon. If it does, I'm sure you'll hear about it when it becomes massively successful and part of the popular culture, as these things always do. Other projects include a couple small, arg-ish (secretive, pretends-to-be-real) multimedia projects to make people's lives in our city a bit more surreal, which I'm working on with my compatriot from the superhero story, and a bunch of drawings for holiday cards and such that I probably won't post as they're more personal, but which have helped me figure out a new drawing style that will probably appear here soon.

So in the spirit of secret projects, its time to harken back to that cyberpunk, Lovecraftian horror novella thing I mentioned months ago. It's sort of an oddity in the piles of projects I've made (and abandoned), in that it didn't really start with a plot or characters in mind, so much as the realization (and I know I'm not the first to think of this) that Lovecraftian cosmic horror and Cyberpunk both share a good number of themes. (The protagonist being up against something so huge it barely recognizes their attempts to fight it, being the biggest of them.) So it seemed straightforward that you could pull parts of both, and create that same sense of horror without the giant slimy monsters or racism, and with the scary stuff updated to reflect what we're afraid of now. Some of that was straightforward -- ancient legends became conspiracy theories, the alien monsters got replaced with something new (no spoilers, hopefully), magic with technology... ect. I'm still working towards the perfect cosmic horror cyberpunk story, but along the way, we got this thing, a sort of odd halfway blend, and I'd like to share that today. 

Back when I was writing it, I'd been thinking of trying to publish it in its current form, hence why I was reluctant to post it here. I've since gotten some really solid feedback and am working on a longer, more fleshed-out version with a completely different second half, so I feel safe sharing this one on the site. At the very least it was a blast to write, I hope you find it entertaining.

Depicted: Aline, Joel, Frick, and the real hero of the piece lurking in the back.
It doesn't really have a name yet... I'd been calling it Adblocker, but it's probably not great to give your story the same name as a real product... I've thought about 'Filtered' but that's not quite right... 'Reskinned' has the right blend of technological accuracy and creepy interpretations but some of the folks in the writing group weren't aware of the term 'Uncanny Valley,' so my confidence with using tech-isms is a bit low. We'll think of something. Let's go with 'Reskinned' for now.

Who Was That Masked Hero With The Delightful Smile?

posted Jan 2, 2016, 5:17 PM by Jacob Evans   [ updated Jan 2, 2016, 7:18 PM ]

Hey folks, welcome back! Had a little trouble with the site's domain but it should be all sorted by now! Sorry 'bout that!
Our hero and a low-level goon share a lovely spinning-heel kick

Anyways, I finished up another sketch of our soon-to-be superhero over the holidays and thought I'd share it here. We've more or less decided on the character design from last time (with a tentative agreement on the name 'The Wraith') though my accomplice suggested adding a reversible mask with different images printed on it, in the interest of further muddying any eyewitnesses accounts after our hero strikes (likely one with eye-holes on both sides, so they can turn it around without removing it and risking their identity to unseen cameras). I thought that was a great idea, especially since one of the focusses of the story will be on piecing together the character's real identity, so any changing details and bit of mischief we can throw in will be fun.

I'm really digging this drawing style so far, I've been playing with GIMP on the tablet, and it's awesome, can't believe I didn't go for this earlier. I love using the various tools with the precision of the stylus, and painting white back in after the first round of sketching, slowly refining details, feels more like painting with two colors than regular drawing and erasing, if that makes any sense. Being able to cheat and use transform tools and distorts to fix my mistakes without redoing the work is probably building some terrible habits, but it really is lovely to be able to patch something at the last minute. And that smoke! So much fun to draw!

So far I've been working with only black and white with various levels of transparency over a white background, instead of solid colors (makes the sketching feel more natural it seems), with a few layers for whatever distorts and backups, one for the smoke, and then some simple geometric shapes under the dark-grey, gradient-ish layer in the back there, for things like crates or windows.

If I had more time, I'd jump at the chance to make a whole comic like this. Maybe I'll piece together a couple shorts once we've got more of the story/world/characters established.

Another Update, Another New Story

posted Dec 5, 2015, 10:10 AM by Jacob Evans

So it's been a busy few months, despite the lack of activity on, and briefly, the very existence of, this site. Up first, I just wanted to share a character design I sketched out for a superhero story another writer and I are working on. The design is far from final, and I don't want to say too much about the story concept itself, but I'm really looking forward to working on it!
Hi Lauren!

It's interesting starting in on a new genre. I've never done anything with superhero stuff before, and I find myself trying to bring bits and pieces over from my usual scifi/fantasy/cyberpunk settings as we go through the planning. My compatriot in this project is probably bringing their own stuff into it too though, and I'm starting to think that that will give us some cool thematic results.

This character design was geared towards one of the darker themes we were talking about, with an emphasis on hiding our hero's identity entirely (no spandex and half-masks here), and on being somewhat practical, with armor and a cloak-like thing that hopefully wouldn't snag on anything, or would tear easily if it did. The ski mask with a skull on it's not terribly original, but it fits the theme somewhat.

In other news, I finished the cyberpunk story and will put up the current draft, though I'm in the process of creating a new version of it (there was something of a tonal shift about halfway through, and I'm creating a new, longer version more closely aligned to the first half, with more of an emphasis on psychological horror and unravelling conspiracies, isolation, and being up against something so huge it doesn't even comprehend your attempts to attack it. Fun stuff.

I've also begun rewriting Activation from scratch -- I love the story idea and the characters, but the project itself is old and has gone through many changes, all of which left artifacts in newer versions: details, plot points, and character decisions that made sense in earlier drafts, but only got carried over because that's how I'd always done it. It felt a bit like walking through a house that's been converted into a restaurant or doctor's office or something. They can change the surface level stuff, even knock out walls here and there, but the underlying structures remain, and you can see them in every part of the thing. It always made those places feel less professional to me, and I can't shake that feeling here.

So I'm doing a full rebuild, making the setting more futuristic, better addressing how Garret and other survivors have managed to live in hiding so long, and generally trying to pare down the length of the introduction. The old version will remain on the site, I'll probably even post the rest of it, but my main focus is on creating a new version from scratch to share with you all.

Coredump Retrospective

posted Aug 1, 2015, 2:53 PM by Jacob Evans

So I've got a couple new pictures to share today – all of these are from Coredump, that cyberpunk/hacking ARG I mentioned I was helping with awhile back, back when it was still going strong. I'd been planning to save these until the game was up and running to preserve the sense of realism the ARG was built around, but it's sort of gone on hiatus now and I'm not sure it will come back, so I thought I'd post a couple of the bits and pieces I made, maybe with a tutorial to follow on how to get same two-tone, Xeroxed-style consistently in GIMP. So for now at least, here's three of them, they're all image manipulations hacked together out of random pictures and blue jeans adverts, with a whole slew of filters thrown on and a bit of drawing on top.

The first one here was an article for the in-game zine, introducing some useful tools and possible puzzles to the players. The game plays with some heavy punk/anti-corporate/surveillance type themes, so I tried to fit those in as I went. Most of the stock material from some kind of advertisement or news article with a few exceptions: the face was made from two different pictures of regular punk-looking folks, with some home-made mirrorshades one of the coredump guys created (they actually work) that I painted over to get the mirrored effect; the jacket is actually mine, with some spikes drawn on, except for the sleeve which came from an advertisement -- I think you get the idea. 

The second one was a response to a challenge of sorts -- the guy who ran the thing posted a link to the imaginary propaganda subreddit (cool stuff), and after looking through it awhile, I figured I wanted to try a sort of David and Goliath type thing. (Purely in-game of course, doesn't reflect my personal opinions, please don't sign me up for additional screening!)

I got lucky and found some good pictures for the big guy right off the bat -- legs, torso, shirt, shoulders, and the upraised shoe are all separate sources, I think -- otherwise I probably would have stopped there. The coredump warrior dude there was much more difficult. I had to draw him by hand and sort of piece lots of little cut-up parts over the sketch to get the pose right. The legs are six or so pieces cut from some skinny jeans advertisement, the jacket is similar, two or three coats total, maybe mine mixed in there, a sweatshirt hood and some biker spikes. The hand and phone are mine -- my old college phone -- and I think I used the same mohawk from the last picture.

The last one was going to be a sort of in-game puzzle for the back of the zine. I modelled it kind of joke after those puzzles you used to find in kids magazines and on restaurant placemats. 

Rev Tinfoil was what they nicknamed the crazy, rambling conspiracy nut voice I used to write the intro to the game for the first 'zine. I had a blast writing in that high-energy, nutjob style, and planned for him to be one of several ongoing 'characters' working on the zine. And when it came time to show a picture of him, I had this kind of grizzled, older hacker dude in my mind, kind of like a cross between Jeff Lebowski and Hobospy (you should probably just read everything on Chocolate Hammer, it's all good). I felt bad about using actual art in an image manip, but I couldn't think of a better representation of the character than Old Man Henderson, so I just went with it. (That's worth the read, too, by the way, especially if you have any interest in RPGs or Lovecraft or humor.)

So yeah, that's it for the more recent Coredump art. Tutorial probably incoming. I think the reason I decided to post this stuff is that I'm considering making something similar for my current project, a sort of Lovecraftian, cyberpunk shortstory novella thing, hacked together from all kinds of sources, that I'm tentatively calling Adblock... until I think of something better. It's nearly finished, just barely scrapes the inside word count for a novella (making it fairly unpublishable, as I understand it), and I'm real pleased with it so far. It should be ready some time this week or next.

And I mean it when I say it's hacked together. It almost feels more like a collage than a stand-alone short story to me... like, fifty percent Lovecraft (minus the big slimy aliens because I was trying to make it scary and center it around the bad science of our day rather than his), twenty percent Snowcrash, twenty percent Transmetropolitan, five percent Gaunt's Ghosts (of all things), thirty percent ideas and themes and scenes I ripped from some of my other projects, and twenty percent my burning hatred of commercials. It's also the first thing I actually planned with an outline, and managed to keep track of the logistics all the way through. It's weird and crowded and I have no idea if it works, but I'm real happy with it, and can't wait to show you folks.

So yeah, that's on the way, thanks for sticking around!

1-10 of 21