Questing, questing the night away

So, in my long term goals of getting a wet bar put in the office, kids that behave, and a wife that gives unsolicited foot rubs; there IS the small matter of having a full fledged, 3 level demo done by the time GDEX rolls around in September.

I have come to realize that constantly polishing the same level I have made is making what I have smoother and shinier, but doesn’t do much to get to that end goal of having s o m e t h i n g done. And for that, I need something more than just bouncing around my flower level until the player gets to the top. And as serendipity seems to just flow from my child’s fingertips (I wonder if that’s his mutant superpower) he drew the whole range of coins, pennies, dimes – he even got a Half Dollar, too!

fun with pennies and kaboings

So, now the fun part of it: making things; pasting them around the level and playing it until I think its kinda fun. My neighbors have a couple of kids who are willing playtesters, so I’ll have the dads over for some home brewed ales while we watch the kids play and wait for their verdict.

And as always, my art director / inspiration is finding it equally fun to make assets and asks daily to ‘do some animation’ – this is one of his latest entries. Now its up to me to figure out how I can use it.

We jammin and I hope the jam is gonna last…

So, my first ever game jam is DONE.

The Playmaker Game Jam was an interesting way to try new things,  practice skills and see just how much I could punish myself by being glued to a desk like I haven’t done in years.

I’ve never done a jam before, so I went in with zero expectations – Friday came and it was announced that the themes would be:

Last Resort – or – Not a Hero

OK – now what the #$%^ do I do with THAT?

First thing that popped into my head was to do a pun or play on words with ‘last resort’ – some sort of oasis at the end of the world kinda tickled the back of my brain. (and apparently every other person in the jam felt similarly too) So, in that spirit, I was drawn to the idea of ‘its the Last Resort in a world gone to ruin’. I didn’t want to delve into a backstory too much, just give the idea that the world went to shit and the player was pretty much one of the last people.

Copyright: Bill Watterson

So, in that spirit, I fired up Oculus Medium and started sculpting out an island on which to set the stage. I kinda liked the idea that the center was this insurmountable mountain that would force the player to run around it, either from enemies or to complete tasks. I decided to carve out a cave in case I wanted something creepy, or have a hidden place to have the player discover.

While I had Medium open, I also made a couple of ‘palm’ trees. The pre-made stamps are pretty awesome at getting something prototyped quickly. While I was looking through the stamps, I saw a rat skull one an decided ‘THIS is my monster head!’ So a slapped a couple of arms (also stamps) and exported it as a .fbx into Blender, added a quick rig and had the thing crawling relatively quick. So went my first day – which was still mostly filled with my normal day-to-day routine of taking care of the boys, feeding a household and refraining from strangling my neurotic, overly needy cat.

The second day was a mad dash of getting the kids thru swim lessons and packed up so they could spend the night with mommy at grandma’s house, leaving me to strap myself down to my desk and crank out a game. I braced myself with a shot of Jamesons – which helped get in a certain creative mood while recording dialogue.

Once that was done, I started slapping things together, throwing a basic 1st person character controller on my island and taking a walk around. Once I see my ‘set’, I can start decorating and planning out how I want it to look. I start making simple trigger areas to set bits of dialogue into play and and added sound FX. At this point its late in the afternoon, stomach is growling and I have a hankering for Thai an a cold ale. The rest of my day is spent trying to get the timings right, making sure that triggering one voice-over zone doesn’t allow for a second one to start playing.

The next day is sheer crunch time: my monster spawning isn’t working the way I want. I thought I’d use an action called ‘get random vector 3 inside a sphere’ to get a location to spawn a monster in an area define over my level, wait and repeat. Since there’s no way to kill them, the player would need to keep on their toes to avoid the critters until they overran the island. Sadly I kept getting obscure errors about my prefab monsters and problems with nav mesh navigation. Grr. I hastily slap a static spawn point on the level and on to the next problem – PEOPLE.

she doesn’t look haggard enough

I originally got into game dev because I wanted to create stories with believable characters and of course dove into it head first without the slightest clue about animation systems, an it was right when Unity was switching from legacy animation to the Mecanim system – always a fun time to learn something new. At least it gave me the basic knowledge to slap a character into the scene and give it a idle animation…

