Skip to content
View PaulB-H's full-sized avatar
🎮
🎮

Block or report PaulB-H

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
PaulB-H/README.md

Paul Bernard-Hall

Game Developer
              Unity, C#, TypeScript, Node, Ubuntu

Year 1 Student of George Brown Game Programming
Entering Year 2

Luxembourg Dual Citizen - Looking to move to the EU after graduating


June 19, 2025

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

June 18, 2025

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...

bigger_forest


June 16, 2025

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

June 06, 2025

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

June 01, 2025

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


May 31, 2025

Dynamic Water Physics 2 - Advanced Ship Controller

Crest 5 - Dynamic Waves + Surface Input Foam

dynamic_waves_and_foam.mp4

May 29, 2025

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

May 28, 2025

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

May 26, 2025

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

May 25, 2025

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

May 23, 2025

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

May 21, 2025

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.

behavior_designer_formations_rotation

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".


May 21, 2025

Replaced PolyNav2D with A* Pathfinding Pro and Behavior Designer Pro + Senses & Movement.

Next to get formations working.

behavior_designer_senses_astar.mp4

May 20, 2025

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.

stylable_foldout_headers


May 18, 2025

~~~ Brainstorming Session ~~~

~~~~ Unique Shield Properties ~~~~~~

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)

May 17, 2025

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.

vFolders2_vInspector2_vHierachy2_features

Also trying to figure out how the inspector labels and styling work. My goal is collapsible Header sections, not quite there yet.

editor_inspector_labels


May 13, 2025

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

May 13, 2025

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

May 11, 2025

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

May 11, 2025

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


May 7, 2025

Passed math 😎
Linear Algebra and Geometry is much simpler so far.. phew..

Here are some projects from Semester 2:

https://paulbh.com/leapknight/

https://paulbh.com/sonic/

https://paulbh.com/state/

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

Here are some things I am working on

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

tiling_vs_stochastic

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

attack_animation.mp4

Pinned Loading

  1. breakout breakout Public

    Breakout made with Phaser

    TypeScript 3

  2. digitalrain digitalrain Public

    An implementation of "Matrix Digital Rain"

    JavaScript 1 1

  3. simple_sockets simple_sockets Public

    A socket.io chat application

    JavaScript

  4. flowerpaint flowerpaint Public

    Draw with flowers on a Canvas

    TypeScript

  5. designsbytabitha-nextjs designsbytabitha-nextjs Public

    Portfolio of Tabitha Bernard

    TypeScript