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.
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.
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:
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. ‘
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.
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.
So, I’m back from an amazing experience. And waaay too much to do and get caught up on.
So, after a frantic 2 weeks of polishing and planning, getting promo materials printed, cleaning up my PC so its ‘show worthy’ and with a ton of help from the wife, who helped with details I wouldn’t have even thought of – I hit the road, mind ablaze with plans, possibilities, and hopes. Its only about 40 minutes into the 2 hour trip that I realize I left without a friggin’ monitor.
So, quick call to the wife to confirm I left it – yup, I did. And the amazing woman she is, grabs kiddo, monitor and hops in the car to meet me on the road and get the screen safely in my hands – and me back on the road. Whew. Dodged that one. Until I get there. My GPS is insisting I go down the ONE road that is closed for repairs and cannot find an alternate route to the loading dock so I can get my stuff into the convention center. I end up on a frantic phone call with Keith, the CLE Game Co-op leader, who with the help of the convention center staff help confirm that GPS and Apple maps cannot find the alley we need to get me to the docks. After a few back and forths, we finally get me in, set up and I slouch my way to the bro-in-laws, tired, embarrassed and hoping this isn’t a sign of how the weekend will turn out.
I could not have asked for a better weekend. The drive in was quick, easy and my GPS let me to the parking garage with zero hassle. As I’m coming in off the escalator, I’m greeted by a string trio softly playing ‘The Imperial March’ (Darth Vader’s Theme) if that ain’t a good sign, I dunno what is. I proudly put on my exhibitor badge and wander over to my booth, and am surprised to see someone looking intently at my poster. I see that he’s a fellow dev and I introduce myself. His name is Leonard and he’s at a nearby booth and likes the look of my character – I explain that its the work of my son, which he really enjoys. So I fire up the Rift and give him my elevator pitch and he’s off and running; my 1st ‘customer’!
And I am off and running. The rest of the day is a complete blur – I’m seeing a ton of people and getting a lot of good feedback – smart gamers are trying to break my demo and I have just about 90% of them covered – except for some reason Unity still considers the quest complete upon level reload. I’ll have to quit the demo and restart it each time. I also notice I get a lot more traffic when the headset is active and people can see movement on the screen, so I leave the demo on the loading screen and rig up small box & piece of paper to keep the Rift sensor active and people can see my lil’ guy ready to go.
I’m go grateful the organizer of the booth got this shot – this kid was my biggest fan. His dad is a dev at Bitmen Workshop and he had gotten a taste of my game the day before and brought his son over to give it a spin. The kid had a lot of feedback and ideas, guess it helps have a dad in the business. After the day got started, he surprised me by coming back and having another go at my game before he had to leave. To say the least, I was touched, especially since he’s the same age as my little guy – whose birthday I had missed the day before to come do this show.
Being my 1st show, I obviously had a lot to soak in- but I did have the forethought to bring a notebook and record ideas as they came to me: here are a random sampling.
The booths next to me used coat hangers with pants clips to hold up banner signs.
Having an ‘attract mode’ on my monitor brought people in more quickly
Business card went quicker than the pins I had as giveaways
Watching the booth across from me (a multiplayer game) they did a ‘mini-tournament’ winner from 5 round-robin got a small trophy, but it did generate a huge crowd
Even though it was noisy – speakers are a must, I had to explain to onlookers that the game had sound effects done by the kids
All in all- it was a fantastic experience, everyone was supercool, had a lot of encouraging advice, and suggestions. I’m hoping to involve the whole family next year and get them day passes to explore while I try and push this a little further, and having my kids come by every so often and play will probably garner more attention. Out of the whole experience, I walked away with one thing that I thought I would never have to do:
Welp, GDEX is right around the corner and I’m hammering out the last details, so instead of prose, I’m opting for the screengrab dump. Hopefully I’ll have some feedback, photos, sketches and otherwise good news about it next week!
Its the 1st day of preschool for my youngest – I will have 3, count them, THREE glorious hours of no-kids. No, “daddy, daddy, daddy”, no spills, no sounds of destruction while I try and use the bathroom as quickly as I can – and I can FOCUS.
First up: getting my project to work with the Rift. Since GDEX is in 2 weeks, I’d like to be able to bring a HMD that I didn’t pay for, and has a built in audio solution, since Keith, the organizer of our shared space, has advised it will be noisy.
I also need to start getting promo materials together and find a way of handling signups – even if it is just a clipboard to take email addresses.
Fast forward a few hours later: just picked up kiddo as he excitedly told me about his morning – circle time, singing songs, making a paper cut out apple; all very fun and interesting. He asks about my day – so I tell him:
A) got Oculus support running – thanks to the ever useful VRTK, and a few of the associated tutorials, I was able to get a version working. Its separate from my Vive project, but after my recent adventures with computer problems, I don’t want a single thing going wrong with my projects. (Side note: as of a few weeks ago I am now a strict back-er upper) but being able to play-in-editor on my Rift gives me hope that I can have my build running before GDEX.
B) Massive amounts of house cleaning – my folks are visiting Sunday and getting both the house AND the office shipshape are of utmost importance. I want to show off my toys, the game and an old project: my childhood home, recreated in VR. I want to see their reactions so bad – if I’m lucky they’ll let me film it.
C) Getting my signage ready – I found a local printer that’ll make me a 20×30 poster on foamcore, plus another that will make some buttons. As I’m designing these, I realize I don’t have a legit website for the game – just this dev blog. So, in addition to everything else, I have to look into subdomains and how to set one up – as well as make a simple webpage.
As I’m telling kiddo all this, he’s starting to yawn and drift off to sleep – too much excitement and, frankly – to him, my day was pretty boring in comparison to his…
Since getting back to almost fully operational status, I’ve been playing with an alpha of some mo-cap software, Mindshow. It is a lot of fun, and the ‘Mad-Libs’ aspect of it could be a great party game. I did a short recording of myself explaining how I got my dev PC back on track:
So, yes – having Oculus software installed with my odd combination of hardware & software (plus aRadeon driver update that bluescreened every time I tried to install it) made for a unhappy system. Unity slowed to a crawl – it reminded me of early dial-up internet: click on something, go make coffee, come back, click; go do something else. It made dev work impossible, and since Unity refused to build – impossible to show off a demo.
Bitching about it on the VRTK Slack channel did yield some steps in the right direction; comments about the new USB 3 card I added got me looking in the direction of the Rift I recently was gifted by Oculus, and after I uninstalled Oculus home, my problems vanished. The downside is, I truly love working with Oculus Medium, the program could easily be the Photoshop of VR sculpting and until I find a viable way of getting everything to play nicely (basically waiting for Oculus / Unity / AMD to update their $#!+) I’m outta luck with the Rift. Shame, cause I also enjoy Lucky’s Tale, too.
So: BACK TO FREAKIN’ WORK.
So, the video show some of the newest work – I got the very cute bee modeled, animated and I had a moving version that used the components and Playmaker scripts copied off my roaming monsters – until the bee started killing the player – oops.
I’m also getting into Timeline, Unity’s new editor, built like non-linear editors like Premiere and Hitfilm. Since I’ve used software like this for decades, taking to it should be fairly easy. After watching a tutorial and downloading DumbGameDev’s awesome Playmaker plugins, I was animating my fish in the pond in under an hour. Curious about how else I can use this new feature.
I’ve also been exploring using Substance Painter 2 as a way of texturing my level – trying to use Blender has gotten too clunky to try and paint in, especially since my level has to be broken up into chunks to avoid Unity’s 65K poly limit. I hate having to dive into learning new software while on a project, but Blender’s limitations are slowing me down – and I feel like I’ve lost a lot of time already and GDEX is coming up sooner than I’d like. Planning my first public display will soon take precedent over dev work.
Part of the problem with being a gameDevDad is the constant pressure from the ‘Dad’ part of this gig. Whatever I’m doing, whether its wrangling a upgrade, working on level design, or baking a nav mesh – as soon as I hear ‘daddy??’ – I’m instantly putting on a different hat. Certainly, I’m not the only stay-at-home dad who has faced the problems of being a man, at home. with k i d s. While the rest of the world trucks merrily along, without us. I’ve gotten more than one “I thought you quit!” comment from the gang at the VR dev Slack channel after I’d been away for a while. It doubles when something I’ve been meaning to work on gets delayed, like if I decide to grit my teeth and update to the latest and greatest version of software because I feel like I need a new feature (in this case, Unity’s new Timeline) – most of the people who can devote several hours a day, each and every day – they’re already on to problems I’m not even aware are coming down the pipeline. And the problems I’m dealing with are met with, “oh, um… let me dig back in the archives – I think we came up with a solution…”
Coupled with the urge to tinker with new ideas, like this itch to try and use Oculus Medium to sculpt game levels – which I feel truly breaks me out of the ‘fla’t feeling I’ve gotten when trying to use Sculptris or Blender to create levels. I feel like they are truly more organic and I can easily do things like put caves and mountains in the same level with zero difficulty. The biggest challenges are cutting them up into less than 64k polys and cutting up the UVs to get textures on them.
Some days it feels like I’m barely slogging along – and every time I try and sit down at my workstation the entire house is ganging up to sabotage my efforts. Which can lead to thoughts of: “Am I wasting my time trying to make a game?” or: “Am I taking on too much?” or even, “Can I get hi-speed internet on a remote mountaintop cave?”
This is the part I’ve been working on – it has caves, springy platforms, and all kinds of hiding places for neat little interactions. I’m hoping to use it as a demo level for the GDEX expo at the end of Sept. Keep your fingers crossed that I can get it to a workable place before then!
Its been a bit of a back and forth struggle: stick to platformer conventions and allow player ‘death’ or allow for other setback mechanics, such as knockback, or having the player be sent back to the beginning.
The missus feels death is out, other testers think its a needed part of gameplay – I’m still on the fence. I do believe that in order to be open to all option, I ought to at least try and add the functionality – in case it will be added in the future. Or if I decide to make it an option to choose at startup. So, here is my 1st iteration: done in Spriter Pro as an animation…
Its crude, in its current state – but it does demonstrate the viability of the concept. I’d like to add headset fade and have the player reset to a previous point. I’m not certain about how feasible it is, but one of the fellas over at the VRTK Slack suggested having him fall apart physics style. Just not sure how to implement it – my one attempt simply added rigidbody to each of the pieces, but it did nothing to affect the character when the ‘death’ trigger was activated.
Oh well – let me decide IF it will be added before getting all into the details…
Another game element I added was attaching a spot light to the Camera Rig for the dark castle interiors. Since its parented to the HMD, its dependent on the player looking around to illuminate the way – will try and make it so dark that the player will have to divide attention from where the player is, to where the player will need to be:
Into The Medium
Since I got the Oculus Rift as a developer, I’ve been trying to get it to work – a big issues was my mobo and its USB 3 ports – seems others have had the same issues and I ended up purchasing a Inateck add on card from Amazon that did the trick. I now have 2 HMDs, 4 controllers, 2 lighthouses mounted on the walls and 2 Rift sensors all cluttering my desk. Combined with my ’86 IBM Model M keyboard, it looks very cyberpunkish.
A bonus with the Rift was the freebies, and an even bigger bonus was the free software with the Touch controllers. Medium drew my attention first, since I’ve been struggling with Tilt Brush and adding my creations to Unity. As soon as I fired it up – I fell in love. I have been dreaming of a Sculptris styled sculpting program (I’ve been aching for the update to export .obj for Masterpiece VR) and seeing that Medium can export .fbx or .obj had me drooling at the prospect of sculpting game levels in VR (or even better, having my 6 year old muse create them) so after tinkering around for about 20 minutes, I had something I thought I would try to export to Unity:
I had zero problems exporting or importing and can honestly say it took less than 5 minutes of resizing and rotating to get the level in, put into place and colored and added a mesh collider so I wouldn’t fall through it – and took a walk around my new creation:
(I did also discover that some of my tinkering with the animations now has his face flying off when he jumps)
Truth be told – I’m in love with Oculus Medium – its well polished, handles like a dream and I’m looking to import kiddo drawings and see if I can take them and sculpt them out as more 3D objects.
Whew – between getting the Steam Page live and getting notification that Oculus is sending my a Rift to dev on (plus the usual family life stuff happening – my eldest is almost done with kindergarten!) I drifted sideways from the dev blog and one that I’ve been meaning to do for a bit: show a bit of how I’m getting my kids drawings into VR.
First up is a simple image that I decided would be a crystal torch prop for inside the dark and scary castle. Using photoshop I crop and knockout the background and save it as a .png for loading into Inkscape and for texturing my 3D mesh.
In Inkscape, I use the tool to trace out the object and adjust the points as needed – I try to avoid the bezier handles, as they add too many verts (and when extruded, too many faces) in Blender. Once it looks good, I save it as an .svg to import into Blender.
In Blender, I import the .svg, scale it up a bit so it imports into Unity with minimal resizing. By pressing alt+c, I convert it from a curve to a mesh object. In edit mode, I try to reduce the vertex count as much as possible to avoid adding too many faces when the object is extruded (select all the verts, press ‘E’ the ‘Z’ to extrude on the Z axis) From there, its simple to ctrl+f and fill the verts with faces. By selecting the verts on the other side and doing the same, I get a solid object I can put in my game.
From there its a simple matter of using Smart UV to unwrap the mesh – typically I can take the large sides and line up their UV coordinates to save space on my texture map. From there I make a new image, jump back to default mode and add material and texture slots and add the new image I just made and give it a quick coat of white to see where my UVs are and place the texture on the right spot back in Photoshop:
Using the transform tools, its easy to get the texture into place and use a bit of cloning to fix any bare spots or errors. From there the image’ll be saved and back in Blender you can update what is being worked on by hitting ‘reload image’ in the UV editor. Once everything is looking spiffy, I export it out as a .fbx and load it into Unity and check it out in game.