Commit graph Aetheria/Assets/Scripts/ServerShared/Behaviors
Author SHA1 Message Date
Meta Vens
b0d2aa1156 Purge Newtonsoft state annotations 2026-06-13 04:56:50 +01:00
Reinier Vens
c6ffcad3f1 Shields
Created field bubble shields / propulsion, currently just a prototype with its own test scene
2025-01-30 01:58:05 +00:00
Reinier Vens
be5e7618d6 Performance Optimization
Improved volumetric flow performance by orders of magnitude
Cleaned up old raymarching support code
Moved asteroid height calculation to vertex shader
Manual culling for asteroid field render update
2022-07-19 18:55:17 +01:00
Reinier Vens
1284149d47 Hostility System
Implemented hostility system - entities can mark each other as friend or foe depending on changing conditions (currently only depends on local security level)
Added "friendly" target indicators in blue
2021-05-11 04:45:42 +01:00
Reinier Vens
c2a23b5f5e Keyboard Layout Display
Fully implemented procedurally generated keyboard layout display UI
Fixed Granular Audio
2021-05-03 23:15:29 +01:00
Reinier Vens
80863cf64b Aetheric Drive VFX 2021-04-30 15:37:39 +01:00
Reinier Vens
7d67d7ec2c Wwise Audio Integration 2021-04-30 06:39:57 +01:00
Reinier Vens
e295b1a1ab Shield UI Tweak
Greyed out and swapped shield icon when enemy has no shield equipped
2021-04-29 00:21:33 +01:00
Reinier Vens
7cfc5cd04f Drag and Drop + Zoooooooom
Refactored inventory drag & drop to use new global drag & drop management
Enabled Drag & Drop from inventory panel to action bar
Enabled gear and consumable item binding
Fixed stat modifier behavior to allow it to be toggled
Fixed Switch behavior to make it bindable
Added lambda multiplier to aether drive so that stat mod can target it
2021-04-21 01:49:07 +01:00
Reinier Vens
4489b18452 Action Bar (WIP)
Refactor item instance to use DatabaseLink
Labels now pop up when aiming at loot
Yeeted HUD trigger group UI into the abyss
Created rebindable action bar (missing: assigning actions)
Created Consumable Items
Refactored behaviors to work on consumable items
Implemented Velocity Conversion Behavior
2021-04-18 05:13:20 +01:00
Reinier Vens
11bfc739fe Aetheric Drive
Added Aetheric Drive hardpoint and item behavior
Added Drive RPM UI to HUD
Fixed death not disabling continue option
Disabling global input when dialog is visible
Fixed loadout generator failure when zero price item present
Replaced fixed top speed with drag coefficients
2021-04-14 03:29:14 +01:00
Reinier Vens
54f7e3a66f Properties Panel Overhaul
Marking player location on galaxy map
Fixed non-input field focus disabling global key map
Player start ship is now always the same
Loadout generator now demands exact match for item dimensions
Thermal damage now triggers ItemDamaged event = player can die from cockpit wear!
Properties panel now has a much more attractive UI
Implemented curve control for properties UI
Centralized number formatting in player settings
Moved significant digits to player settings
Added temperature unit option in player settings
2021-04-13 01:50:42 +01:00
Reinier Vens
a51c402fc5 Reflected Visibility
Ships are now more visible in lit areas (depending on cross section stat in Reflector behavior)
Refactored all behaviors to remove context & entity references (can get them from equipped item reference if needed)
Fixed crash when enemy dies of heatstroke while targeted
Exponential decay for visibility now uses correct time-independent formula
Refactored item inspection in properties panel (now consistent between equipped items vs. inventory and store items, shows effect of heat on stats)
Reordered item properties and added spacing between groups
2021-04-12 04:20:52 +01:00
Reinier Vens
ca1ce9859d Live Demo Tweaks
Copied Main Menu to gameplay scene
Added Pause functionality (ESC key)
Save & Restore discovered zones
Applied vertical offset to asteroids (no more intersections!)
Nebula shader optimized to improve early exit
Nebula shader outputs light scattering to second render target
Modified depth of field shader to use nebula light scattering
2021-04-09 14:01:34 +01:00
Reinier Vens
968783bf9c Database Improvements
Brought in all the myriad improvements to the database tools from the Stream Pixels project
Added configurable nested entry grouping
2021-04-07 01:27:35 +01:00
Reinier Vens
526a737a4d Modular Database Tools
Extracted all inspector code for database inspector into a single class per supported field type and wrote reflection code to invoke them automatically
Removed all Aetheria-specific code from database tools
Database View editor is now abstract and supports arbitrary grouping of entry types; specific users must implement their own database view
2021-03-31 04:07:11 +01:00
Reinier Vens
48759380c5 Slime Stuff & DB Prep
Put the finishing touches on the microfauna
Prepared the repository for database extraction
2021-03-30 01:17:58 +01:00
Reinier Vens
11a9365f91 Trailer Stuff & More
Changed title font to Montserrat
Added trailer-specific camera transitions
Added key to hide UI
Fixed input listening while console is open
Added animated zone reveal effect in galaxy map
Added Ping action for sensors
Added debug console commands (e.g. give command to get any item in legendary+ quality)
Temporarily disabled wwise
Fixed infinite loop in weapon penetration code
Guided missiles now predict target position
Fixed hitscan weapons
Fixed invisible enemies bug
Fixed various loadout generator issues (can now generate turrets!)
Fixed wormhole crash when enemy is targeted
Saving/loading current zone time when exiting game (planets keep their positions)
Created slime simulation in test scene - WIP
2021-03-27 10:03:24 +00:00
Reinier Vens
64a8589b7f Ammo Consumption Hotfix
Weapons weren't firing for some reason
2021-03-22 06:10:00 +00:00
Reinier Vens
47189c8a7e Equipment Data Simplification
Removed blueprint system for crafting (and excised anything depending on that)
Implemented smootherstep and used it for wormhole animation
Quality dependent durability and heat exponents are now global instead of item specific
Database list view now groups equipment by manufacturer
Thrusters can now consume energy
Weapons can have reloads even when they don't have ammo
2021-03-22 05:22:31 +00:00
Reinier Vens
645fcf4b09 Sensor Ping
Added ping feature to sensors, pulsing a wave of revealing light into the level
Added IEventBehavior interface, used by sensors and weapons, for behaviors containing event subscriptions which need to be reset when EntityInstance is disposed
Implemented sensor impact for locked weapons (lock speed varies with sensor acquisition)
Added ping cooldown bar to HUD
Added spline curve implementations to AetheriaMath, applied better mapping to wormhole transition animation
Tweaked loadout generator to prefer larger items to a controllable degree (e.g. very important for cargo bays, less for shop inventory), shop inventory bans non-ship hulls and manages internal space more effectively
2021-03-21 01:55:25 +00:00
Reinier Vens
c0494ee3d8 Audio Fixes
Reactor load RTPC wasn't being set correctly
Turns out you actually have to assign audio emitter positions manually, wow
2021-03-16 18:17:38 +00:00
Reinier Vens
d3a03bec6c Audio Integration
Associated equippable items with audio triggers and individual game objects
Added event triggers for stopping sounds when entities are destroyed
2021-03-16 16:35:23 +00:00
Reinier Vens
f10804ac11 Ultimate Sector Generation X Pro Max Silver Edition
Added entrances, exits and factions to sector generation
Associated each corporation with a unique name database and color scheme
2021-03-11 11:18:21 +00:00
Reinier Vens
3f9af29843 Sector Generation
Fixed Laser cancelling bug
Fixed Turrets not activating
Added ability to bind player perspective to orbital entities
Added Markov Chain name generator + Australian place name dataset
Modified old "galaxy" shader to serve as sector background
Implemented Cem Yuksel's Weighted Sample Elimination for Poisson Disk Sample Sets
Created sector generator which places sectors using WSE
2021-03-10 09:18:07 +00:00
Reinier Vens
1092159063 Thermal Performance Threshold & Thermal Override
Items will switch themselves off below a customizable threshold to avoid damage
Player can toggle thermal override to disable safety shutdown
Selecting an item allows player to select whether the item will override
Clicking on the background of an inventory panel will display general ship settings (including thermal shutdown threshold)
Performance Stat evaluation has been moved to EquippedItem, slight performance improvement
Item online and active status are now reactive properties
Created player settings file to store e.g. shutdown threshold
Fixed crash when entering wormhole while enemies are visible
2021-03-07 01:10:31 +00:00
Reinier Vens
2f088b5590 Heatstroke VFX
Filling the heatstroke meter now results in a postprocessing filter which increasingly distorts the player's view as they get closer to death.
2021-03-06 02:42:19 +00:00
Reinier Vens
8920b48977 Shielding
Shield behavior now provides protection from damage at the expense of heat and energy usage
Weapon scripts check for the presence of a shield when detecting collisions (TODO: TEST ALL WEAPON TYPES)
Shields can be toggled on/off (G key)
Database cache now included in repo (saves some confusion)
2021-03-06 01:04:26 +00:00
Reinier Vens
adfb200a91 Wormholes 2021-03-05 14:31:18 +00:00
Reinier Vens
4b10923448 Heat Performance Curves + Wear & Tear
Added heat variation option for Performance Stats
Ability to toggle radiators on/off using H key
Item durability loss (Wear) is now heat dependent and incurred only when used
Restricted equip/unequip to docked (inactive) entities
Fixed race condition causing exceptions in database sync code
2021-03-04 03:58:46 +00:00
Reinier Vens
fae3b85213 Torque Compensation for Strafe Input
Adjusted thruster firing to compensate for torque introduced by uniform application of strafe input to lateral thrusters.
2021-03-03 01:53:23 +00:00
Reinier Vens
56f97d82f9 Centralized Energy Generation
Energy consumption is now handled by the entity code via the TryConsumeEnergy function, will return false when out of power.
2021-03-02 23:02:19 +00:00
Reinier Vens
ee0bba31b1 Active Cooling
Radiators now have a heat pump built into them
2021-03-01 01:53:56 +00:00
Reinier Vens
db8c3c7779 Initial Wwise Integration
Created wwise project
Integrated inventory UI sounds
Improved projectile weapon behavior (randomized start position, stopped them from self-destructing at target range when airburst is disabled)
2021-02-27 20:53:36 +00:00
Reinier Vens
b53e4aec8c Combat & Visibility & Collisions
Converted entity materials to new fade shader
Implemented visibility system
Refactored per-instance entity code to run inside monobehavior on entity instances
Created state machine AI for enemy ships with basic patrol and combat routines
Removed legacy AI code (controller item behaviors)
Added automatic trigger group assignment for matched weapons
Created ship collision system
Created shield VFX and colliders
2021-02-26 19:01:47 +00:00
Reinier Vens
8d4bd04891 AI State Machine First Pass
Implemented first pass on code-driven state machine logic for flexible AI agents
2021-02-11 03:14:20 +00:00
Reinier Vens
bb297bf84c Lightning
Created Lightning Gun effect (Uses LineRenderer, very slow)
Created GPU Lightning renderer (very fast, still needs integration)
2021-02-04 04:37:47 +00:00
Reinier Vens
3a9ee2ccf7 Damage System Rewrite
New damage system, much easier to understand
Splash damage support
Hardpoint armor consolidated with hull armor
Minimap shows view cone
New industry standard palette for temperature display
Temperature range display contains palette
Restoring loadouts now ignores temperature and armor
Items can ignore thermal mass when adding heat
Burst weapons can consume single ammo (mainly shotguns)
New missile type that follows crosshairs
New airburst projectile type that deals splash damage
Auto Shotgun and Charged Shotgun
2021-02-01 08:13:14 +00:00
Reinier Vens
dbc522a224 Weapos Rejiggered
Modified weapon scripts to eliminate specialized projectile behavior - allows charged weapons to have projectiles and modify weapon stats when charged
Added machine gun weapon & VFX
Moved third party code to Plugins folder to improve compile times
2021-01-31 03:52:32 +00:00
Reinier Vens
2a0fe34611 Charged Weapons & Hitscan Weapons
Implemented two new weapon types and created the Railgun (which is both) and accompanying VFX
2021-01-30 01:02:11 +00:00
Reinier Vens
922c8ea460 Misc. Improvements
Turrets lead their projectiles
Double click to equip/unequip/move
Minimum weapon convergence distance
2021-01-27 16:14:41 +00:00
Reinier Vens
b779d7c0af Heat System v2 + Lasers
Heat system remade, now guaranteed stable
Schematic heat texture is now
Radiators glow according to temperature
Added Laser weapons
Longinus has split weapon and radiator meshes, weapons can yaw 1 degree for target convergence
Articulation points can now handle 360 rotations properly
Fixed exception caused by hit spread on thin hull sections
Fixed loadout not restoring item rotation
Fixed exception in inventory panel selection
2021-01-27 00:05:30 +00:00
Reinier Vens
357f9db329 Weapon Scripting Overhaul
Weapons are now monolithic behaviors
Various new weapon behavior types implemented
All weapons have optional magazine and reload mechanic
Visibility now decays globally
2021-01-25 05:53:36 +00:00
Reinier Vens
8d6770ab15 Performance Optimization
Asteroid positioning is now multithreaded
Item quality calculation is now allocation free
Various other garbage reductions
2021-01-17 23:26:53 +00:00
Reinier Vens
f4ee26e96c Trade Menu
Implemented Trade Menu
Item Filtering by size, hardpoint, behavior
Buying from trade menu on double click
2021-01-14 23:47:08 +00:00
Reinier Vens
e3de7158fd Entity Destruction
Added multiple turret enemies
Added ability to destroy enemies
Fixed bug where player could target themselves
Fixed bug where targeting new enemy freezes schematic hit animation
Fixed bug where target lock progress could persist when targeting new enemy
2021-01-12 00:54:29 +00:00
Reinier Vens
20e9f89228 Target Schematic & Various Improvements
Targeting an enemy now shows their schematic
Added Longinus Hull
Fixed projectile overpenetration
Fixed projectiles colliding with minimap icons
Added Schematic hit flashing
Thruster torque multiplier
Thruster torque threshold
2021-01-11 02:56:37 +00:00
Reinier Vens
fddd485262 Hellfire
Targeting
Target locking
Crosshairs
Improved HUD schematic feedback
Equipment Heat Damage
Equipment Disabling
2021-01-10 03:59:47 +00:00
Reinier Vens
871c978301 Hit Detection 2021-01-08 12:44:10 +00:00
Reinier Vens
ef816cc7e0 Murder Satellites
Created TurretController, which performs basic combat for fixed orbital installations
Projectiles self-destruct at maximum range
Created turret prefab
Outfitted turret in game manager
Entity position is now 3D
Entities responsible for updating their own position and orientation
Barrel positions and orientations available from entity code
Inventory code will display modal dialog for invalid item moves instead of breaking
Yaw articulation working (full 360 rotation still borked)
2021-01-06 14:56:39 +00:00