summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author0scar <qgt268@alumni.ku.dk>2024-01-29 12:12:56 +0000
committer0scar <qgt268@alumni.ku.dk>2024-01-29 12:12:56 +0000
commite51ce14901774a38577ecafa3c4ab05c98510780 (patch)
treefd4846bab01b32e188478d7190d124176b15db49
parent1b5b70c2c0917aabf6595da63a59c5499d57963a (diff)
Update README
-rw-r--r--README.md38
1 files 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