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.

Tuesday, December 26, 2017

Lofi Epic - Dev Log #3 - Magic Portals

Here I've added MAGIC PORTALS!

The player can see through the portal into the other location, and they can also jump through themself.

I am still developing the actual ideas of what to do with my portals in the game.  Yet to be finalised!  But these are just test ones for now!

Saturday, December 23, 2017

Lofi Epic - Dev Log #2 - Guards, Animals, Banners, Portals

Here I've added...
  • Some GUARDS with basic detection AI.  (They detect you based on whether you're standing in the light.)
  • Some ANIMALS with basic ecology AI (they get hungry and thirsty, and go to eat and drink as needed.  They flee from you if they detect you).
  • Added CLOTH BANNERS that blow in the wind.
  • A basic DAY/NIGHT CYCLE.
  • I wrote my own cross-platform CUSTOM PLAYER CONTROLLER.  I'm using InControl so I can support Windows, Xbox One, PS4, etc.  It has support for keyboard/mouse, or gamepad.