From e51ce14901774a38577ecafa3c4ab05c98510780 Mon Sep 17 00:00:00 2001 From: 0scar Date: Mon, 29 Jan 2024 13:12:56 +0100 Subject: Update README --- README.md | 38 +++++++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 836a226..0c86425 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,37 @@ Daw === -Daw is yet another amateur WIP game engine. +Daw is yet another hobby WIP game engine. It is written in C99 and can be compiled and linked to easily in any CMake project. -It currently has a very limited amount of features, but comes with some -stand-alone utility sources: -* [BTree](src/btree.c), a copy of [my own btree implementation](https://github.com/0undefined/btree). -* [stack](src/stack.c), yet another implementation of a stack. -* [list](include/engine/list.h), just a linked list. -* The `memory` module provides a simple arena allocator. -* The `vector` module just provides some simple 2d vector functions and datatype. +Currently it supports a very limited set of features: -The documentation is lacking, but the code is smacking! +* IO handling using input layers +* Window creation & 2D rendering (using SDL2 at the moment) +* Hot reloading +* Resource handling +* Memory handling +* UI (the input types are limited to buttons only at the moment) +* Logging + +As well as a limited set of 2D grid-based game utilities: +* Pathfinding +* FOV calculations using shadowcasting + +The engine is build around states. This means the developer needs to provide +initialize, update, and cleanup functions for each game state (states such as +"title screen", "game running", and such). +The whole project is made to be easily managed using CMake (yes, I too wonder +why sometimes). + +Currently the only "supported" platform is linux. I do plan on adding windows +support in the future. + +I plan on documenting how to use the engine as soon as I stop modifying the API, +and plan out a more solid organizational strategy for the project as a whole. + +See [this CMakeLists.txt][0] to get an idea of how to use this project. + +[0]: https://github.com/0undefined/rogue/blob/a947b0092d91920d56eb9af6a39bd1bd05e145fc/CMakeLists.txt -- cgit v1.3