Sad City (or: How to make a somber level)

As I type this, its snowing outside- a condition known here in the Rut Belt (typo intended) as: The Grey.

Grey sky over a empty road
the mood

Its a long, dreary season from the end of October up until April – sometimes as late as May. And even then, it may not get ‘nice’ until the end of May.

Which, as you can imagine, puts me in a lovely mood.

I need the sun. I need fresh air and puttering in my garden. I need it about as much as I need to be creative and work on my games. Sadly, the weather often conspires against my mood; and my schedule conspires against my creative time.

Booper looking sad on a street corner
Poor Booper is looking lost and alone!

Ironically, this gloomy atmosphere is perfect for working on my big emotional scene, hopefully evocative of Disney films when our hero is all alone and having moments of doubt and despair. For this I needed a piece of music that my niece and nephew could play. Luckily I was just wandering around the back alleys of the internet and discovered Airgigs and within seconds discovered a composer who sounded exactly like I wanted.

After a few back and forth emails discussing the mood and feeling I was looking for, the composer said she’d get back to me with a first run.

Now, the idea has always been that, since this is a family project, I’d involve my niece & nephew, who are both accomplished musicians and very talented. My sister in law sent me a YouTube link of them performing ‘Castle on a Cloud’ from Les Mis – and I was thunderstruck with how it really hit the feeling I wanted from my commissioned composition. The tone, timber and evocative mood all fell into place and i sent the video along to the composer.

What she sent back was amazing.

It was a early Monday morning and I sat down with my coffee as the kids were playing videogames and I opened the attachment and gave it a listen.

I honestly wasn’t expecting to tear up that early in the morning. It was spot on. And, further punctuated by my youngest asking if that was his cousin singing.

And I can’t wait to put it in the game!

Hit the ground running

So, due to life being busier than a 1 legged dude at a butt kickin’ contest – I totally forgot to post about showing the game at Cleveland Gaming Classic 2023. Each year it keeps getting bigger and I LOVE that its right in my backyard. I met some amazing dev from Youngstown and was thrilled they won an award for their game ‘Secrets of Hope’  

I did meet with one of the organizers from GDEX, and they are going back to the video games only format they had when I started showing Booper. While the long haul to Columbus isn’t my favorite thing to do, hanging with my brother-in-law and seeing people from different parts of the state (and beyond) is always exciting.

 

Painting

painting of a family in a car with zoo animals
A commission that helped propel my game further!

Shortly thereafter, I came across a Twitter post asking if anyone wanted to do a family portrait; a yearly tradition for them. I threw a couple of pix in the post, thinking I’d never hear back. Surprisingly, the poor fellow got swamped with bots and apologetically followed up 2 weeks later giving me details of what he wanted. This was outside my style and really pushed me to try different things – I’d never really painted animals before!

I decided that the years residuals from selling art were enough to treat myself and my game to a little upgrade. I bought myself a Quest 3 and I hired a composer to try and get a sad song for an emotional part of Booper’s journey. I was taken aback by how many composers didn’t do lyrics. After a pretty lengthy search, I did find a woman who sounded like my niece, who I wanted to perform, and she had a composition on piano – which I wanted for my nephew to play.

Weeks later, on a somber Monday morning, I opened my email to see she had something for me. I sat there with coffee in hand and tears streaming down my face as I heard the sample – it was dead on perfect. My youngest, hearing me listen to it, asked if that was my niece singing – which further solidified my feeling this was exactly what I was looking for.

Steam VR Fest

And lastly, in the thick of all this – I got an invite to participate in the Steam VR Fest. Considering I hadn’t looked at, or much less touched, my Steam page in a long time; I felt it was the perfect moment to update, upgrade and enhance my presence on the world’s largest online video game hub.

In reworking my Steam page, I discovered a video of a playtest I never knew about:

I watched as they played my old demo – and was horrified that my earlier creation was making them nauseous! I did reach out, explaining the changes I had made and took a lot of what they had to say to heart.

So, next up? Adding a run mode to my game.

ad for Steam VR Fest
My Steam sponsored promo material for the 2023 VR Fest

Exhausting marketing

Ugh – arms are aching

So – in my quest to create marketing materials – I create a LOT of work for myself. I’m currently working on a Team Fortress 2 styled ‘Meet the Team’ videos, and if you haven’t seen them, they are an absolute gem:

Now, since my game isn’t as nearly violent or frenetic, I also figured the pace might be a bit slower. And since my ‘team’ is my family, I need to reflect each a bit closer to their personalities. Hence, my “special musical guests” are my niece & nephew and since the early days of my project, they’ve enthusiastically geeked to my work, I wanted to give them a bit more pizzazz on their videos, especially since my nephew like special effects.

They had previously shot some footage for a ‘Meet the Playtester’ video and had a nice stable video of my nephew being chased by a sword twirling niece. Which I thought I’d goose up by masking them and dropping the shot in a gritty city environment from some of the Blender experiments I’ve been working on (namely the amazing Ian Hubert’s Lazy Tutorials)

The biggest hurdle is the masking.

Ugh – arms are aching

