Gamification

Well, despite the kids being sick, Halloween, the election and my hard drive dying on me – work must continue eh?

I got the Final IK (VRIK) solution sorted out and my character now moves fairly close to approximate a human with the upper torso. The twist relaxer  (found on this page, along with a lot of other helpful stuff!) helped get my arms moving naturally with the user. Animations for actually grabbing things will be coming soon – it sounds like my colleagues in the VRTK Slack channel are struggling with the exact same thing, and I’m hoping their experiments point me in the right direction to gallop.

Now comes the overly tricky part. Since I’m lousy at coding and have no patience for it, I’ve been leaning heavily on Playmaker to handle my ‘programming’ and getting cheap Udemy courses to figure out how it works. This particular course helped tons in trying to integrate Unity’s Mecanim system with Playmaker (and from a fellow VRTK’er who actually was homeless) and suddenly propelled my thinking in whole new directions.

Since the Udemy course deals with things like health managers and damage, I’ve adapted some interactable objects to work with my randomly patrolling cop. Throw something at him and it hits, he comes over and commences stomping on the player. This has led to the ideas of  gamifying the experience, byadding a health system, or a sanity system, collecting coins as ‘points’ possible upgrades (better clothes provide more sanity, paying for a public shower increases coin payouts from NPC’s) and the like. Originally I just wanted a simple experience to try and convey what it feels like to be a ‘undesirable’  to get people to feel empathy; but the lure of making it a playable experience that one can ‘win’ is strong.

But, as others wiser than myself have said, Keep It Simple, Stupid. Plenty of indie games have fallen by the wayside because they’re simply too complex in scope to ever complete. Plus seeing that my hard drive failed, I’m trying to piece my files back together from sporadic backups and hard drives that I’ve replaced, but never wiped. In doing so, I’ve come to realize I’ve been working on this (on and off) for 2 years now, and am only just now feeling like I’m on the cusp up being able to show off some work to the dev community.

I’ve also been racing to try and finish the 3 paintings for my sister in law – a wireless solution for the Vive has been announced and I would love to get my hands on one (once I get the $$) – even if its to see it doesn’t work as promised. I LOVED the feeling of raw potential when I strapped on my DK2 and the early promise of an emergent tech – I’m certain not having to worry about a cable would further enhance the immersion. And the fun. And the breaking of things.

Inching Forward at Last

Like the headline implies, been feeling like I’ve been stuck in the longest traffic jam known to mankind.  Side work has taken a lot of my dev hours – 4 paintings and a logo will do that to even the most unencumbered man.

I have had the fortune of joining a dev Slack that centers around a set of tools for VR creation. The VRTK Group has been amazing in their support, ideas, helpful suggestions, weird humor (heck, I even got an amazing voice-over line from one of the devs)

poweredbyvrtkThe other, not so great thing about this group is that its impacting my wallet. I just found out about Final IK, and amazing rigging tool that just added VR support. When the Slack members started passing around this video:

I just about freaked out, because this kind of player controlled interaction would be PERFECT for my BUM experience. I could use some of the VRTK scripts for grabbing objects, I could have the player control the homeless person, grab a cup, and if I get the input from the controller, make a change rattle sound & trigger NPC’s walking nearby to either drop a coin or make a disparaging remark.

Now, before I get too far ahead of myself – I’m still stuck at getting the Final IK solution to work – as you can see by the video below, it looks like the player is swinging from a Jungle Gym:

not to mention that from the VR vantage point, the player is seeing the inside of the avatars head. Not overly selling the idea, but yet again – one step closer.

 

Workin’ in a Coal Mine

Been a long month of no dev.

The missus went on a vacation with her family and I had charge of the two boys for 10 days, solo. As often as I say that being a SAHD is the toughest thing I’ve ever done – doing it by myself was even harder. My hat’s off to all single parents, you are doing a herculean task under the most trying of circumstances.

Add to the actual time the wife was gone, there was plenty of extra kid watching time as she was packing, researching side trips, getting paperwork in order, etc. That and Son #2 has been waking earlier- which cuts into my dev time, and my sister-in-law commissioned 3 paintings for her husband – well, maybe I can squeeze in 5 minutes of dev stuff here and there.

What I have been working on, is a potential “Half Life Stories: VR” game, something to experiment with and potentially something to try and convince my local dev group to try and push to finish and release.

dragonskin

I’ll most likely be seeing my folks in a week, so I can scour their photo collection for more bits to add to the “Shore Road VR” project – which has stalled because I have zero reference photos of the old back dining room and back porch, as well as the upstairs.

