diff options
| author | 0scar <qgt268@alumni.ku.dk> | 2024-01-29 12:12:56 +0000 |
|---|---|---|
| committer | 0scar <qgt268@alumni.ku.dk> | 2024-01-29 12:12:56 +0000 |
| commit | e51ce14901774a38577ecafa3c4ab05c98510780 (patch) | |
| tree | fd4846bab01b32e188478d7190d124176b15db49 /README.md | |
| parent | 1b5b70c2c0917aabf6595da63a59c5499d57963a (diff) | |
Update README
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 38 |
1 files changed, 29 insertions, 9 deletions
@@ -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 |
