I spoke with Ryan Jacob about his current project, Participant Needed…
When and why did you start making games?
My very first experience in game-making was many years ago with the level editor for the old Epic Games platformer Jazz Jackrabbit 2. There was something special about beginning work on a brand new level and staring at the empty editor screen as it waited for me to place some tiles on it. In fact I think I still carry that same excitement with me today, as I tend to get carried away with ideas before a project starts – a common problem among indie-developers, I hear.
Today, I make games because I love designing and programming them, and have an ever-growing backlog of ideas I hope to someday bring into existence.
What inspired Participant Needed’s interesting art style?
When it came time to decide on the look for Participant Needed, I spent some time trying to figure out the best compromise between my taste and my talent. I’m not close to being a professional artist of any kind, so I needed something that would work with my limited modelling and texturing skills and also look interesting. After doing some research, the cel-shaded style seemed to fit that mold, so I worked off of that and experimented until it became what it is today.
As for the color scheme, well maybe it was from watching too much ‘The Nightmare Before Christmas’ growing up, but I’ve always been a fan of the creepy or gothic aesthetic, so ‘black-and-white’ (it’s really more light blue-and-dark purple in my case) was appealing to me. Restricting the color palette also happens to be a great way to reduce the art-workload for a lone developer!
What are some of the tools or methods you are using to create this look?
I use custom vertex and fragment shaders to get the look. There are primarily two varieties that I use depending on the material’s interaction with surrounding lights. If the material is affected by dynamic lights, then I shade the surface according to the angle between the light and surface normal; if the surface is facing the light ‘enough’ (according to a threshold) it is the lighter color, otherwise it’s dark. It’s simple, but there’s a surprising amount of work involved in working with multiple dynamic lights!
If a material isn’t affected by light, then I color it with a black-and-white diffuse texture. The shader reads this texture and translates it to the corresponding color in the palette. Usually to create this texture I’ll bake ambient occlusion in Blender, and then collapse this baked texture to black-and-white.
Another important task in developing the shader is ensuring the foreground and background are distinguishable from one another. To accomplish this I use distance-based lighting, so that objects farther away appear brighter, and rim shading, so that the edge of an object is highlighted in front of a dark background. I’ll say that it’s still not perfect in this regard, so look for more changes to the art in the future.
How are you finding the right balance between the mood of the game, the character’s look, and the type of puzzles the game will offer?
I’ve been worrying about each piece independently, to be honest. Participant Needed is an odd game, so if different aspects don’t seem cohesive at first glance, it shouldn’t detract from the experience.
Participant Needed is about an experimental psychologist trying to figure out how his life turned out the way it did. Is there a message the game is trying to share?
Absolutely. Without giving too much away, one major theme is alienation.
What is the biggest lesson you have learned so far in creating Participant Needed?
I’ve learned how energy-consuming the non-development aspects of game creation can be. I tend to prefer working alone on projects, but if I had the budget for it I would collaborate with someone who specialized in marketing so I could maximize the time spent in my peaceful developer bubble.