[Week 2] Sim: Building things, flying things, breaking things

6 minute read Published: 2026-03-29

[Wed, 25 Mar 2026]

(AM) Back at it, early start today. Really looking forward to seeing FPV this week, but a lot more to do first.

Rigid body is done. Motion looks fine. Lua is wired in. I left off with updates to the cell definition for per-face behavior- which means working motors!

Cella Cell Definition JSON Cella Cell Definition JSON

For today:

  • Per-cell VMs
  • Editor updates
    • Right-side panel with general settings, syntax-highlighted code editor
  • Energy system- with VMs done and requiring energy, seems a smart place to get good patterns in place.
  • Collisions, fragmentation as a stretch

(PM) Winding down, a little less productive than I'd hoped.

I changed course on energy and collisions this afternoon. They're important, but playability is paramount.

The editor has its properties and code pane now. Come to find out, it's not easy to build a drone operating blindly with full lateral and rotational control. So, I've built a ship ("Harbinger", below) for this specific purpose and will be focusing on input control mapping tomorrow.

Oh, and a first stab a Tactical View which will be critical in debugging moving forward.

Cella Harbinger Ship Cella Tactical View

Tomorrow I intend to fly one of these things.


[Thu, 26 Mar 2026]

Ha- probably premature to submit to HN :)

Input controls are complete with three flight modes: manual, stabilized assist, and simulated aircraft. I can technically fly, but it's far from intuitive.

Unfortunately in reviewing the changes, the control system was placed server-side with input directly routed from the client. wtf. LLM went with PD control, and while it did a decent job on stabilized rotation this won't hold up under real-life network conditions.

Good opportunity to introduce a simple network simulator, review dead reckoning and reconsider control options for playability under poor network conditions.

I wasn't able to make client-side PID work well under simulated conditions. It's a neat effect and may be a mode worth keeping, but ultimately I settled upon a server-side flight assistance mode. This keeps the craft stable on the ecliptic and introduces angular drag - all things a craft would have no problem doing itself w/o a network to contend with. That lets us keep Newtonian (kinda..) and play with options for fighter-pilot style control.

Cella Stabilized Flight Control

Intent-oriented flight control is next.


[Fri, 27 Mar 2026]

This morning was research, which means playing space fighters. I picked up two Switch titles- Everspace and Subdivision Infinity DX. Both are games I've never played before, and both were easy to hop in and play right away with intuitive controls- exactly the type of feel I want to provide.

Cella Stabilized Flight Control

Assisted flight turned out solid in FPV, the gif doesn't do it justice. It's a major hurdle in the project and proves out an earlier hypothesis. This isn't perfect directional thrust; client-side control systems manage cube motor thrust independently using brief bursts. Losing an engine without PD compensation works as intended.

Site note- The best algorithm to choose often depends upon what your max(n) is likely to be; something LLMs don't always consider.

Collision and damage make for fast follows with the rigid body code in place.

Cella Initial Health

Fragmentation and debris will take longer. Once we have satisfying fragmentation, we've got the basic outer loop of: build things, fly things, break things apart. Then it's on to the game loop to close that gap, and some fun universe building.


[Sat, 28 Mar 2026]

I let the LLM build out a profiler overnight. Straightforward as it seems, the LLM couldn't pull of a basic profile-a-loop in two attempts. Once it had a simple pattern and example and place it had no trouble filling in the blanks.

Performance at ~30k cells is playable but slamming the system. To hit the first simple game loop I have in mind we'll need to do much better. The most egregious thing I let sneak in are the cell status updates from the server, which right now is an absurd ~2MBs. And the old 2D system is still stealing lots of cycles. And lots of O(n) server-side right now that can be heavily optimized. Lots of room for improvement to pave road for more stuff.

Today's focus has been on performance, dead reckoning and smooth play.


[Sun, 29 Mar 2026]

Yesterday's updates were impactful. Server-side BVH, smart state updates, rendering pipeline overhaul and flight control resolver fixes. Some additional work this morning to reduce network chatter.

Build ships and break things: ✅

This evening some polish on fly feel. Next week it's on to roadmapping towards an EA release.


Follow the journey...

⬅ Last Week Home


Get dev updates on Cella. No spam, unsubscribe anytime.