Tuesday, May 8, 2018

MUZBOZ's thoughts on a Dream Studio for an indie game developer

I grew up playing the Sierra games, made in Oakhurst, Coursegold, California.  The King's Quest games were rich with signs of the Californian trees, and a love of nature.

Later, coming out of Spokane Washington, there was Myst and Riven.

I grew up in a bushy suburb in Melbourne Australia, and I've always thought it'd be lovely to have a studio out in the hills.

I was recently out in the hills east of Melbourne, and I took lots of nice photos of areas where I could build my dream studio.  I thought I'd post them here, kinda like a little dream journal.  :)

I love this place, overlooking a big valley.  This has set a sort of benchmark in my mind for what I'd be looking for.  :D

And here's a bunch of other miscellaneous photos.  



Community Centre

Sunday, March 4, 2018

ROMERO - Dev Video #6 - Doors, Locks, Keys

I've added a basic system for DOORS, including the ability to have them LOCKED and openable with a specific KEY.


I still want to tidy it up and make it more versatile, so doors can be activated by one or more triggers (invisible, or physical buttons), and to improve the inspector interface, so it's easy to make a variety of custom "doors", like extending platforms, etc.

Friday, March 2, 2018

LoKayTioN - Dev Video #001 - Points of Interest (POIs), Scrollable Map, Placeholder Text

I've been fiddling around with a location based game for a while.  

It's a sort of dystopian future mystery, with crime elements, set in Melbourne, Australia.  

It could be more of a straight detective mystery.  

Or... I have also been considering a very different sort of experience, more like a podcast mixed with other ruminations on life, the universe and everything.  :D

Thursday, March 1, 2018

ROMERO - Dev Video #5 - Slow Mo / Bullet Time (the basics)

Put in a basic Bullet Time / Slow Mo system! Currently just toggled on & off with a button press.

But gonna link it up to a power source, so it is limited.

Sunday, February 11, 2018

ROMERO - Dev Video #4 - Reach to the Radio Tower!

Here's I've tweaked up the level layout a lot!  

Note It's hard!  This video shows two failed attempts.  :D

OBJECTIVE: "Reach the Radio Tower to win the level!"

Lots of little fixes and improvements:

  • Improved "grounded" check:  I now use four spaced raycasts near your feet, to check if you're grounded, even when near an edge.  It now reliably jumps all the time, allowing for much more control!
  • Prevent the player from pushing through walls:  I use a raycast to check in the direction that you are trying to move, and scale down the movement if something is in the way.
  • Tumbling death: Player falls over / tumbles when killed (detach camera, add force and torque, and have it bounce around).

Thursday, February 8, 2018

Romero - Dev Video #3 - Better bullets!

Here I've improved the bullet behaviours...
  • Added sounds for collisions & tinkling.
  • Muzzleflash & bullet trails.
  • Bullets falls to the ground after colliding with things.

I'm also trying out a few different musical tones, using some existing tracks I've made over the years.  :D

Definitely thinking about making a full game out of this!

Something small, 3 - 5 missions.

Sunday, February 4, 2018

Romero - Dev Video #1 and #2 - More AI behaviours & player hitpoints

Get ready to SUCK IT DOWN!  

"Romero Plissken" is back, in this cyborg-exploding grenade-imbibing game of generic Quake-like action.  Hehehe.

I'm building an action game system, basically from the ground up.

I'm starting off just focussing on a Quake-like shooter, to get down the basics of creating NPCs.  

Getting a character moving around using a skinned mesh, Mecanim, NavMesh  and AI code.

Ultimately, I want to build a versatile AI character for Unity that I can apply to all sorts of different circumstances:

  • Guards, in a fantasy game.
  • NPCs, who walk about town.
  • Characters in a scripted cutscene.

An ecology sim of different characters, creatures, agents.

Dev Diary #002

Enemy AI
  • Here I've made the enemy attacks hurt the player, and if the player dies it restarts the level.  
  • The Soldier has Grenade attack, and at some point will also have a MG attack, probably firing short bursts.
  • The Slicer has a Melee slice attack.
  • The Kamikaze runs at you and Explodes.
  • Explosions hurt the player and also nearby enemies.

The AI characters also have different sensory attributes based on their state.  
  • Once they have sighted you, they go into a heightened alertness state (Chasing) and aggressively try to track you down.  
  • When in the Chasing state, they have 360 degree vision (to prevent you from just "running behind them" to elude them), and a greater ability to detect the player at greater distances, and in less light.  
  • If they lose line of sight with you, or drop below a threshold of visibility of you (considering distance and lightness), then after 5 second they drop back to their Neutral state.  This is when you have escaped, and eluded them.