I’m also trying to soak up a ton of new knowledge, since I discovered my library grants full access to Lynda.com, and tons of Unity, Blender, Photoshop tutorials.

I just wish I had more time.

We gotta ship SOMETHIN’!!

Sometime things just seem to fall into place.

I treated myself to a little birthday gift. I was looking at trying to incorporate Papagayo lip-sync data into the .MHX2 rigs and was getting nowhere trying to get the humanoid models to:

A) accept .dat targeted lip-sync data

B) accept and merge multiple motion caption files

C) export all that to Unity and look nice

For whatever obsessive reason, my brain cannot come up with game ideas that involve characters that are static blobs / robots with very little animation / monsters with one or two simple expressions, meh and pure volcanic rage.

Nope – I have to have humanoid NPCs – somewhat realistic, and certainly with enough responsiveness and emotion on par with Saturday Morning Cartoons… Talk about a challenge.

So when I encountered lip-sync packages on the Asset Store, I did some research and settled on LipSync Pro. Having a bit of animation experience I knew the more phonemes a character has, the more realistic dialog will be, and LSP seemed to fit the bill. It even works with Fuse characters, which aren’t as impressive as the .MHX2 rig – which works beautifully with Tore Knabe’s Realistic Eye Movements.

So I installed LSP, downloaded a Fuse model and amused myself with some impromptu dialog recorded from my three year old. I got big laughs from the kids when I showed them a sample of a truck drivin’ redneck dude asking for treats because he used the potty.

Suffice to say, I was impressed with the results and began wondering how else I can use this. I started rebuilding my VR Bum sim because I was getting atrocious frame rates so I’m pulling all my assets back into Blender to see how many polys I can slash off everything and optimize the level. Sovereignty is on hold until I can get some new dialogue recorded and I have a ton of 2D game design before I can start on my platformer based on my kids artwork.

I was scrolling thru some old projects when I happened to see my old 3D animation work folder and I searched it for things that I could adapt into a VR diorama. And lo and behold, my ‘learn Blender’ project  – a music video for Mojo Nixons “Ufo’s Big Rigs & BBQ

So, I’m chopping it down to a minute length – adding various animations to the Fuse character, a background and will add some 3D animated video to it so it looks like the Fuse character is delivering a performance in front of a screen playing highlights of the song.

I asked on /r/vive if people would like to offer feedback on a WIP and they seemed pretty desperate for any VR content, so that, coupled with the itch / drive to put something out there, will have me busy for a while. VR is only going to get bigger and more crowded, so the quicker I can get my name out there, the better. Here’s hoping its worth it.

Feeling Re-Vive-ed

So, all Dev work has ground to a halt with the arrival of my Vive.

I’ve been delighting in room tracking (even though my office is standing room only), I’ve been amazed at tracked controllers (now I REALLY want a VR version of Thief, after playing the Longbow demo in The Lab – being able to actually use a bow to shoot water arrows, or use a controller as a blackjack would be indescribably satisfying)

But, with my many an hour spent agog in VR, its hours less spent developing my own work. So, after dragging my feet a bit, I fired up Unity to see what I could do to convert my DK2 projects over to SteamVR.

Its a completely different way of doing things.

I completely broke all of my experiences and in the case of my BUM simulator, broke my level geometry and have to scrap and rebuild it all from scratch. Because I discovered something wonderful.

In the Steam VR examples is a IK scene, that allows your controllers to control virtual arms, attached like real arms would be in the virtual world:

Ye gods, if I incorporate that into my scene, you could shake your cup to rattle it! I am so excited this possibility exists  now the tricky part – figuring out HOW to make it work. My google-fu yields nothing – not any teases on how that got made or how I would adapt it to my character  and if I would have to rebuild my character from scratch, or simply rename parts of it…

On top of rebuilding everything else too…

 

 

 

 

 

A nice learning experience

Last week the Cleveland game devs had a Level Up workshop, focused on Unity and Playmaker – so I signed up, enthusiastic that I could unlock some more of the mysteries of Playmaker and game mechanics.

I was not disappointed. Our moderator, Bill, jumped in with a basic endless runner prototype using primatives and simple FSMs, and soon our cubes were colliding and jumping on command. It got me thinking about the platformer I want to make using my autistic son’s artwork.

