From 01a7e04793e1e41c94547192b15f8703e4c2f381 Mon Sep 17 00:00:00 2001 From: DaniTheSkunk <> Date: Fri, 17 Mar 2023 21:29:46 +0000 Subject: [PATCH] moved readme to notes, and started writing a proper readme --- NOTES.md | 29 +++++++++++++++++++++++++++++ README.md | 37 ++++++++++++------------------------- 2 files changed, 41 insertions(+), 25 deletions(-) create mode 100644 NOTES.md diff --git a/NOTES.md b/NOTES.md new file mode 100644 index 0000000..9456e30 --- /dev/null +++ b/NOTES.md @@ -0,0 +1,29 @@ +# skunkworks-c + +## code standard + +snake_case for variables, function names, and struct names. +always explicit struct, no typedefs. +prefix struct members with _ (yes, its allowed, but _within_ structs only) if "private". +function order: +- create functions(including unnamed value type ones) +- destroy functions +- empty line +- static functions(ones that don't take object as parameter) +- empty line +- methods(ones that do take object as parameter) + +## game skunk advance stuffs + +do lots automagic... +magic main function within the header? +autocalling update and init function. +texture loading compile time? parse directory, make a variable for each (player.png -> tex_player), and a loading function that will load all of them. + +### game skunk advance specs +8-bit colour, but user changeable palette(realtime) +tilesize 16x16 +screensize 304x176 (19x11 tiles) +multiple tilesets... or singular big tileset? the latter... could be a nice simplification... maybe 65536 tiles, a 4096x4096 pixels texture +4 tilemaps, 1024x1024 each, tileset offsets?, rotation and other effects +256 sprites (using tileset) diff --git a/README.md b/README.md index 9456e30..e7bdb6e 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,16 @@ -# skunkworks-c +# Skunkworks -## code standard +A planned to be comprehensive 2D and 3D game engine, written in C. Currently in very early development. -snake_case for variables, function names, and struct names. -always explicit struct, no typedefs. -prefix struct members with _ (yes, its allowed, but _within_ structs only) if "private". -function order: -- create functions(including unnamed value type ones) -- destroy functions -- empty line -- static functions(ones that don't take object as parameter) -- empty line -- methods(ones that do take object as parameter) +## Scope +- Hardware accelerated 2D graphics +- 3D Graphics +- Limited subset 2D (gameskunk advance) +- Text rendering +- Networking (multiple models, replication and message based) +- Audio (including softsynth) -## game skunk advance stuffs +## State +Very early state, first targeted milestone is gameskunk advance(a limited subset of skunkworks). Which can currently load a tileset, display multiple layers of tiles, do tile based text rendering, basic sprite support, and gamepad input. -do lots automagic... -magic main function within the header? -autocalling update and init function. -texture loading compile time? parse directory, make a variable for each (player.png -> tex_player), and a loading function that will load all of them. - -### game skunk advance specs -8-bit colour, but user changeable palette(realtime) -tilesize 16x16 -screensize 304x176 (19x11 tiles) -multiple tilesets... or singular big tileset? the latter... could be a nice simplification... maybe 65536 tiles, a 4096x4096 pixels texture -4 tilemaps, 1024x1024 each, tileset offsets?, rotation and other effects -256 sprites (using tileset) +With a handful more features it will be ready for gamejams atleast. The experience of using gameskunk advance in those will shape the apis and features going forward.