Dev Diary #001

I started this project at Global Game Jam 2018... and here's where it was after that first weekend.

Friday, January 19, 2018

Cloth Cape on a character in Unity

I like the look of cloth simulation in games!

So I decided to put a cloth cape onto my 3D scan of myself.

First attempt took some tweaking, but is working quite well!

Takes a while to build and place the appropriate colliders on the player for the cloth to collide with!

I added colliders to the following bones...
  • Spine 1 (as the torso)
  • Spine 2 (as the shoulders)
  • Left Arm & Right Arm
  • Shield

Friday, January 12, 2018

Low poly 3D scan of myself in Unity - Mixamo rigging & animations

I'm excited to have discovered a workflow to get a fairly quick and easy 3D scan (using my HP laptop with a RealSense camera) of a person (myself in this case) to rig and put into Unity via Mixamo.

I feel that this may finally provide me with a workflow to have characters in my games.  I'd like to try making a GUARD character, by scanning someone dressed up in a costume as a guard, then apply animation to that, and work on the AI from there.  :D

Here I've reduced the poly count of the character from about 100,000+ down to 2000 polys.  I think I could keep it higher, and also tweak or stylize the texture more.  A good start, though!

Second iteration:

Tweaked up the pipeline a bit, and got a much nicer looking result.

Did a new scan with more suitable clothing and room lighting.
Then reduced mesh from about 200k polys to about 10k polys, using MeshLab which is super easy and great, and kept the texture intact! And used a 41 bone rig, instead of 21 bone rig in Mixamo (although still using some of my older 21 bone animations here, so not making use of the improved hands, except on the "Sword & Shield" guy.

Here's a more detailed breakdown of the workflow so far...


I use ItSeez3D (free), which is designed to just scan 3D models of people, so it automates that process quite well. You just stand the person somewhere with fairly even lighting, and start scanning. You basically just walk around the person in realtime, and you can see the mesh roughly forming around the person as you go. Takes about 3 minutes to get all the way around, starting at the face, then go around the head, torso, and then arms, legs, feet and finish. 

(We tried a few times to try to get an optimal scan - if you go around too many times it can start to add extra arms or heads out of confusion! So you kinda get the hang of the scanning process and the best pose to stand in (arms out a little bit, legs a bit apart - if you try for a full extreme t-pose, we were finding it kinda barfed - I think it's designed to just scan people standing at ease, which isn't great for getting a nicely separated rig pose.)

Then you can see a quick local preview in the app, or tap Final Model to upload your data to their server, it processes it and sends back the final model. That is a bit slow, and takes about 20 minutes of waiting - mainly because the upload is slow.

Then it spits out a 100k - 200k high resolution model and texture, which you can save as an OBJ.


This gives you a pretty-much-ready-to-go model and texture, with feet separated from the floor, etc. It's basically a fairly clean human scan.

The issues that I have with the data at that stage (for my purposes) are:

  • It's too high poly for my needs.
  • Possibly some of the mesh hasn't scanned clearly, such as the legs below the crotch being joined together a bit too much, or not enough separation between thumbs and hands, etc.
  • The UV mapping is OK, but there's generally a few places (under arm pits, between crotch, perhaps top of head) where it didn't quite scan the texture, or a strange seem occurs such as the camera's auto-exposure causing a light part being butted up against a dark part, for example, or just a jaggy seem here or there).


So, I'm trying to simplify the steps as much as possible, but currently, I solved these issues by:

  • I used Mesh Lab to open the high poly mesh, and save it out at 10k polys. And it automatically does that in a few seconds, and keeps the texture mapped correctly! Easy, free, quick! Takes about 2 mins.
  • I opened the OBJ in Maya to tweak a few places where I didn't like the mesh separation. I had an issue where the legs were joined together a bit too high up. Tweaked it by hand. Took about 3-5 mins, just moving verts with soft selection.
  • To tweak the texture, I loaded it up in 3D Coat, and used Clone paint tool to clone things around to patch up any bits (under the arm pits, etc) that came out white, or something. I just clone nearby bits of the texture over it to cover it up. (Generally these things happen in hard-to-see places, so it worked fine to do this fairly roughly.) Took about 3-5 mins. Exported the texture again from 3D Coat.


So, my issue with the process so far is mainly just 3D Coat. I can use that at work, but I don't own it myself. So I'd love to replace that part of the process with something free! Then it'd be a very straight forward process, all using free software.

Currently, it would take about 60 minutes to scan someone and have them in Unity with their mesh and texture cleaned up a bit, including waiting about 30 mins for the initial scan to get processed through ItSeez3D.