I showed the kids my work the next morning, and they gleefully smacked the spacebar to make the little cube hop on command. I started up Audacity and recorded their delighted sounds and snuck them into the FSM. Their eyes grew wide when they heard their own voices yelling ‘jump’ when they hit the spacebar. I made a few more tweaks to reset the level if the player cube got knocked off screen.

I can see how this sort of game is so popular for beginner devs – its quick, easy and has an iterative cycle thats easy to add mechanics and playtest. It makes me question if I shouldn’t focus on one as a means to generate quick income. The HTC Vive is going on pre-order next week and I could really use the money.

Hello Sunshine!
Hello Sunshine!

Its the Little Things

So, last week – things got a little sidetracked. Getting ready to go to church and my eldest slips and cracks his chin on the steps. MIND YOU – he was holding the handrail AND MY HAND when this happened. All the times he has walked down those steps holding a load of toys so large he can’t see over them; slip down the steps on his butt, refused to hold anything and do it with a blindfold while juggling chainsaws – nothing. But the minute we’re taking the slightest precautions… BAM – four stitches.

THIS week, my youngest has reverted back to his very needy; meltdowny phase. The running joke is that he clings to me like I was the last chopper out of Saigon. It had been slowly building for the past few days (maybe based on the amount of attention his brother has been getting) but last night he wanted to take his sippy cup into the bath with him. A small, innocuous request – one I easily agreed was fine. And I told him so.

For reasons that will baffle and confound me to the grave – it led to a hour and a half meltdown that no amount of hugging, cajoling, bribing of sweets, threats of all-boys-Christian-scared straight-military- academy, offers to buy him a college education, buy him a mountain of candy, or anything else, would fix. He then proceeded to wake a few times during the night – which led to a co-sleeping session, something I haven’t done with him in many moons.

balloonscreenie

And yet – game dev MUST continue.

I’ve been listening to a Udemy course on FPS and Playmaker, and while a lot of these courses are retreads of the ‘here is the interface / options / how to get started’ lectures, I do tease out new nuggets of advice and tips each time I listen to one. This time I was able to put together the physics I needed to make a couple of balloons on strings behave like they should, swaying in the breeze and bouncing off each other in a realistic way. I was so impressed with it, I’m tempted to make it the load screen…

I was also able to attend a ‘Level Up’ lecture with the Cleveland Game Dev group – a one in a while chance to hang with peers in the area who have similar interests, and learn a bit about making pixel art. I’m still interested in creating a point-n-click or side scroller based on my eldest and his artwork, so it was a welcome break from kids and the oppressive weather keeping us indoors and the kids constantly battling each other. I’d love to be able to spend more time with the local game dev group, but the demands of daddyhood often leave me tired and they only meet in my neck of the woods every so often.

So – what’s next? I’m currently struggling with Playmaker, Mecanim and getting meaningful acting out of my MakHuman and Fuse characters and trying to learn the new Quixel suite – both of which have been daunting and I’ll be venting about here soon enough.

Too Much Stuff…

Or: How I Learned to Stopped Worrying and Love .MHX2

So I just had a major breakthrough (I’m hoping!) with my NPC interactions. I had glanced once or twice at the work Thomas@MakeHuman had been doing, but in my earlier, more sleep deprived days of DaddyDev, I never quite grasped the concepts he was working on.

Ye gods, I’m so freakin’ thrilled I went back to take a second look.

I took one of my MakeHuman characters (the subway token booth clerk) and, after installing the .mhx2 files in Blender and MakeHuman; I re-exported him put him into Blender.  Granted, I had to grasp there was an advanced options switch on the Blender import side – but once I activated the face shapes, I was blown away.

I had visemes (phonemes) already plugged in. I could export expressions from MH. Once I added the MakeWalk addon, I could import Mo-Cap .bvh files and apply them to my rig. Delving into the online manual (and a profound thanks to the dev who still does written manuals, I’m sure I will rant yet again about how much I hate video tutorials) I saw there were even more options to smooth out the mo-cap motions, edit the location / rotation of bones and once I figure it out, append other .bvh files. What really blew me away was the ability to import MOHO (.dat) lipsync files from Papagayo. And I loaded visemes ON TOP of the already loaded .bvh!

With the ability to make a character walk, talk and emote, suddenly a whole new facet of story telling opened up for me. Since I’m not big into programming, I’ve been using Playmaker to handle some of the basic interactivity; and after seeing the dev who made the wonderful Rift demo, ‘Coffee Without Words‘ made an asset that mimics human eye movement – my NPCs came alive.

Be forewarned, my demo video is NSFW; I made a MH woman with some extended clothing assets, I didn’t realize the bathrobe was translucent, so you see some breasts.

 

