On this page
Wednesday 1st Cleaning up June notes Cleaning up ReadLast/ReadFirst jobsUnify into ReadIndex Test coverage Started sketching framework for vectorised lambert solver (solve 4 problems simultaneously with SIMD)Creating simd4 helpers, for operating on 4 x double3s simultaneously Added a default ship to storage Setting up UI to display budget Thursday 2nd More SIMD4 maths helpers (with tests) Fixing issue with serialisation code passing writers by copy instead of refWorks with current usage, but fragile if a different type of writer was ever used Setting up dropdown menu to allow individual items to be disabled Fixing ShipsStorage loading on the wrong thread Passing selected ship up to spawn button Friday 3rd Spawning Removed budget stuff from lobby Slightly optimised bullet collision sweeps (early out when there are either no bullets or no colliders) Saturday 4th Weekend project - completing SIMD port of lambert solverPorting iterative methods, same approach for all:Calculate which lanes are "active"Exit if all lanes are inactive Compute for all lanes Update loop state only for active lanes Porting testsThey all work first time!? Adding fuzz test to compare with baseline Updating porkchop generator to use new method Monday 6th My monitor died :( Created a script to populate a dropdown with planets Tuesday 7th Investigating styling issue in Dropdown Raising planet selection event Added camera controller locking, preventing switching focus Wednesday 8th Investigating broken drag axis for orbit editorIt's fine, just weird due to trying to render scene view and game view at the same time! Fixing issue with grabbing editor handles causing orbit to change slightly Debugging network serialisation issueBad Magic number on ship serialisation Setting up spawning for shipsTrack budgets on server Check budget Checking if planet is allowed for spawning for this team Adding list of allowed planets per-team to scenario Thursday 9th Expanding list of spawn planets in scenario into a proper spawn point spec Spending ship value from team budget Sending budget update Sending initial message to set budgets at startup Spawning a ship!!!! Friday 10th Adding TimeAtTrueAnomaly function Using correct true anomaly for spawningCorrecting position calculation: parent state at time 0, orbiter state at time TA HotStuff units are not network serialised properlyWriting serialisers for every one Added a unit test that fails if a new type is added without a serialiser Investigating orbit serialisation errordouble sequences serialisers are heavily tested Fuzzing orbit data roundtrip Potential double free to array pool? Monday 13th Setting orbit relative to parent planet during spawning Adding Done Spawning trackingChecking all players Exempting spectators (treat them as implicitly done) Switch gameplay mode when done It works! Tuesday 14th Cleaning up some todos Adding client side handling for refused spawn requests Experimenting with Unity Animator to control UI error states Wednesday 15th Continuing experiments with Animator for UIEvents are not reliable?Layer weight must not be zero! Building a card to show who we're waiting for during spawning Adding PlayerAvatarTexture componentSystem to load avatars (e.g. from Steam) asynchronously Thursday 16th Spawning cards Binding cards to players Learning about shader graph custom functions Investigating raymarching rendering for volumetrics Friday 17th More raymarching Experimental plume rendererRender only back faces of proxy geometry Analytically calculate front face position per-pixel Jitter start positions to fix banding Saturday 18th/Sunday 19th Messing with more raymarching plumes Monday 20th Testing lobby with Unsteam lobbyLobby is broken - probably an Unsteam bug? Host is not added to their own lobby! Fixing spawning panels disabling themselves and then never re-enabling themselves Investigating index-out-of-range in integrator (major body)tidal force calculating is returning NaN! NaN in integrator due to bad engine burn, test ship has zero thrust! Fixed burn scheduler to not create a burn if force or mass flow is zero Fixing Unsteam lobby unable to set member data key Cannot connect to KCP session Fixed lobby "ready" indicator showing the state for the local player for all players Added an offline scene to the network manager - failing to connect moves to this scene Tuesday 21st Refactoring connection process:Moving spawn player process into custom network manager Building a custom network manager for new spawn process Wednesday 22nd Creating campaign/scenario list for lobby Big refactor, splitting campaigns and scenarios into separate assets Thursday 23rd Refactoring campaign list UI to just be a scenario list Adding filtering to scenario list Using new scenario list in lobby Creating some campaign filesExperimenting with procedural generation for NATO style tasking Friday 24th Improving lobbyScenario list panel outlines Scenario title Scenario briefing Adding orbit preview for spawning Monday 27th Investigating feasibility of weekend idea for Myriad.ECS foreign key entity joins: allow command buffer to sort archetypes/chunks. This might optimise data locality.Implemented chunk sorting, but not exposed public API yet Tuesday 28th Improving test coverage on HotStuff physics library Investigating fast approximate assignment problem for gunnery Adding dashed lines to NBody spawning previewLine times are specified with soft_double (emulated f64 on GPU) Wednesday 29th Building a simple missile/PD gun simulation, to test gunnery assignmentsFull target assignment probably not neededMissile PD can fire a salvo and wait to see if it works Lasers fire until the target explodes (no travel time) PD guns are always extremely short range, suboptimal but fast algorithm is ok New UI base panel design Thursday 30th Finishing panel v2 Updating packagesBurst Unity Physics UniTask HotStuff Build for LAN multiplayer testing Reduced size of some files (excessive textures) Considering chunk sorting API while build runs Friday 31st Added "NPCs" section to scenario file (empty for now) Building new ship storage system:Multiple source:Streaming assets (shipped with game) Persistent data (writeable folder for saves) Steamworks