# 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