Plant Parenthood

March 28, 2023

Originally planned to be submitted for TriJam #212, Plant Parenthood was the 3rd game jam that my partner and I participated in. Having already done 2 other "3 hour" game jams, I thought I had a pretty good idea of what we could handle in the amount of time that we had. 3 days and nearly 15 hours later, it was obvious that things had gone off the rails.

While I'm proud that we completed and released the game, I would not say it's my favorite of our jam's thus far. I feel like it was a prime example of being fun on paper, but not so much in the final product.

I thought it would be nice to share some of the things I learned during development of the project, as well as cover what I would change for future jams moving forward.

The Game

The theme for this week was "Too Much". Initially I had interpreted this as not being able to take any more of something, and my ideas went to topical subjects that I feel on a daily basis. Too much negativity. Too much responsibility. Too much expectation.

While those would have been interesting topics to explore, none of them seemed like fun game ideas, nor would they be things that we could complete in 3 hours. So I continued thinking of ways to implement the theme.

Eventually I decided on the idea of taking care of plants. House plants are pretty temperamental - too much or too little water or sunlight and they die. Seemed like a neat gimmick. The player would be responsible for taking care of the house plants. The difficulty curve would come from having to manage more plants, as well as increasing the rate at which they degrade. Simple enough.

There was then the idea that we could turn it into a story - where "your mom" continues to bring you more and more plants to take care of. We would have the story mode as well as a free play mode for users to play.

Because AI had been getting a lot of attention lately (Bing image generation had just gone live/public), I wanted to try and incorporate something AI generated into the project. Little did I know how many problems this would create.

Our Process

For our past 2 games, our process usually works like the following:

  1. Sit down and think about the theme - brainstorm very rough ideas and whiteboard them out
  2. Once we have some ideas, figure out what the "game" would be. If it doesn't seem fun, we tweak or move onto the next idea
  3. Once we have the game figured out, we will whiteboard the game play loop and get a high level idea of the tasks required. This includes both code and art.
  4. At this point, we usually scope for the MVP as well as stretch goals if there's time.
  5. Spend no more than an hour prototyping to see if the game is going to be fun and if we should continue working on it.
  6. If everything is going well, continue with the project. At this point the art is started on and the game play loop is implemented with placeholder details.
  7. On the beginning of day 2, we have another pow-wow to see where we're at. What have we done, what's left, how are we doing on time?
  8. Finish up what has to be done, and then start polish if there's any time left over.

That has worked really well for us up to this point. It keeps us honest and make sure we're on the same page.

For whatever reason, we didn't follow that process this time. We didn't spend nearly enough time up front discussing what the game would be and vetting out ideas. Instead I locked onto something and steered us in that direction. If we had discussed things more, we probably would have come up with a more interesting idea.

As a side effect of me locking into the idea, my partner wasn't as into the game this time around. This lead to things being a bit awkward throughout the development, as I siloed myself off and tried to push through things.

Sunk time became a real thing at the last stages of the project, working way too late into the evening for something that I was no longer having a good time with.

What Went Wrong?

When the end of day 2 rolled around, I started to ask myself "what's going on with this?" My initial plans had exploded, and I was no where near as close to complete with the game as I had hoped to be. As I reflected on the past days, there were a few major things that stood out:

  1. Trying to do too many new things at once
  2. Trying to force AI into the development cycle
  3. The game play loop wasn't fun

Too Many New Things

The general rule for game jams is to pick one new thing, and play around with it. Maybe 2 at max. I did not follow that rule this time.

Here are all of the new concepts/ideas that went into this project:

There's no way that was getting done in 3 hours. The fact that it got done in 15 still seems impressive. Needless to say, bit off way more than could be handled, and so many of these didn't even need to be done!

In hindsight, this was a massive oversight on the scope of the project. We should have simplified the game, or reduced the number of pieces. Had we identified this list up front, we could have focused in on the pieces that we knew we could get done, and try to tackle other pieces another time.

AI = Lost Time

I've been slowly starting to integrate AI usage into my daily work flows, so I was adamant on doing the same here. I've used chatGPT in the past to help solve implementation problems, but I wanted to go further this time. Not just for helping with code scenarios, but also for game planning, script writing, and art generation.

The biggest time loss by far was for the art generation. My partner was not too keen about the idea of generating art in the first place, but I really wanted to do something with it and make it work. Never having played around with any of the AI generators before trying the project was immediately jarring. 95% of what came out was complete garbage, unusable, or not what I asked for. I ended up going through all of the free credits I had available at both bing and Dall-E and ultimately ended with what felt like lack-luster background art. It would have been so much just to let my partner to the art instead. It would have been more cohesive with the other art, and it would be exactly what we wanted.

The second loss was trying to rely on chatGPT to give advice on how to implement features. Both the 3.5 and 4.0 models continuously led me down a path that either:

  1. Made things more difficult
  2. Was complete nonsense

Given the huge amount of features listed in the previous section, that's a lot of holes I ended up going down without getting many answers. Perhaps it's stronger for for things like Unity or Unreal, but it's still not great for Godot.

I feel that AI is great for fast prototyping and getting ideas out there, but it's not something that you should count on to create actual assets for the game.

The Game Loop Wasn't Fun

Nothing kills motivation like working on something you don't enjoy yourself. Because we didn't front load the "is it fun" process on this project, it wasn't until far too late that the reality sunk in.

Dragging the plants around didn't feel like an engaging activity. Having to baby sit didn't raise any feelings of "fun". The water and sunlight mechanics weren't engaging. Because of all of the moving parts, balancing the game proved to be super tedious, and I'm still not happy with the end solution.

In hindsight, this would have been a better kind of game with a theme of "annoying" or "tedious". It's not obvious to me how the current game model could be improved in a way that makes it more fun, outside of incorporating a story to give the plant care more context.

While I don't fully believe that every game needs to be fun, I feel that they at least need to be something you want to play yourself. That keeps you engaged with your project and makes it easier for you to put in your best effort.

Looking Forward

While it didn't turn out the way I had wanted, I'm still proud of what we made. The game is functional, offers a challenge, and has multiple moving pieces. Many new things were learned that can be used in future games, such as the lighting. I only scratched the surface on particles, so I look forward to using them more in future projects.

This project really cemented how important good project management is during a jam. Come up with an idea that you feel attached to, make sure it's fun, and keep the number of "new" things to a minimum.