So, with the advent of SUMMER VACATION, I’ve been feeling a bit stressed as I realize: no more day hours in which to dev.
So if I wanna dev – gotta lose more sleep / get up earlier.
Not the sort of thing I find particularly cheery. It also seems in those dismal grey hours, when the only time I can squeeze in any work on the game – these are the exact days that kids seem to intuit my lack of dev time and fill it with early rising, diaper changes, nightmares and sudden needs of sippy cups as if somehow the 12 gallons they drank an hour aqo had zero effect on their thirst.
It was in this dark time that I saw a couple of glimmers of hope:
Come September – BOTH kids will be in school full time, 5 days a week / 6 hours a day. I just need to bear down and get through the summer. I also happened to see this little tidbit on the GDEX Facebook page: (click to enlarge)
And right after that – I saw a mention from the Cleveland Game Co-Op leader that mentioned me and my setup from last year:
Remember that scene in “BIG” where Tom Hanks character is playing the game (as an adult) that he had struggled with since the beginning of the movie? And how he finally beats it and has all sorts of revelations about being a kid in a grownup body? Been feeling like that a lot lately.
I started being interested in game dev back in 1979, when a buddy of mine got an Atari 800, and eagerly demoed it for us geeky wretches who didn’t have parents rich enough for such toys. What little I knew about computers was relegated to snippets of code I had gleaned from magazines such as:
10 Print Hello
20 goto 10
Which I was eager to show off; and was met with less enthusiasm than one might expect. After being shown all kinds of cool tricks with PEEK and POKE statements, we were shown the latest and greatest games modern computing had to offer (freshly loaded off cassette tape, of course!) And of course I’m blown away by how much better the graphics are over our Atari 2600. I’m completely sucked in by how much better looking everything is – even on a Magnavox 15 inch TV. Sadly the demo was over far too soon, (and I wouldn’t touch a computer again for a couple of years) I raced home and grabbed some grid paper and started drawing sprites in anticipation of my game designing future.
Man, I wish I had those sketches now.
Anyway – the next time I’d seriously delve into anything like that (other than programming a BASIC version of draw in my high school computer lab on a TRS 80 Model III) would be when my dad got a AT&T clone of the IBM PC AT – and a copy of BASIC. I dove into trying to draw stuff on the screen in 320×240 resolution and managed to get some interesting things on screen by using a few calculations and simple plotting of what my math spit out. My dad took my program to his job and showed it off; his boss told me as soon as I graduated MIT or Cal-Tech, I’d have a job. I had gotten to a point where I couldn’t quite get what I was looking for unless I started using a high & mighty concept called ‘arrays’. The BASIC manual that came with our computer only touched on it, referring me to the all knowing BASIC compendium, which I begged my dad to find, but no one at his job seemed to know anything about.
Well, it’d be another decade before I touched a computer again.
After various jobs, misadventures in Atlantic City and tragic love affairs, I fled the doomed NJ coast for the wilds of NYC and dreams of becoming an artist, starting with attending Parson’s School of Design. And with it, came access to the brand new computer lab, and the Mac & Photoshop. I only got the barest amount of time on the computer, because the entire school (faculty & staff included) wanted time on these wondrous new machines and then my money ran out and I had to (again) put aside my dreams of graphics and games.
It wasn’t until ’97 when I FINALLY got my hands on my own computer: a 66mhz, 40MB hard drive PC clone running Windows 3.1. My good buddy David D. hooked me up with a copies of Photoshop and a 3D modeling / animation program called Truespace. I dove into both programs and read whatever books I could on both. I found out fairly quickly that Photoshop could easily get me jobs, whereas 3D stuff was a harder nut to crack. I also re-discovered video games and LOVED Quake LAN matches over parallel port connections.
Then I discovered a program that allowed me to modify the game (in CompUSA of all places)
Since I was already making money off of Photoshop and knew the program pretty well, I thought I’d try combining my love of art and games and try to become a truly ‘hand-painted’ texture artist. While I had some mixed successes – I still wanted more and started tinkering with other game engines:
So I played with different things, tried different approaches and it wasn’t until I got my DK2 and picked up Unity that i truly started to find my calling. And it was Playmaker that saved me, because any attempt at coding completely befuddled my right-brained thinking, and having something not work because of a mis-placed semicolon was beyond frustrating.
And now we’ve come full circle – as I contemplate adding random elements in a structured format (like distributing my coins for the money quest) I’m trying to find a way of organizing them in logical sequences. It wasn’t until I started describing my problem on the Playmaker Slack channel that it hit me: I need an array. I FINALLY UNDERSTAND WHAT AN ARRAY IS.
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!
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.
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.
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.
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.
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.
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:
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:
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:
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…
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.
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.
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.
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.
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.
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.