Skip to content
Vrekt edited this page Apr 8, 2024 · 1 revision

How Lunar Works

Lunar has a shared Entity library within. Entities have most of the basic features you would expect of entities. Such as position, velocity, health, sprites, interpolation, and, more.

Another shared library within is the Protocol library. Here most of the basic/implemented packets reside. Most of the boilerplate is handled for you depending on the complexity of your game. Such defaults include, position, velocity, join/leave worlds, pinging, adding/removing network players + more. Of course, you are able to register your own packets and handlers for those.

Lunar contains server-side code and client-side code. Server side features include netty server logic, networked worlds, entity handling, packet handling and a few other configuration options. Client side features include box2d worlds, connection handling, and more.