And the rest of my time is spent in sheer panic mode: when they say ‘keep your scope small’ – they ain’t kiding. I didn’t even get half of what I wanted done, especially the parts I had thought up to challenge myself and learn something new.  It did provide a nice break from my current project and give me new directions to move towards – it also confirmed that I need to spend some of my time just soaking up game design theory and hone my Playmaker skills.

All in all – I’d do it again in a heartbeat.

Hangry

So, on top of the usual daddy duties, the chores involved with running a house, keeping track of a wife, 2 kids and a neurotic housecat – I also have had a battery of medical tests done due to my advancing years. I’ve dubbed them, ‘The Ol’ Man Tests’

In addition to wrangling with doctors over prescriptions, I’ve ha multiple blood draws and a delightful little procedure that required me to not eat solid food for almost 48 hours straight.

I’m beginning to think there was a reason God smote Job’s offspring first. There is nothing worse than being tortured with hunger while a growth-spurt five year old is demanding food be shoved in his gullet every 4.25 zeptoseconds. I won’t torture you with the details, but the procedure I had to undergo after starving myself was the perfect degradation to cap a long two days of kwashiorkor.

And of course, it cut into my dev time on top of it.

I’ve been trying to round out my 3-level demo with a mini-boss fight, trying to add some ‘platformer’ elements, including the persistent question: How do you ‘fight’ a boss monster when your only game mechanic is jumping?

What I’m coming up with is trying to use an old asset; The Launcher, and have him lob projectiles at the boss. I want to set up a button for the player to jump on; trigger the launcher and then have a cool-down time before the button resets and can launch again.

his oversized hand is perfect for lobbing things

Hopefully, the player will find a challenge in trying to avoid being hit by the bosses projectiles while trying to knock him down. The rest of the level will be a slow steady climb, with random jump scares, obstacle avoidance / jumping and random knockbacks – here is how its shaping up:

 

Kiddo strikes again

So, shortly before bedtime, my eldest asks to play our game, and how can I possibly say no to that??

So I plop him in the chair, strap on the Vive, hand him the controller and explain that I’m making a boss level – and as my official playtester, he tries things I never though of; like jumping and trying to scale the tower the boss creature is on.

After a bit more playtime, we go through the nighty-nite routine of teethbrushing, potty, tucking in and he drifts off to sleep.

In the morning – I’m plugging away at the game when he wanders in, sleepy-eyed and plops down at his sketchpad, just kinda doing his own thing until he asks me for the scissors, which I distractedly hand him and go back to trying to wrap my head around quaternions. Suddenly he’s by my side with this:

get on it.
here’s some more work for you…

and says, “Daddy, its a BOSS”

“Wait,” I ask, “do you want me to put this in the Boss level”

“Yep.” he replies, spins on his heel a full 360 and starts opening the flatbed scanner. Oh – he wants it NOW.

So I scan, crop, draw it out in Inkscape, pull it into Blender – extrude and texture – he finally loses interest when I start rigging it and is drifting off when I ask questions about it. Are those things sticking out supposed to be hands? Who is this? What is this?

He’s not very forthcoming with answers, so I’ll have to draw my own conclusions. But, its looking pretty sweet:

My busy life

So, in addition to dealing with 2 demanding kids, a cat with a sensitive stomach who barfs if you look at her cross-eyed, a wife with a new job and a 100+ year old house that can’t decide to fall apart piece by piece or collapse all at once – I also have old man duties, which entail fun things like giving all my blood to a surly nurse after starving myself for some 13 hours (on top of fasting for Ash Wednesday)

In my woozy blood drained delirium, I also manage to lose my car keys, right when I have to go pick my kid up from preschool AND I’ve been ignoring my intern, who is probably grateful I’m not overburdening her with tons of modelling  requests as she’s getting back into the swing of school and my poor houseplants who are debating crawling outside into the Hoth-like Ohio winter and taking their chances on their own. In the middle of all these fun dadding adventures – it occurs to me that I haven’t written a single sentence about the game in over a month.

I AM plugging away at it though. I’m still trying to get a full-fledged demo ready for release on Steam- including some sort of mini-boss battle that takes place after the player completes the mini quest and finds all 5 socks, rides the boat to the flower island and figures out all the ‘kaboings’ to get to the castle up top and enter its forboding gates…

until my kids give me a better name, this is ‘Launch-o’

