| ▼Ncomponent | |
| CAABBCollider | Axis aligned bounding box used for collision detection |
| CAnimation | Sprite sheet animation played by changing the texture rectangle |
| CanimationClip | Sprite sheet frames played for one animation state |
| Canimator | State machine that picks the Animation clip of an entity |
| CBullet | Marks an entity as a projectile |
| CControllable | Marks an entity as a ship driven by player inputs |
| CDead | Tag marking an entity for destruction at the end of the frame |
| CEnemy | Marks an entity as a Bydos enemy |
| CNetworkEntity | Links a local entity to its replicated counterpart |
| CParallax | Background layer that scrolls left and wraps around |
| CSoundRequest | Request to play a sound loaded in the audio manager |
| CTransform | Position, rotation and scale of an entity in world space |
| CVelocity | Linear speed of an entity |
| ▼Nrtk | |
| ▼Ncollision | |
| CCollision | Pair of entities whose colliders overlap |
| CCollisionBuffer | Collisions detected during the current frame |
| ▼Necs | |
| ►Nconcepts | Backend independent types and concepts used by engine systems |
| CColorRGBA8 | 8-bit per channel color |
| CEvent | Input query interface filled by the window backend |
| CSpriteData | Everything the renderer needs to draw one sprite |
| CTextureRectU16 | Area of a texture, in texels |
| ▼Nfactory | Data driven entity creation |
| CEntityFactory | Builds entities from JSON blueprints and registered component builders |
| ▼NInput | |
| CAxisData | Gamepad axis binding with its activation threshold |
| CInputBinding | One physical control bound to an action |
| CInputMapping | Table binding up to four physical controls to each of 32 actions |
| ▼Nsystems | |
| CAnimationSystem | Advances sprite sheet animations and updates texture rectangles |
| CAnimatorSystem | Loads the clip of the current animator state into the Animation |
| CAudioSystem | Ticks the audio backend once per frame |
| CBulletSystem | Marks bullets that went past the right edge of the world as dead |
| CColliderSystem | Detects overlapping colliders with a uniform spatial hash grid |
| CDeathSystem | Destroys every entity tagged with Dead |
| CDebugCollisionSystem | Draws collider outlines while the debug overlay is enabled |
| CEnemyGCSystem | Removes enemies that left the screen on the left side |
| CEnemySpawnerSystem | Spawns a Bydos enemy at a random position right of the screen every 1.5 seconds |
| CInputSystem | Polls window events and turns bound controls into action bits |
| CMovementSystem | Moves entities according to their Velocity |
| CParallaxSystem | Scrolls background layers and wraps them to loop endlessly |
| CPlayerSystem | Sends the local player actions to the server every frame and triggers the shot sound |
| CRenderSystem | Draws every entity that has a Transform and a SpriteData |
| CEngineContext | Engine services handed to the game and its scenes |
| CGameEngine | Owns the ECS world and runs the main loop of a game |
| CInputState | Player input sampled during the current frame |
| CSceneManager | Holds the active scene and switches between a fixed set of scenes |
| ▼Nrtype | |
| ▼Nclient | |
| CGame | Client side game: window, inputs, scenes and replication of the server world |
| CGameScene | In game scene, which shows the scrolling starfield |
| CMenuScene | Title screen, which waits for the Confirm action |
| CNetworkClient | UDP client that performs the handshake, sends inputs and decodes server messages |
| CNetworkConnectionScene | Connection screen, which sends Hello every second until the server answers or 10 seconds pass |
| CNetworkEvent | Connection event or raw message received from the server |
| CReplicationEvent | Validated replication message received from the server |
| CRtkAudioAdapter | Adapts the sound manager of the graphical library to the IsAudioManager concept |
| ▼Nevents | |
| CConnectedToServerEvent | Published when the server accepted the handshake |
| CConnectionRejectedEvent | Published when the server refused the handshake |
| CCreateEntityEvent | Decoded CreateEntity message in world units |
| CEnemyEscapedEvent | Published when an enemy leaves the screen on the left side |
| CEnemySpawnedEvent | Published by the server when a new enemy is spawned |
| CPlayerShotEvent | Published when the local player releases the shoot button |
| CSendPacketEvent | Asks the network client to send raw bytes to the server |
| ▼Nprotocol | |
| CBigEndian | Unsigned integer stored as big-endian bytes, with an alignment of 1 |
| CCreateEntityPayload | Payload of a CreateEntity message, 16 bytes, sent by the server to spawn an entity on a client |
| CDestroyEntityPayload | Payload of a DestroyEntity message, 9 bytes, sent by the server to remove an entity from a client |
| CDisconnectPayload | Payload of a Disconnect message, 1 byte |
| CInputPayload | Payload of an Input message, 9 bytes, sent by a client every frame with the actions currently held |
| CQueryEntityPayload | Payload of a QueryEntity message, 4 bytes, sent by a client that received a snapshot for an entity it does not know |
| CSnapshotEntityState | State of one entity inside a Snapshot message, 11 bytes |
| CSnapshotHeader | Fixed part of a Snapshot message, 6 bytes |
| CSnapshotPayload | Decoded Snapshot message: a SnapshotHeader followed by entityCount SnapshotEntityState records |
| ▼Nserver | |
| CGame | Authoritative game simulation run by the server |
| CNetworkIdGenerator | Process wide source of unique network entity ids, starting at 1000 |
| ►CServer | Game level layer over NetworkServer that decodes client messages and encodes server messages |
| CConnectionEvent | Client connection or disconnection |
| CInputEvent | Input message received from a client |
| CQueryEntityEvent | QueryEntity message received from a client |
| CServerDeathSystem | Destroys dead entities and tells every player with DestroyEntity |
| CServerDependency | Object passed to every server scene constructor |
| CServerGameScene | Round in progress: simulates the stage and returns to the lobby when every player left |
| CServerInput | Input passed to server scenes, empty because inputs come from the network |
| CServerLobbyScene | Waiting room: starts the round with 2 players, or after 30 seconds with 1 player |
| ▼Nutils | |
| Cvec2 | Two dimensional vector of floats |
| CbusEvent | Type indexed publish and subscribe event bus |
| CConnection | State the server keeps for one connected client |
| CHandshakeHeader | Header of the datagrams exchanged before a connection exists |
| CMessageHeader | Header placed in front of every message inside a connected packet |
| CMessageParser | Splits the body of a connected packet into messages |
| CNetworkMetrics | Traffic and latency counters of a network endpoint |
| CNetworkServer | UDP server that runs the handshake, tracks connections and dispatches messages |
| CPacketHeader | Header that starts every packet sent on an open connection |
| CPacketReader | Bounds checked reader of big-endian values over a byte buffer |
| CPacketTracker | Generates outgoing sequence numbers and tracks received ones |
| CPacketWriter | Growable buffer of big-endian values, capped at MAX_PAYLOAD_SIZE |
| CParsedMessage | Message extracted from a connected packet |
| CPingMessage | Payload of a Ping message, 4 bytes, sent by a client to measure latency |
| CPongMessage | Payload of a Pong message, 4 bytes, sent by the server in answer to a Ping |
| CRtkWindowAdapter | Adapts the window of the graphical library to the IsRenderWindow concept |
| CUdpTransport | Asynchronous UDP socket wrapper used by the server |