tjm

Ludum Dare 47

Oscillator Panic Post-Compo Build

I've uploaded an updated post-compo version 1.1 of my game, Oscillator Panic, incorporating feedback and improvements suggested by players!

  • Cells now show when they are about to grow.
  • Can no longer store extra "undo" steps after death.
  • Use community patches for level select and smooth scrolling.
  • Improved full screen support.
  • Closed off some ways to get out of bounds in the final level.
  • Fix certain objects being destroyed when you moved into them on certain tiles.
  • Improve logic for when simulation audio plays.
  • Torches now flicker forebodingly.

Feel free to come and check out the web build, but naturally if you're rating please use the original compo version.

Many thanks to everyone who has played the game and offered feedback already!

Oscillator Panic Screenshot 1

Ludum Dare 51

Case Study: AI Art in a Game Jam

[Editor's note: While "Observatory Night Shift" sadly could not be completed for LD51 due to unrelated setbacks, I've decided to publish this blog post anyway in the hope that it will be helpful or interesting to people.]

Hi everyone!

I'd like to take a little time to lay out some of the processes we've been using to create AI-generated art for our LD51 Jam game, "Observatory Night Shift". Hopefully this will give people a clearer idea of what's involved in these techniques, beyond the very simple idea of "click button, get art"!

Goal

Our goal today will be to create an exterior image of the observatory building the game takes place in, suitable for use as a screen in an adventure game. We expect this to be one of the three main screens the player sees during the game, the first screen a player sees during the game, and most likely part of the key art we will use for the game's cover images and banners. As a result, we're willing to spend a bit more time on it.

We start with a mental image of the kind of picture we want. As anyone who has commissioned art will know, accurately translating an image in your head into a written description is very challenging, but hopefully over the course of this post you'll come to get a clear idea of what our image of the observatory building looks like.

Prompting

Of course right away, our first task is to try to describe our desired image for the AI in text form; this is called a "prompt". We generally won't figure out a prompt that accurately represents our image first time, so it's okay to start simple and build up to it. In this case we know that we want an observatory building drawn in a realistic (but not photographic) style. It must be shown at night somewhere fairly remote - perhaps on a hillside - and we want some visual interest in the sky; perhaps some aurora borealis?

Finally, we address the problem that the AI doesn't actually know that it's supposed to be making good images; to it a nice image and an ugly image are interchangeable. By asking it for an image that is "trending" we are not actually expecting it to look at any specific trending images; rather, we're asking it to use trends as a guide for what kinds of images look good or bad, according to the aesthetics of social media users.

Taking all of this together, we have our starting prompt: observatory building on a hill at night, aurora borealis, realistic, trending. We give this prompt to our generation tool - for this example we are using MidJourney - and we ask it to create a few 16:9 images based on it.

First generation image

The results are... borderline passable? If you were in a hurry and didn't care too much about this asset, you could use one of these images as-is -- much like finding a vaguely suitable image on a stock image site and using it without modification. But these pictures just aren't representative of the image we envisioned, so we're going to have to do a lot more work to get them there.

Making It Better

First, we identify what we don't like about our initial batch of images: - The buildings are too small in the frame - The observatory's iconic dome should be more clearly a telescope, not just a dome - The aurora borealis is a bit overpowering - The "realism" art style doesn't show well with the nighttime environment, and is a little line-heavy.

We attempt to address the architectural and framing issues by adding a couple of new requirements: observatory building closeup, telescope. We also adjust the relative "weights" of parts of the prompt, telling the AI that observatory building closeup should be considered twice as important as usual, but telescope and aurora borealis should be considered half as important as usual, since those elements shouldn't dominate too much.

Second generation image

Better! We try a slightly different art style, replacing realistic with illustration, avant garde:

Third generation image

Eh... maybe not? These are getting little too painterly, so we abandon the Avant Garde motif. Finally we remove the aurora and adjust the style again; our new full prompt is: observatory building closeup, telescope, observatory building on a hill at night, starry sky, illustration, realism, trending. Early impressions of these results are decent, so it's time to start hammering that randomise button!

Fourth generation montage

With 60 images to look over, we're starting to get a good sense of the AI's understanding of this prompt. At this point it's interesting to compare the source images that the AI used to learn about observatories; we can see how the AI's concept of what an observatory looks like has clearly been influenced by these images, but it isn't ever directly reproducing them.

We pick out three promising looking images and ask the AI to perform further variations on them, essentially running the algorithm longer to try to improve the details of the image in different ways that might be interesting. This is a technique we'll be using a lot more later.

Fourth generation variants

