Posted December 04, 2025 by Dreamaise
#Arpg #RolePlaying #Sci-fi
Brief concept:
Welcome to Project Exo (working title) that may be called Hollow Moon, Genesis or any of my other cool name ideas. This is a ARPG that's sci-fi with strong inspiration from EQ, WOW(classic), Morrowind Elder Scrolls 3, Path of Exile 1 and 2, and diablo 1 and 2. You will not be fighting demons from the underworld but going to there home planet and meet them there . The worlds themselves present a challenge as they are not friendly like earth but harsh and unrelenting. The worlds themselves could be considered a enemy. You will need to equip the right gear to have the right resists to have access to planets but also resistance to there harsh nature. There is a strong scientific basis for the world creation. I have almost all my needed stats to start generating the worlds. Many of the changes I have made since last dev log are connecting systems that work within the netcode environment.
Changes i Have made since last my dev log are as follows:
I have built one of the most ambitious procedural systems in an ARPG:
You can now generate full scientifically-based planetary systems:
32 per-planet stats
18 per-stellar stats
Atmosphere, greenhouse effects, surface pressure
Blackbody temperature + orbital temperature logic
Tectonics, crust layers, water presence, magnetic field dependencies
Habitable zone checks based on star type
Procedural atmospheres based on gas composition
Procedural terrain conditions tied to planet temperature & pressure
I built a World Selection / Universe Navigation Panel:
Browse O, B, A, F, G, K, and M type stars
Plus exotic types like Neutron stars & White Dwarfs
Clicking a planet shows its complete scientific stat block
When selecting a planet you now show live data such as:
Inclination
Surface Gravity
Temperature
Pressure
Water content
Atmospheric composition
Geological activity
And dozens more
I built an entire custom terrain generator in Unity using:
Perlin Noise
Worley Noise
Ridged Noise
Layer blending (mountain/hill/valley combinations)
Zone-based biome noise
Snapshot saving of complete noise profiles
Multi-layer FastNoiseLite integration
Inspector-driven layer editing
Editor buttons for baking / regenerating terrain
Debug features (visual quilting, blending preview, etc.)
Quilt-pattern debugging
Layer not combining
Missing visual change after bake
Parameter exposure
Terrain presets saving per world
This will be a full terrain playground for procedural planets.
I built a fully instance-based universe:
The ship scene is instanced: infinite ships for infinite players
Every player gets their own instanced world scene
Dynamic scene loading using Unity Netcode for GameObjects
Safe movement of players between scenes using:
SceneManager
NetworkObject ownership
RPC-driven teleport
Scene events + OnLoadComplete
Custom world manager system
Cross-scene spawn points
I built:
Scene ownership tracking
Player permission lists (allowed party system)
Spawn point registration
NavMeshSurface lookup & building
Runtime world navmesh rebuild on terrain generation
The hardest part of this year:
Switching NavMeshAgents between scenes
Removing old navmesh data (ship → world)
Building runtime navmesh per-world
Handling prefab-based NavMeshSurface
Fixing agents pathing back toward the ship
Ensuring players exist on correct nav layers
This is now one of the most advanced multiplayer scene systems I’ve ever seen or rather made.
Point-and-click ARPG style movement
Click-to-attack
Enemy spawning
Combat system with:
Damage
Resistances
Critical hits
Logging
Including:
Drag + drop
Spell slot icons
Dynamic sprite loading
Stack size display
Real item stats and resistances that work when equipped
I built:
Pressure resistance
Cold, heat, EMP, gamma, wind
Energy shield system
Movement speed changes based on stats
Proper reduction math (buggy at times but fixed over the year)
Planets affect the player using real physics:
Atmospheric pressure damage
Solar radiation damage
Gamma radiation
Heat & cold effects
Wind force system (apply forces to player Rigidbody)
These connect directly to:
Gear resistances
Combat logs
UI alerts
I made the planets alive and deadly.
I built:
Multi-channel chat window
Combat log window
Logging:
Player attacks
Resistances mitigating environment damage
Enemy attacks
World hazard messages
I built multiple custom visuals:
Energy shield concept (Halo-inspired)
Material-based health/mana orbs
Status icons for resistances
Sprite sheets for environmental icons
I built and debugged:
Networked player spawning
Scene fix for players not appearing
Dynamic loading indicators
Error logging
Cross-scene references
Rebuilding navmesh after terrain bake
Fixing world tile seams
Fixing pathfinding on procedural terrain
I have also overhauled code structure dozens of times.
The immediate goal is to connect all existing systems and make sure they function together reliably. This includes:
Ensuring scene transitions (ship → world → ship) work with correct NavMesh assignment.
Verifying the portal system, player placement, and AI/navigation logic behave properly across scenes.
Making sure each subsystem—movement, environment interaction, atmosphere effects, inventory, spells, gear systems, etc.—is synced and functional within the same gameplay loop.
This phase is about debugging, stability, and closing all gaps between the core systems already built.
Once systems are talking to each other correctly, the next step is to create a polished vertical slice of the game.
This means:
A fully playable, representative chunk of the game.
All core loops in place: traveling, exploring, combat basics (if applicable), stats/resistances, and interactions.
UI functioning and readable.
Scene transitions smooth and reliable.
No major bugs in the slice.
This is the moment where the project stops being a prototype and becomes a proof-of-game.
Once the vertical slice is stable:
Better environment visuals
Animated effects (energy shield, winds, resistance VFX, spell icons, etc.)
Better materials, lighting, and feedback cues
More polished characters and animations
Interaction sounds
Weather/planet ambience
Portal effects
Footsteps, wind, pressure, shield hits
Combat audio
This step adds “punch” to the gameplay so it feels like a game.
Character selection screen
New character types or classes
Proper login & account handling (basic authentication, saving player loadouts, etc.)
Smooth onboarding and tutorialization
Tie all the above together so the slice looks and feels like a polished early section of the full game.
These aren’t required, but they’re common parts of a vertical slice and might be worth noting:
Basic enemy AI
Basic crafting or loot
Initial balance pass for stats, resistances, movement speeds, etc.
Networking verification: handle disconnects, respawns, scene desync edge cases
Build pipeline: be able to push test builds easily
Performance pass: fix expensive generation calls, heavy VFX, etc.
Any Questions /comments drop a line I will answer when I can. Comments are turned on.