Created by Simon Karman, Jacco Kulman and Timothy van der Werf
Published on 2025-05-16

As a hobbyist game developer, I have a confession: my art skills are... "functional." When I create art myself, I call it "programmer art." I can work with abstract shapes, outlines, and colors. I can design layouts for webpages (like the custom-built portfolio website you're reading this article on). But my art doesn't involve freeform painting or drawing, which is why I categorise it as programmer art.
For most of my projects, this works fine. I focus on gameplay design and programming anyway, and for technical showcases, programmer art does the job. However, sometimes I dream of making projects that are visually stunning too. That initial spark of visual appeal can give my projects that extra bit of hype when someone first looks at them. It also helps me show my technical work to non-technical people, since visuals can speak louder to them than underlying technical algorithms or clever game mechanics.
Game development has three core areas – game art (all visuals and audio), gameplay design (how you play and what the mechanics are), and game tech (underlying technical algorithms and programming). Nowadays, I focus mostly on gameplay design and on game tech. Each requires its own form of creativity and beautiful solutions. The point is: creativity in games isn't limited to art alone. It flows through every aspect of game development.
I occasionally still have hope that one day I'll find time to become and expert in game art. I would have to learn to properly 3D model, UV map, rig, animate, and more. I understand these concepts and I had to learn these steps during my student times, but the truth is, I'll probably never find the time to properly learn it. And I'll definitely not become an expert. And even if I would suddenly find loads of time on my hands, I think it would wiser to spend it on what I love most: gameplay design and game tech, while finding different ways to solve the game art problem.
During my student years, I met and worked alongside talented game artists in the Netherlands. Which also let me to work together with them on the occasional hobby project. But now that those days have passed, it's difficult to find someone to collaborate with who shares the same vision and has the same amount of time available for hobby projects. Especially without hopes of financial return. Moreover, I work on projects at my own pace when I want to relax, so honestly, it's a bit of personal "me time" too. Like what reading a book is to others.
My Solutions to Game Art
So what's my approach to game art? I have two go-to options: use abstract art that I can create myself, or use art packs from professional artists.
Abstract art is my most frequent solution. It allows me to create a consistent style in a project by using similar shapes and colors. What's great is that I can even use my programming skills to generate these shapes and colors on the fly.
Art packs are my other solution, though I use them less frequently. Artists like those at Kenney Assets create incredible resource packs that instantly make projects look more professional.
But here's the problem with art packs: they're too specific for the creativity I want to express.
Take a recent project where I was working on a game about finding fish in the ocean. I wanted to game to be about exploring a ocean rich of procedurally generated and diverse sea life. (Yes, I love procedural content generation it was even the subject of my master's thesis). For this project, using an art pack is a great way to start, but eventually you run out of fish in the pack. And then I'm stuck..., I can't just create new art pieces that match the existing style. This kills my creativity because the art pack can't keep up with the ideas I want to express through game design and/or game tech.
Recently, I thought: "Now that AI is booming, can't I use this to solve my problem?" So I decided to experiment with extending an existing art pack using AI-generated pieces that match the original style.
What I Built
The concept is simple: feed the system a collection of existing images (in this case, fish icons in various colors), and let it learn the artistic style to generate new creatures that actually look like they belong in the same game world.
The tool is designed to be flexible, you can swap out the fish reference images for houses, spaceships, or whatever your game needs. Just drop your reference images in an images/category/ directory, add a prompt file describing what you want to generate, and let the AI do its thing.
Under the hood, it's powered by Google's Vertex AI, which means I get to leverage some seriously sophisticated image generation technology without having to train my own model.
How Did It Go?
Here's the honest truth: it's not quite working to the level I had hoped. Most of the generated images are simply unusable, and the occasional image that looks decent might be in the wrong dimensions, or the style is still slightly off, or it doesn't have proper anti-aliasing or a transparent background.

Still in some situations, I can use them, but for a professional look I would still have to tweak the images manually. However, me working on game art is exactly what I was trying to avoid with this project.
But you know what? Here's what genuinely excites me about this project: the code already does exactly what it should do. It reads the reference images, analyzes them, sends the right prompts to the AI, and saves the results. Although still very rudimental, the pipeline is solid and functional.
The main thing that needs to improve is the underlying AI model itself.
Think about that for a moment. I've written a piece of software that could dramatically improve over time without me touching a single line of code. As Google continues to enhance their image generation models, my Fish Generator automatically gets better. No updates, no maintenance, no additional development time. Just the passive benefit of improving AI capabilities flowing through to my tool.
It's like planting a seed and knowing that the rain will eventually come.
Realistically, there's plenty of other improvements that can be tackled in the pipeline apart from the AI model. For example, I should increase the number of reference images to hundreds instead of the five to ten that I currently use. But the core idea still holds: will we see more projects that passively get better over time without actually working on them? For me this was an interesting thought at least.
Looking Forward
I'm curious to revisit this project in a few years. Will my Fish Generator be creating pixel-perfect, style-consistent game assets by then?