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.

View on GitHub Roadmap

01 · Platforms

The instrument register

macOS is the primary target. Linux and Windows build from the same source. No binaries are released yet.

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  1. 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.
  2. Next

    Next up

    • Avatars, with full appearance and animation.
    • Chat and instant messaging.
    • Inventory.
  3. Later

    Further out

    • Teleport and region crossings.
    • A high-resolution world map.
    • A VR layer.
    • Mobile.

Watch it take shape on GitHub.