But unfortunately it's becoming clear that this current prompt just isn't going to get us what we want. While the architecture is sometimes decent (even if it can't figure out telescopes at all), the style lacks the fun and vibrancy that we want for game art. So it's back to the prompt drawing board!

What follows is an iterative process of trying various different styles in different combinations; 50s decor, neo-baroque, art deco, neo-Rococo, modern, and photobash. We also experiment with terms like 'intricate' and 'highly detailed', and explore some variations along the way. This takes a while:

Fifth generation montage-A

A long while.

Fifth generation montage-B

Phew! While some of the 50s styles were very nice, towards the end of this process we settled into small observatory building, nighttime, neo-rococo, modern, photobash. At this point we've stopped asking the AI to produce images it thinks could "trend" on social media; the style is now defined precisely enough that we're happy for the AI to take more risks with the aesthetics, and we'll take responsibility for figuring out what works and what doesn't. Looking over the many images produced, we pick out a few of the most promising examples:

Fifth generation selections

We put these images back into the AI, now giving it much longer to work on them using a more powerful model, a process that MidJourney calls remastering. We use this process to produce a number of versions of each image, then further refine the best of those, producing new variations of whichever images we like the most.

Remasters montage

Results

Ultimately, two candidate images stand out, and we upscale both of them to game-ready resolutions:

Final candidate 1 Final candidate 2

Here, we pause; at this point we want to move to designing the observatory's interior, so we can make sure it's consistent with these designs before we make final selections.

In normal development, at this point I would consider the process roughly half-finished. There are a lot of improvements still to be made, from working with the AI to replace specific details of the image (like making the main doors more prominent and clearly interactable), to post-processing the final images in traditional art packages like photoshop (to tweak the colour balance and curves, or perhaps add some vignetting).

But within jam time constraints, we're probably done; anything more can be considered polish. The process has taken a little under 2 hours; looking back we can see the path that has led us, through many dead ends and iterations and more than 250 generated images, to the final images that ultimately reflect our original vision pretty well.

Final Thoughts

What do you think? Has this explanation been useful in helping you understand some of the processes and techniques that are involved in generating art with an AI? If you create AI art yourself, are your own processes very different from these? I'd love to hear from everyone!

Thanks for reading.

[Editor's note 2: Some details of the prompts and processes involved have been omitted or simplified to avoid complicating this already overwhelming article too much; if you'd like more detail about anything please feel free to ask!]

Ludum Dare 54

“By the Book” - Making a puzzle game book for Compo

This post is a postmortem for my LD54 Compo game, CERT - an explorable puzzle book!

Book pages image

From Theme to Ideas

I try not to have any specific plans heading into Ludum Dare, but like most people I have a backlog of old, half-formed ideas. The theme "Limited Space" immediately suggested puzzle mechanics to me, and I was drawn to an old idea of making a puzzle book that the reader could “explore” in the fashion of modern puzzle games like Lingo or The Witness. I was wary at first - packing puzzles aren't traditionally well-loved - but a puzzle book seemed like an opportunity to do them in a fun and unique way. A game built on paper also offered a way to explore fantastical environments and complex scenes that wouldn’t be feasible within the budget of a digital game. Of course the theme also suggested elements of the game's setting and lore, which it uses in less than subtle ways!

Art snippet

Day One - Design and Puzzles

First, I focused on defining the puzzles. The packing puzzles in The Talos Principle were super unsatisfying; I wanted to make sure I could do better. I started with some ideas from paper puzzles like Battleships and Statue Park; I also bought in some mechanics from other genres, like Star Battle. I really wanted to drip-feed the player with mechanics, so they could return to previously-impossible puzzles later with new knowledge, a format that's sometimes called a “metroidbrainia” game. Alongside this I designed out the structure of the book, how the paths would branch and rejoin. I focused on the hub puzzle and the path clues, since those were the most important parts of the game.

Paper puzzles example image

As the first day went on I figured out the overall story and the set pieces I wanted to include. I started filling out the text, the puzzles and the dictionary all in parallel, mostly following the order the player is expected to experience them. And of course I slipped in some secrets along the way! The puzzles were super hard to design, due to conflicting requirements; each one needed to be a packing puzzle with a unique solve path, but it also needed a solution word that matched what was happening in the story, background text that made (some sort of) sense, and a [redacted]. Inevitably some of the puzzles ended up skirting some of these requirements a little....

Authoring screenshot

Day Two - Artwork and Testing

By the end of day one the graphic design and almost all of the prose was done, but a few of the hardest puzzles and all of the art still remained. I really wanted to get the game tested before publication, so the number one priority on day two was to get the remaining puzzles finished. That was done about nine hours before the deadline, and after shuffling around the paragraphs to make it a proper adventure game book, the game went out for test (with absolutely zero art).

Fortunately I had fairly clear pictures in my mind at this point of how each set piece should look, so I was able to dive straight into making the artwork. With six pieces to do I budgeted an hour for each; roughly 50 minutes with pen and paper, a quick scan with the phone, then 10 minutes finishing up digitally. Fast art pen work can look a little rough, but here the space theme came to my rescue; inverting the same drawing can make it look much more fancy. You just need to remember to do your shading and lighting in negative!

Art process illustration

Testing came back with a few small issues to fix, but for the most part it was a green light. One more round of polish and the book was ready for export, with two hours to spare before the compo deadline.

Conclusions

Overall I think I’m very happy with how everything came together? Making a game book brought in its own unique challenges and new required skills, but removing the need for programming and audio design allowed me more time to focus on the remaining elements of the game, and I think made for a better final product. I hope people enjoy it!

If you're interested, you can print the game using the provided PDFs, or play through it online here!