simworld/doc/TODO.gmi
2024-11-14 15:21:36 -06:00

38 lines
1.3 KiB
Plaintext

# TODO
A list of things I'd like to accomplish
## In Progress
* Add a lua modding API
* Load mods
* Handle mod dependencies
## Completed
* Specify mods directory
* Tick-based game loop
* Split game ticking and socket connecting logic (can only tick on connection atm)
* Client send request
* Server handle request and send response
* Client handle response
* Have client render world data (return to pre-daemonised equivalent state)
* Serialise data to JSON for socket data transmission
* Send world data to client
* Initialise a world again
* Expose a socket or pipe on the daemon for the client
* Create client to connect to daemon
* Daemonise the serverside
* Parse command line arguments
* Split into client, server, and common library
* Write Makefile to automate compilation
## Planned
* Requests/responses for more than just the complete set of world data all at once
* Create and load worlds
* Display environment and pan camera
* Time controls (play/pause/speed up)
* See creature stats
* Remove rendering from serverside
* Client-side resource files for each mod
* Real error handling (right now I just pass up to main and immediately exit)
* Portability to other UNIX-like operating systems (if changes are needed; I don't care about DOS-likes)
* Reduce repetitiveness of JSON (de)serialisation code