According to most Blender tutorials, it’s best to mask parts of the body instead of the whole thing – meaning I’d be going through the same 6 seconds of footage masking out arms, bodies, heads and legs on 2 people moving. A lot.

And since they were running, the computer had a tough time interpolating keyframes on each node and I was going through all 186 frames, one at a time, to make adjustments.

Masking is a pain

I DID try the AI route using RunwayML and was massively impressed with how it did – you simply click areas you want masked and the AI did the rest. It did have trouble with the swords my niece was swinging, and it blanked a couple of frames, which I could never quite get right. Between that and the free version only outputting 720p I opted to do it by hand, the hard way. Until I either get funding or can justify the $150 subscription to upgrade.

All told, it was a LOT of effort to get 6 seconds on what will eventually be a TikTok video – but the kids were impressed, and I like taking their creative efforts and combining it with my own.

I’m just gonna greenscreen them both next time and save myself the back ache.

CGI back alley
Made with old photos I took in NYC

UX/UI

So, in the few moments I get here and there, I try and read what I can; usually in the pickup line at kiddo’s school.

Lately, I’ve been deepdiving into UX / UI – while I ‘can’ do graphic design, I’m much more of a get the idea out and its done. It also feels like the biggest weakness because it usually has no pizzazz or style.

screenshot of 'Go Booper Go!'
Old, boring UI

In my random bits of knowledge – I kept feeling like my mobile game just wasn’t good enough – it was distracting me. And it didn’t help that my neighbor’s little boy had a bit of trouble figuring out the gameplay. That smacks of poor design.

So – back to the sketchbook. Or sketchbooks, as it were.

My little art director has filled dozens of 18″x24″ newsprint pads, and still draws a lot to this day. So I dove into them, looking for anything that might be a better fit than the clock I had been using.

a multicolored bar red on the left, green on the right. Drawn in crayon
My lil art director thinks of everything

A slider bar! That is a lot easier to read – and I could put it right under Booper, so the player wouldn’t have to take their eyes off the action! Plus it frames the player and the play area nicely, and I could move the completed word counter right underneath the letter boxes. Much neater!

gif of timer bar
So. Much. Better.

I might just be getting the hang of this dev stuff.

Side Projects

or: How AI failed me, but Unity came shining through.

Coming from a art back ground, I get the odd commission here and there – it helps buy things for my game dev journey.

My mother-in-law came to me with a request: she had a dream about a cabin on the beach, it was very peaceful and relaxing; and she’d very much like it if I painted it for her.

Being eager to try AI art generation, I sat down with her and had her describe as much as she could in exacting detail. And we spent the better part of an afternoon feeding prompts into my local install of Automatic 1111 and seeing what it would spit out.

She ‘liked’ what she saw, but felt it was ‘too resort-like’ and ‘too plastic-y’; not keeping with the humble esthetic she’d dreamed about. After a few more tries with negative prompts, we had to call it quits to feed kiddos and take a break from her growing frustration with the process.

About a week later, she texted me- excited she had found a photo in the paper that was more true to the dream and brought it to the next family gathering:

small image of a cabin

It was small, and printed in that obnoxious half-tone process newspapers use, which made it low resolution. And very grainy.

So- hello Google Reverse image search. Found a better version and started Photoshopping things with a renewed energy. Found different images that she liked and started editing them together. Added filters and adjustment layers, tweaking things left and right.

And she still wasn’t thrilled with the result:

a Cabin on a beach
I think this was the best version done on Photoshop

What it boiled down to was this: the cabin image was just too flat and two dimensional to really get the ‘look’ she was after. Since it was too flat – I felt I must make it 3D.

round and round we go

Taking a cue from Ian Hubert’s Lazy Tutorials – I took the photos I found and began modeling. The tut in reference is:

its only a minute and SO worth the watch!

So after some tinkering, I got the cabin in Unity and sat down with Ma to sculpt out the terrain, adding a few free assets, such as rocks, along the way. She was super impressed with how quickly we could iterate changes, move things around and tinker with the various settings to make it look ‘right’.

image of 3d cabinin Unity ediot
After tinkering, I got my model in Unity!

Once we got it looking the way she wanted, I started showing off, adding wind effects to the trees, I cribbed some seagull sounds off some video I filmed at the beach last year and looped some surf sounds as well. Once she liked the look of everything, I took a screenshot of it and said, “Ok, this is what I’ll use for the reference for your painting!”

final image of cabin on the beach
hopefully I can paint something good enough to match this!

Suffice to say – this was the most involved project I’ve ever attempted for a painting – usually its sitting the subject with some lights and taking a few dozen photos until I get the mood and feeling I’m looking for. Having tried 3 vastly different approaches, I’m thrilled that I have so many tools at my disposal in order to create. At the same time, tis also daunting, far better artists than I have been silenced by the sheer scope and volume of what they can create with…

Post Script:

 

So my initial attempt at painting it didn’t work out quite as planned. In my race to get the final underway, I grabbed a non-permanent ink and it bled like crazy as I was putting down my first washes.

watercolor painting of cabin on beach
looks like I’ll be doing this again

I did go back and try to mitigate some of the bleeding – but it looks like I’ll have to take another run at it.

Just let me go work on my game for a bit, first.