Skip to content
This repository was archived by the owner on Jul 10, 2026. It is now read-only.

Latest commit

 

History

History
80 lines (60 loc) · 2.57 KB

File metadata and controls

80 lines (60 loc) · 2.57 KB

Todo List for Version 0.0.2 beta "Actually kinda looking like an engine"

GOAL: Have some game objects moving arround

It's not much but will work as a POC:

  • Draw a circle and some colored rectangles
  • AABB collision
  • Internal data storage (score, positions, speeds)
  • "AI" that follows the ball

The input system is ina weird position where we require straight access to it in random ahh places for some reason and we can't really abtract it.

General

  • Update docs pre-work
  • Possibly update this todo list
  • Update docs post-work

Core Engine (a.k.a main.cpp)

We should be able to fit the entire game on this file, none of the engine stuff should know about the game

  • Pong game demo
  • Core
  • Abstract input (a.k.a when key "x" pressed do "y") (function pointer to allow binding a key to an action?) EDIT: let the user code handle input directly
  • FPS system (still needs to improve, but core is done)

Build system

  • Separate X11 and Wayland build
  • Re-work build system

Renderer

  • Rectangles
  • Circles
  • Check possibility of using memset for drawing horizontal lines (optimization). EDIT: fill_u32 can be heuristically optimized with assembly latter, ... WAY latter.

Entity System

  • DOD for postions, sizes, etc. (Team Fat Struct?)
  • Get and set entity data

Platform Layer

  • Update anything as needed
  • Stop for X11
  • Check that both X11 and Wayland run the game proprelly

Input System

  • Add arrow keys (?)

Physics System

  • Simple AABB collision

Problems for future versions

The next version will likely be a strengthening of every engine pilar, such as a more general input system, a more optimized renderer, etc.

  • Shared memory for image buffer X11

Previous version

Todo list for version 0.0.1 p2 "Wayland"

GOAL: Implement a native wayland platform layer

We'll focus a lot more on this wayland layer building it from scratch.

General

  • Update docs pre-work
  • Update docs post-work

Core Engine

  • Demo to move a triangle

Platform Layer

Port the X11 layer to Wayland:

  • Init with internal state with screen, display GC, etc.
  • Shutdown dealocates everything to prepare for a possible re-start
  • Update with event handling (key presses and releases)
  • Present that displays the image buffer

Extra stuff:

  • Check equivalence (mostly, wayland does not do a black background outside the image buffer, but that shouldn't make any difference)
  • Cleanup the code

Future:

Maybe re-write X11 layer from scratch too just to see?