Year 2 Student of George Brown Game Programming
Luxembourg Dual Citizen - Moving to EU after graduating
Second semester has started. I didn't get around to posting a bunch of stuff I did over the summer relate to the Ultimate Character Controller... so here it is from Oldest to Newest. I did manage to get some screenshots and clips thankfully.
UCC got swim ability setup with Crest + Crest Water Interaction Spheres placed on character
treading_water_crest_interaction.mp4
UCC - I got the Balance ability working nicely. I had to make the collider on the bar more narrow, along with proper edge slide ability settings on the charatcer itself. You do need to watch your balance as you can see I fail! Angled beams and beams at different levels are an easy way to add a bit of difficulty.
balance_challenge.mp4
UCC - Ledge Strafe by default was allowing a weird cheating behavior...
ucc_ledge_strafe_cheating.mp4
And here was the solution. Make the ledge VERY narrow, but give the character a little extra space so they can still start the strafe.

And here is the result, you can no longer jump across the ledge.
ucc_ledge_strafe_solution.mp4
Here are a few of the key movement abilities together as I might want to use them in a real level. This is at 2x speed!
ucc_strafe_hang_balance_2x_speed.mp4
I did a revamp of the bounce pad:

I also set up an animation for it
new_bounce_pad_tightened_testing.mp4
It also works with any other rigidbodies
new_bounce_pad_other_objects.mp4
Got objects setup with a Dynamic Water Physics 2 Water Object, and little custom script to only enable this when within the Crest Water Portal boundaries. This was really just for fun instead of anything specific, but I could see some puzzle options from this...
You can see here I push a ball that would be below global water level, only start floating when moved within the water boundaries (Constrained by portal) and correctly stops floating when kicked out.
dwp2_crest_with_portals.mp4
I setup a floating pad, using a DWP2 Water Object + Anchor, and adding it to the Moving Platform layer so the UCC controllers move nicely with it.
dwp2_crest_floating_pad.mp4
Here you can see I used that same approach to make a bridge of floating lily pads:
dwp2_crest_floating_lilies_anchored_bridge.mp4
Here is a beautiful screenshot of a partially submerged lily.

I got the interact ability working, here is it attached to lights in a house.
ucc_button_lights.mp4
Here is a button setup to cycle Enviro 3 Time of Day:
cycle_enviro_time_of_day.mp4
And one to control the weather, from the new observatory
enviro_3_weather_cycle_compressed.mp4
I cut a hole in the side of the house to demo how the crawl abillity could be used to access "secret" areas
tunnel_under_house.mp4
Created two traps, Buzz Saw and Spike Wall:
wall_spikes.mp4
Both are setup to Damage UCC characters:
buzz_saw_trap_with_damage.mp4
And to finish up... A little thalassophobia warning 🌊
I had no idea you could scale things to like 10 million times in Unity, but you can!
This also required some tweaking of the underwater volume properties of Crest 5, but its terrifying and I love it.
immense_statue_2.mp4
Phew... SO yeah... been a busy summer doing self study on top of passing both summer classes 👏
Looking forward to Year 2.
My favorite shots from a few days focused on The Visual Engine + Foliage Renderer 2



