Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Conjuring Creativity

Intro

Forget ordinary to-do lists. In “I summoned a demon to do the laundry, and now my socks can play the piano”, you're a lazy bum who wants to summon demons to do menial tasks. You'll need to get creative, substituting everyday household items for the bizarre ingredients demanded by ancient rituals. Think “essence of starlight” replaced with... a household plant?

To do that, the game uses Google’s Gemini API to analyze your substitutions and generate unique in-game effects based on your creativity. The result? A hilarious and unpredictable experience where your ingenuity determines the kind of eldritch power-ups you receive. Will your socks gain sentience and a penchant for piano concertos? Or will your washing machine become a portal to another dimension?

Conjuring Creativity

At the heart of the game lies the Gemini API. This isn't really about generating text; I’ve written a prompt that can understand, interpret, and then evaluate your creative concepts. In the game, it acts as the arbiter of your ingenuity, the judge of your bizarre substitutions.

Here's how it works:

  1. The Prompt: The game presents you with a scenario – a mundane chore you desperately want to avoid. It then provides an "official" ingredient required for the summoning ritual, something decidedly fantastical that you obviously won't have lying around.
  2. Your Substitution: This is where your creativity comes into play. You're prompted to choose a household item to substitute for the magical ingredient. Will you use a rusty old coat hanger in place of a phoenix feather? Or perhaps that half-eaten bag of chips for the scales of a leviathan?
  3. Gemini's Judgment: Your substitution, along with the initial prompt, is fed to the Gemini API. The API analyzes your response, considering factors like originality and the humor in your logic. It then outputs a "creativity score" and generates a corresponding in-game effect.

For example, let's revisit the scenario where you need "essence of starlight" to summon a laundry-doing demon. If you, the player, suggest using a houseplant because "photosynthesis converts sunlight (which is the light of a star) into energy," the API might respond with:

{
  "inappropriate": false,
  "creativity": 7.5,
  "passed": true,
  "effect": "The summoned creature seems to have absorbed the plant's life force and now seems to have a light, pleasant aroma, and all the plants in your house seem to have grown a little taller."  
} 

This demonstrates the API's ability to not only understand the connection between your substitution and the required ingredient but also to generate a thematically relevant and entertaining consequence. It's this dynamic interplay between player input and AI interpretation that makes this game so unique. Every time you play, the output is wildly different, driven by the player's imagination and the API's assessment of their creative choices

Wrangling the Eldritch Output

Integrating any Large Language Model (LLM) into a game presents a unique set of challenges. LLMs can be unpredictable partners in the development process. While the Gemini API proved remarkably adept at following defined output schemas (a blessing for any developer!), it wasn't without its quirks.

The biggest hurdle I encountered was ensuring the API received and correctly interpreted the player's input. Initially, I was baffled by the API generating effects related to "popcorn" and "surveillance cameras" when the player's substitutions were nowhere near those concepts. After some head-scratching and debugging, the culprit was revealed: I hadn't properly included the player's input in the prompt sent to the API.

This highlighted a crucial aspect of working with LLMs: precise and comprehensive prompting is paramount. Even a minor omission or ambiguity can lead the API down unexpected paths, generating outputs that are thematically irrelevant or just plain nonsensical.

Beyond The Dirty Socks

“I summoned a demon to do the laundry, and now my socks can play the piano” is more than just a silly game about summoning demons to do chores. I’m not actually sure I’d describe it as a “game” - it’s more of a “toy”! It was a fun experiment in using AI as a core mechanic. By using Gemini to parse player’s input, it opens the possibility of making a game that riffs off the player’s creativity. AI is largely pretty bad at being creative itself (it’s just using existing creative work), but if you feed it something interesting and limit the output, it really makes the player feel part of the game.

Lets Wrap This Up, I’m Sure You’re Busy

AI is a tool. It’s a surprisingly powerful tool, but it is best used in very specific ways. You wouldn’t use a sledgehammer to chop down a tree! Please don’t think AI is some magic silver bullet to the world’s problems. It isn’t. But it is damn good at writing natural text given an input, provided you don’t actually care about the output.

I used AI here as an active participant in the creative process. That’s a little bit cool, I think! By harnessing the power of LLMs like Gemini, we can create games that are truly responsive to player ingenuity. As AI technology continues to evolve, we can look forward to even more innovative and engaging gameplay experiences that empower players to shape their own narratives and explore the limitless realms of creativity. Now, if you'll excuse me, I have a demon to summon to fold my laundry… And you should play the game: https://wayfarergames.itch.io/abominable-butlers

-Dom

Support this post

Did you like this post? Tell us

In this post

Leave a comment

Log in with your itch.io account to leave a comment.

Mentioned in this post

A short interactive text adventure in which you substitute arcane ingredients for any old shit you find about the house
Play in browser