Second Life viewer
Astral
A Second Life viewer that keeps its frame rate where the old ones lose theirs.
Early in development. No released builds yet, so everything starts from a git clone. Built on Unreal Engine, macOS first.
01 · Platforms
The instrument register
macOS is the primary target. Linux and Windows build from the same source. No binaries are released yet.
- macos Primary target Build from source
- linux In development Build from source
- windows In development Build from source
- vr Planned
- mobile Someday
All three platforms build from one repository.
02 · Engine
What the engine does differently
Five design decisions. All of them are in the source today, not on a whiteboard.
-
Fig. 01 / α The renderer never waits on the network.
The simulator and the renderer are separate processes. When the simulator stalls on a bad ping, the frame loop keeps running, so the view stays smooth while the connection catches up.
-
Fig. 02 / β Terrain streams in steps.
Regions load as heightfields with textures, then refine progressively. You get the coarse shape of the land immediately, and more detail the longer you stay.
-
Fig. 03 / γ Dense regions stay dense.
Mesh and prim rendering under modern lighting is sized for very dense regions: thousands of objects in view is the design point, not the failure case.
-
Fig. 04 / δ Your walk is predicted, then reconciled.
Movement input is predicted locally and reconciled against the server, so a laggy connection shows up as small corrections instead of stutter.
-
Fig. 05 / ε The protocol lives in a sidecar.
A clean-room C# sidecar process speaks the Second Life protocol. The renderer draws, the sidecar handles every packet, and neither blocks the other.
03 · Roadmap
The chart ahead
A direction, not a promise. The order shifts as the work shifts.
-
Now
In the engine today
- Simulation and rendering as separate processes.
- Streaming heightfield terrain with progressive texture refinement.
- Mesh and prim rendering sized for thousands of objects per region.
- Predictive movement with server reconciliation.
- C# sidecar speaking the Second Life protocol.
-
Next
Next up
- Avatars, with full appearance and animation.
- Chat and instant messaging.
- Inventory.
-
Later
Further out
- Teleport and region crossings.
- A high-resolution world map.
- A VR layer.
- Mobile.
Watch it take shape on GitHub.