A couple Haikus for Parents:
Take off diaper at night
Pee all over, don’t make a sound
I am a ninja
I felt potty time
But I love watching Elmo
There's poop in my pants
Not chat gpt, llm's for writing is lame, use your own voice
A Haiku for Coding:
Weeks of dev indoors
Step outside, sun burns my skin
Nice tree LOD's
I think my Linear Algebra and Geometry midterm went OKAY ish. I did arrive 3 hours early to spend some time preparing and write out my formula sheet again. One was provided but I wanted to make sure I understood it. This is way less intense than the first semister math at least!
Still working on getting RAM integrated with MicroVerse terrain, the carving and adjusting terrain height around the lake is giving me trouble right now. You can see my little combat test area in the bottom left.
I found a breakable wall asset that works with the UCC based character. However, the model I tried to setup has a few issues with its animation / collider so its not quite accurate. Getting there though, and I would love to use a few destructible walls to lead to secrets...
breakable_wall.mp4
Started looking at Dungeon Architect. Very excited to set this up with my own theme.
procedurally_generated_dungeons_dungeon_architect.mp4
I picked up this village pack mainly for the modular buildings, but was pleasantly surprised to find a ton of food as well.
Fantastic Village Pack - Unity Asset Store
It's all splines man. Trying to get River Auto Material 3 working alongside microverse, Rowlans Genesis Integration helps with that. I love how it adjusts the flow depending on the slope of the spline. It's also possible for it to snap to terrain and carve out a path.
RAM_3_MicroVerse_Spline.mp4
Math midterm soon. I actually feel prepared for it.
Figuring a bit more out about MicroVerse + The Visual Engine. Need to get Foliage Renderer 2 also added in properly...
Month going by too fast!
butterfly_mushroom_cliffs.mp4
Got a model from the store working with UCC default animations. One thing I learned is all the demo animations are setup as (I think) state machines. This character controller is one of the most complicated assets I have learned so far, but its obvious how powerful of a base this is.
ucc_custom_model_plus_animations.mp4
Getting a UCC character interacting with a Crest water body with SphereWaterInteraction components placed on the ankles, along torso and on wrists. Next steps to try and rig up a custom model with UCC and get it working with the default / demo animations and items.
ucc_crest_water_interaction.mp4
While trying to learn the Crest 5 - Portals addon, I was inspired to make this diorama.\
diorama_vid_2.mp4
Crest 5 + Crest 5 Portals
"Portal Mode - Volume (Fly-Through)" on a Sphere mesh.
Humpback Whale: Free on Unity store
Boat: DWP2 and using integration with Crest.
Clouds: Enviro 3
Trees, grass, scaffolding, and ruin arch:
Toon Adventure Island
Seagulls: Bird Flock Bundle
Dynamic Water Physics 2 - Advanced Ship Controller
Crest 5 - Dynamic Waves + Surface Input Foam
dynamic_waves_and_foam.mp4
Created a really basic rigid body controller to turn the Duck (with a DWP2 water object component). I want to figure out the Advanced Ship Controller with the custom engines and rudders eventually, but for now, Submarine next.
duckboat_QUACK.mp4
I have started figuring out Dynamic Water Physics 2. It integrates so easily with Crest.
floating_stuff.mp4
The accuracy is really impressive
!remindme - Replace this with a beach ball
dwp2_crest5_accuracy.mp4
Formation Movement mostly working. One thing I have not been able to do, is adjust the orientation of the formation. I think this might be a current limitation of the 2D implementation.
A* Pathfinding Project, Behavior Designer Pro + Formations, 2D, URP
formation_movement_improved.mp4
Making progress with Formations for Behavior Designer Pro. Took me a day before I realized the documentation links on the website are for a previous version for Formations for the old Behavior Designer 🫠 I think I just need to be able to dynamically set the Vector 3 used for the formation destination during runtime, so the formation will follow a moving target like the player.
formation_movement_first_steps.mp4
I remade the "Behavior Designer Pro - Formations" demo scene with astar project instead of navmesh. Still need to add the UI, and ability to reset in different formations. There is also an RVO Controller on each AI for local avoidance.
I tried to edit the existing formations demo to use astar project, except they had some functions wrapped for warp and a couple others that explicitly checked for a navmesh agent, and had a pain trying to swap em out properly.... This was much easier.
There is a massive amount to learn about behavior trees... Next steps are getting a formation to move to an arbitrary point, or follow an object, as a formation.
I think once this is done I will go back to working on Opsive Character Controller, then I can get some AI powered by that and Behavior Designer working in a 3d environment on an A* project grid.
behavior_designer_formation_demo_remade_for_astar_project.mp4
Formations working!
astar_project_behavior_designer_formations.mp4
The behavior tree for this sequence.
Start to Repeater, so when thing under repeater fails or succeeds it just goes again. Repeater to main sequence. This runs everything underneath from left to right.
There are 3 sequences under our main sequence. Each one will first, until success, try and make the formation underneath it (triangle, circle, or grid) and then wait 2 seconds. After the wait cycle finishes, it passes success up the chain, and the next formation runs.
The "Until Success" node is there because if one of the child nodes fails (like making a formation) it will cause our main sequence to repeat from the beginning, instead of moving on to the next formation. And I was having issues where formations were occasionally failing.
I narrowed this down to the "Time Stuck" setting on each formation, increasing this from 0.2 to 1 allows enough time for npc's move around each other without triggering a "Formation Failure".
Replaced PolyNav2D with A* Pathfinding Pro and Behavior Designer Pro + Senses & Movement.
Next to get formations working.
behavior_designer_senses_astar.mp4
Finally stylable foldout headers. Inspector / editor UI coding is a bit confusing. I definitely appreciate having OdinInspector though as this solution extends OdinInspectors group drawer.
Equippable items. Rare drops or quest rewards. Lost upon death.
Percentage values in brackets may be variable.
Unique Shield Properties
Strong Surface
- Reduced incoming shield damage for first (15%) of energy capacity
- Increased incoming shield damage for last (25%) of energy capacity
Focused Matrix
- Damage to shield does not drain energy (normally drains energy 1:1)
- Disabled for ({0.5} seconds) when activating weapons
Energy Vampire
- Damage to shield boosts damage output by (%) temporarily
- (90%) increased shield drain amount
- (x = drain amount) = (x + x * 0.9)
Boost Bubble
- (x = 15%) Increased speed for the first ({y = 3} seconds) while shielded
- Cooldown equal to ({y} * 2 seconds), starting after deactivation
- Does not prevent normal shield functionality
Turtle
- Doubles shield capacity
- Reduces max thrust & boost by (30%)
Stalker
- Cannot be tracked by the following while active:
- Turrets
- Homing Missiles, Suicide Drones
- Sensor Beacons
- Slight scramble to enemy "Aim Skill" (lead calculations)
- May disrupt aim calculations to cause over or undershoot
- ( + - 2%) would be enough to seriously disrupt aim
- (50%) shield damage bleedthrough to ship (normally 0%)
Second Life
- Upon running out of energy, refill energy to 100%
- Prevent energy regeneration for ({10} seconds) when activated
- Cooldown of ({45} seconds)
Finally getting around to some AI improvements. I want to have some difficulty scaling for NPCs, and one way I have implemented this is using two properties, "Rotation Speed" and "Aim Skill". The first is self-explanatory, while "Aim Skill" controls how well the NPC can track you and lead their shots. When you are orbiting an NPC, you may have a high angular velocity relative to them, and since my weapons currently have a travel time (not hit-scan), both player and NPC have to do this (leading shots) to actually hit.
I can also adjust this during runtime, so a skilled NPC might still have some miss streaks, and the inverse for a weaker NPC. This will help make the AI feel more natural.
You can see below one NPC can track and hit quite well while the other struggles.
npc_tracking_skill_variation.mp4
I got vHierarchy/Folders/Inspector 2 during the sale and just got around to actually trying it, now I cant go back. It just a few pure QOL enhancements, a couple I particularly like are bookmarking things at the top of any tab, and the back/forward buttons in the inspector. vFavorites and vTabs are pretty handy too.
Also trying to figure out how the inspector labels and styling work. My goal is collapsible Header sections, not quite there yet.
New laser with glow effect, added extra trail effects when boosting.
new_laser_and_boost_effects.mp4
AI overhaul underway. Followed by the long overdue upgrade system, and some scaling enemies.
Not 100% sure how I will handle actual equipment. I think there might be some base upgrades you can do to your ship that will never be lost (even upon death) but then you could acquire special parts with large bonuses or unique effects, but that WILL be lost upon death.
Here is a closer look at the updated ships so far. This is using All in One Sprite Shader.
They all have normal AND emissive maps.
The cockpits are made with a simple SpriteShape, and a colored light under them.
updated_ships.mp4
And a look at the system again. I made the asteroid belt rotate once more since I kinda have the player moving correctly as a child of the moving belt, thanks to using Extrapolation instead of Interpolation on the players rigidbody.
space_game_overview_system.mp4
Also made an emissive map (although the shader really didnt requireee it...) to make this hazard in the race glow nicely (and some heavy chromatic abberation)
crystal_asteroid_emissive_chromatic_abb.mp4
Figured out how to use the reflection probe that comes with Enviro 3 setup, and how to enable reflections & planar reflections on the Crest water system as well.
Also enabled ACES tonemapping in postprocessing.
ACES_Beach.mp4
Got a nice beach setup to show off the stunning Crest Shallow Water System.
It uses fluid dynamic simulation for shorelines, shallows, or rivers with real flow.
MicroSplat/Verse Terrain.
restarting_simulation.mp4
Getting comfortable with MicroVerse/MicroSplat, Crest, and Enviro. Really loving Unity so far.
Creating gameplay / player controllers / npc next, now that I can create the environments I want.
..But I might just sit here a bit longer.
sunset_reflectProbe.mp4
Crest 5, Crest 5 Shallow Water
Enviro 3 ( + Reflection Probe)
MicroSplat/MicroVerse
Passed math 😎
Linear Algebra and Geometry is much simpler so far.. phew..
Here are some projects from Semester 2:
https://paulbh.com/leapknight/
Here is a larger space game (Work in Progress!)
More of a tech demo right now, but not much left to implement to finish the game loop
Windows & Linux Builds only - Mac build on the way..
itch.io/orions
and some examples from projects
MicroSplat + MicroVerse, Enviro 3, Crest 5
microsplat_microverse_enviro3.mp4
terrain_static_streams.mp4
terrain_static_lava.mp4
terrain_displace_and_tessellate.mp4
swimming_is_hard.mp4
Opsive Ultimate Controller + Crest 5
swimming_working.mp4
For Orions Shore
All in 1 Sprite Shader for Normal + Emissive
Used Laigter for the normal map: azagaya.itch.io/laigter
Used Krita to manually paint the emissive map
Created transparent SpriteShape with a light underneath for the cockpit
normal_plus_emissive.mp4
The dynamic particle system was a bit overkill since removed
Base sun + sprite sheet prominence still in though
new_sun_with_post.mp4
Early Earth before upscaling:\
new_earth_final.mp4
From LeapKnight
The attack was an extra I added and not requirement
It also has its own achievement for jumping over or killing the slime\
working_attack.mp4
Attack Animation from State Machine