So, I’m taking a photogrammetry experiment that I did – my youngest built a Lego tower and asked me to put it into the game – which I’ll oblige, until lawyers start pounding on my door with copyright notices and surly attitudes. I’m adding other elements that I’ve created, such as a cute ghost and floaty platforms and other neat things kiddo has drawn – but never had and real place in previous levels. One of which is the character above with a unusually large arm – I think I’ll have him throwing the glowing orbs at the player until 4 supports are jumped on and broken – then his tower will fall and the demo will end.

Which forces me back to thinking about my game mechanics – will there be damage? Player loses a life? How does my game provide a challenge if there is no penalty? When I do get any spare time, I’m trying to soak up as much game design theory and videos about level breakdown as I can.  It also help that my kids are heavily into Super Mario Galaxy on our old Wii console – they get to play, I get to study level design from a developers perspective. And it shows I’ve got a lot to learn.

There isn’t enough life on this ice cube to fill a space cruiser.

NEW Year – NEW focus.

And a New Years Resolution: get a demo on Steam.

We’ve been stuck indoors with bone chilling temps outside, so its led to a lot of cabin fever, very little dev time and short tempers. Not to mention a case of shingles that left me sore and irritable. What kept me going was a nice big batch of home brewed ales and the promise that school would resume. It hasn’t helped that with this horrific weather, my hibernation reflex has kicked in, making my usual early mornings tougher than ever to face.

BUT – what dev time I have been granted has been spent figuring out things that DON’T work. Yay.

I’ve determined that my old way of animating my character is less problematic than using Anima 2D. Booper would keep moving (and animating) even when the player would stop pressing any input. A lot of times animation events wouldn’t trigger. And for unknown reasons, the speed would ramp up. Or stop. Yay.

I’ve also determined that whatever method I try to get footsteps / different surfaces I just cannot get the concept of quicksand to work on a game level. I’ve tried putting colliders on Booper’s feet, I’ve tried raycasting – neither seem to work. Yay.

its even bigger close up

So, I’m scrapping the level beyond the Socks Quest Castle in favor of a mechanic that does work – my ‘kaboing’ that is inside the caves. I had this flower-esque level I sculpted in Oculus Medium floating around, moved my Bad Plants to the various platforms and started adding ‘kaboings’ to them.

Here is a sample of gameplay – ignore the little cubes when he lands, those are placeholders for his landing spots, easy to see; easy to move:

One of the ‘mechanics’ people seemed to love at GDEX was the ‘whoa’ feeling from making a big jump off the giant steps leading to the clock and this (hopefully) will add more to that feeling.

“We can rebuild him. We have the technology. We can make him better than he was. Better, stronger, faster.”

 

I’ve started to reach some functional limitations using Spriter Pro and my character animations. It seems that every time I try to insert new sprites; namely, I want to add different faces for different clips, it does weird things. Like make my faces fly off.

So, in my quest to make things as best as I can, I was scanning the Game Development Resources list and came across Anima 2D. After a bit of reading and watching some tutorials, I decided to give it a try and see if I could get a bit more out of my admittedly basic player sprite.

I was thrilled that I could take my simple ‘stick-like’ arms and legs and bend them. I was even more thrilled that I could swap out sprites at runtime and change faces. I could add bones to the faces and animate those. I’ve always loved the blink I added, and now happy smiles and worried face are added in. Next will be a ‘Machinarium’ styled thinking, when the character idles too long.

adding vertices to a sprite

Not to say it doesn’t have its difficulties. I’ve been trying to work out why my jump animation plays twice when he jumps. Or why it seems that FPS in animation doesn’t quite sync time-wise to actual game time. But, I am getting there – just got things working with adding the animation events for footsteps back in and left / right animations are next.

 

Introducing…

My new intern! Please welcome A Little Cartoonie as part of the Booper team!

When I was exhibiting at GDEX, a college student was impressed with the game and very bluntly asked, “Do you need an intern?”

I wasn’t sure – DID I need an intern? In the blur that was the conference, I asked for a business card and said I would think about it. And of course, promptly forgot with the excitement of the expo and getting right back into the cyclone of daddy dev days (not to mention the added stress of getting our attic renovated and dealing with contractors)

During a frantic cleanup session, I came across the paperwork I had collected during GDEX. In it was a stack of business cards I had collected – and a flood of memories came back. Including an offer I had yet to think about. So, I dug into Cartoonie’s portfolio and was impressed. Good 3D modelling skills, draws waaaay better than I did when I was that age. Decent illustration chops.

