aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authortcmal <me@aria.rip>2024-08-25 17:44:18 +0100
committertcmal <me@aria.rip>2024-08-25 17:44:18 +0100
commitc8c5e880781343d72671c231be8e132af5e2f344 (patch)
treed4736c557f0dba0dd667d10c4ad22f22fb2495ad /README.md
Initial Commit.
Diffstat (limited to 'README.md')
-rw-r--r--README.md25
1 files changed, 25 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..e927abd
--- /dev/null
+++ b/README.md
@@ -0,0 +1,25 @@
+# stockton
+
+A 3D engine inspired by quake.
+
+Most of what is described below isn't fully done, or even started.
+
+## Developing games
+
+Maps currently use the regular Q3 `.bsp` format, with each type of entity needing to be defined as a type implementing the `Entity` trait, through which it recieves events. You'll also need some sort of a `TextureStore` which finds the textures needed and converts them into a usable format. A lot of this is helped by `stockton-glue`
+
+## Internal Structure
+
+`bsp` is a library for parsing `.bsp` files to nice data structures. It can be found [here](https://github.com/tcmal/rust-bsp)
+
+`stockton-types` contains shared types & macros used by all the other crates, for example the world, entities, and other important things.
+
+`stockton-simulate` makes the world living, including collision detection, propagating events to entities and game state.
+
+`stockton-render` renders the world to a given surface, using `gfx` and `nalgebra`.
+
+`stockton-glue` helps you glue these together into an actual executable game.
+
+## License
+
+Code & Assets (including from `rust-bsp`) are licensed under the GNU GPL v3.0, all contributions automatically come under this. See LICENSE. \ No newline at end of file