moved readme to notes, and started writing a proper readme

This commit is contained in:
DaniTheSkunk 2023-03-17 21:29:46 +00:00
parent dcaeac0b5b
commit 01a7e04793
2 changed files with 41 additions and 25 deletions

29
NOTES.md Normal file
View File

@ -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)

View File

@ -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.