So , I decided to see if that offer was still on the table.

After a bit of back and forth on Facebook, we quickly determined that this is a ‘for experience & portfolio pieces’ type internship – but as soon as I get any funding, I’ll pay for any work done. Right now its exciting because I offered a challenge:  make a 3D model out the drawing above and send me a model.

Well the model came back and its impressive – Cartoonie did a bang up job putting in details I would have ignored. And offered to texture it over the weekend. I’m impatiently waiting to see what comes back.

In the meantime, check out some work done by our newest member!

Instagram

Website / Portfolio

 

‘He’s dead, Jim’

Well, I think I’m finally coming to the conclusion that it was my RX 480 that was causing my woes lately. Numerous times I’d try to update drivers only to get a bluescreen caused by ‘Atimdag.sys’ – or they’d install and my Vive would suddenly take over as the main monitor. Or they’d install and I would get nothing but black screen upon reboot. I got a really helpful chap on reddit, who sorted out a whole bunch of issues and for a bit everything seemed to work – until EVERYTHING started strobing like I was in a 70’s disco – then a (thought this was a bit of made up fluff, until I saw it) real life Snow Crash.

Nothing I did could get the darn thing to stop flashing (even on boot up, so it wasn’t a driver issue) so I yanked it and pulled out my old R9 280 from the wifeys computer – and ye gods I thought I’d never have to wrestle with THAT beast ever again – and GUESS WHAT?? It just works. Drivers picked it right up, its a little slow in VR and some programs like Oculus Medium show some banding / artifacting, but its working just fine.

R9 280 compared to previous cards

Now that THAT is dealt with – time to get back to work AND go shopping for a new card, one that has at least 2 HDMI ports and not so many Displayports.

One thing I’ve been tinkering with: Post Processing Stack – particularly the Depth of Field. Done right, it really gives the level a tilt-shit photography look, ie: everything looks small. I really feel it adds a ‘look’ that compliments the game, since its based on a child and their perspective, I know that kids have a narrower field of focus, which is why when you are scrambling to get their shoes on because you’re running late for school drop off – THEY are focused solely on THAT ONE TOY WHO CAN’T BE LEFT BEHIND.

I’ll eventually get the proper focus, right now its very shallow and I’d like more distant objects to be blurred out. But I’m also focused on a new NPC / prop – THE TANK:

ready to wreak havoc!

I made it on a whim, just to test my Inkscape / Blender skills and it worked out quite nicely. The turret rotates to face the player and I can slap one of my moster / bee AI routines that I made in Playmaker for movement / attacking the player. The wife did express some concerns regarding the violence and shooting parts – which, I’m also concerned about. What message do I want to convey in a ‘kids’ game?

The answer came from the hivemind: I posted the screenshot on Facebook and my dear friend Angela from NYC said:

Because it typically represents violence?
If so, have it shoot rainbows, chocolate kisses, happy emojis, or paint.

Looks like I have more work to do.

Taking in what I heard

Since GDEX, I’ve been trying to implement some of the suggestions that people gave me during the course of their play sessions. One of the ones that had stuck was people mentioning the style of the terrain didn’t quite match that art style of the props and characters. Since my son  drew most everything in crayon, it seemed natural to make the terrain look like it was colored in crayon as well.

The trick is how to make it look that way.

I tried a number of Photoshop and Krita filters and combinations of filters and layers to try and approximate a crayon look. Which looked pretty lame, in the end. Most of them had a very fake, algorithm digital plastic feel. Trying to do it by hand with crayon or pastel brushes in Photoshop would take a long time. Almost wish I could unwrap the mesh and have the kids color it.

Then I realized I could.

UV’s from the hilly part of the level

I realized that if I exported the UV’s from Blender, opened it in Photoshop, used the wand tool to select the empty area around the UV islands, expand the selection, invert and clear – I had a pretty good outline that I could color with Prismacolor pencils, sharpened to a fine point and scanned back in, would look like crayon.

The above video gives a pretty good idea of where this is going – after asking folk online, it seems the crayon concept agrees with a lot of people. When I started adding effects from the Post Processing Stack (vignette and Depth of Field) its starting to give the whole game a brand new look and feel – more on that in the future.