Lastly, after having tinkered with this for a bit, I got an email saying that Adobe had released Fuse, a character creation that tied in with Mixamo and the Mechanim animation system Unity now favors. I tried Fuse, made a character, got a walk animation added and plopped it in Unity (and Blender too, just to see what it would do, if I needed to tweak it)

The character worked, it did its walk cycle and looked ok after I changed its skin shader from transparent to opaque. I did notice that it can be lip-sync’ed, but only with a $35 additional purchase, and a new piece of software to learn and try to integrate. When I pulled the Fuse character into Blender, it was huge, distorted and had no face-rig that I could discern.

So Fuse wasn’t all that tempting, considering I’d have to shell out $$ for SALSA, and I suspect Adobe will be quickly adding a subscription fee like all its other products, I’d like to keep my dev budget as free and OSS as possible. Perhaps I’ll just create and export a bunch of random characters to populate my subway scene with, since MakeHuman doesn’t have the widest range of clothing options, the Fuse NPC’s will shake things up a bit visually.

Now I have to sit and watch about 2,000 .bvh animations to find what actions I think will go well with my actors…

Working vacation

So, the wife was kind enough to give me a daddy-cation last month, which I took to go see Steely Dan in NYC.

I also took my nice DSLR to go roam the city streets and collect texture maps, a favorite pastime when I lived there. I’ve collected terabytes of photos that have yet to be tiled, tone mapped and color corrected. Yet an other favorite pastime of mine.

nyctexture copy

Another thing I did was to try and get decent shots for a photogrammetry idea that I had: create a NYC garbage can. I had been reading on the /r/3dscanning subreddit about it and had tried a year or two back with VisualSFM, with mixed results. I recently read about Autodesk’s Memento and decided I’d give that a try.

I was absolutely shocked when I added the resulting .FBX file to a Unity scene and the sheer level of detail on the street, let alone the sidewalk. the can itself was problematic because it had intricate detail and ended up with several holes in it, I suppose I could fix those in Blender, but would have problems getting the textures realigned.

I’ve seen others recreating rooms in VR using this method, and one of the best ones, IMHO, is the 4th Floor Studio Apartment – while not a game level environ per se, a place I loved putting on my goggles and visiting anyway.

Breaking all the rules

So, if you read any dev blogs, they’re always chock full of advice, ranging from the latest tips and tricks on every piece of software available, to breakthroughs and milestones reached; but inevitably there are some rules that people put forth as sacrosanct.

Well, I’ve decided to break a couple.

One that always comes up is: Finish what you are working on before starting something new.

The problem is; I’ve never worked that way. As a painter, I need to have multiple canvases going at once. If I stare at one painting too long, I get drawn into a funk of ‘sameness’ – its the same reason I can’t sit and binge watch a whole season of TV shows. I start over-analyzing and I get resentful.

So, I’m giving myself permission to take a break from BUM and work on an earlier project, an adaptation of the play / short film “Sovereignty” that I had the honor of working on a few years ago. By trying to improve what I’ve started with what I’ve learned working on BUM, I can tackle issues that stalled that project and when I get stuck there, I go back to my other project and the 2 of them become like ladder rungs I can climb at once. Playmaker hasn’t been the magic bullet I had hoped for breathing life into my characters and if I continue to be stuck, I might start trading art for programming…

The other rule that people harp on is: Don’t try and do to many projects at once.

This one might apply a bit more, but I can at least start laying the groundwork for something that might be a breakout piece for me. My eldest child is on the Autism spectrum and is fairly non-verbal. In every other aspect, he’s a normal kid – loves climbing, exploring and watching cartoons, has a fondness for sweets and doesn’t like bedtime. He just doesn’t talk much. One thing he truly is engrossed in (and as an artist I’m thrilled by) is drawing. He has gone through several boxes of sidewalk chalk this summer and every chance he gets, he’s outside covering my garage floor in layers upon layers of drawing. When he comes out, he’s covered head to toe in chalk dust.

P1090600

But his drawings are compelling. Some are obviously cartoons he’s seen or toys or trains, but others are simply things he’s seen in his day-to-day life. And I think they’d make great sprites for a 2D scroller / platformer.

Iknow, I know – I can’t take on a 3rd project – none of them will ever be finished, but whle I’m cleaning up the yard or watching the kids play, I can snap a few photos and throw them into Photoshop to start prepping them to animate. After all, I’ll need another project as soon as I finish one of them, right?