This commit is contained in:
Miloslav Číž 2020-04-11 23:17:32 +02:00
commit e214780e9f
2 changed files with 9 additions and 3 deletions

View File

@ -110,6 +110,8 @@ portability, only backend, avoiding dependencies
how to port to new platform, frontend, configs in files how to port to new platform, frontend, configs in files
All global identifiers of the game code start with the prefix `SFG_` (meaning *suckless FPS game*).
The **engine** -- raycastlib -- works on the principle of **raycasting** on a square grid and handles the rendering of the 3D environment (minus sprites). There is a copy of raycastlib in this repository but I maintain raycastlib as a separate project in a different repository, which you can see for more details about it. For us, the important functions interfacing with the engine are e.g. `SFG_floorHeightAt`, `SFG_ceilingHeightAt` (functions the engine uses to retirieve floor and ceiling height) and `SFG_pixelFunc` (function the engine uses to write pixels to the screen during rendering, which in turn uses each platform's specific `SFG_setPixel`). The **engine** -- raycastlib -- works on the principle of **raycasting** on a square grid and handles the rendering of the 3D environment (minus sprites). There is a copy of raycastlib in this repository but I maintain raycastlib as a separate project in a different repository, which you can see for more details about it. For us, the important functions interfacing with the engine are e.g. `SFG_floorHeightAt`, `SFG_ceilingHeightAt` (functions the engine uses to retirieve floor and ceiling height) and `SFG_pixelFunc` (function the engine uses to write pixels to the screen during rendering, which in turn uses each platform's specific `SFG_setPixel`).
integer math integer math

View File

@ -5,8 +5,10 @@ general:
setting) setting)
- try to remove the debug flag (-g1) from compiler and see if it decreases size - try to remove the debug flag (-g1) from compiler and see if it decreases size
- port to GB Meta - port to GB Meta
- add enemy moving/dying sound - music:
- sounds (music?) Probably just one long music track playing over and over -- KISS. The frontend
could have a callback function play_music_bar(n) which would be called by the
backend, the music track would be in sounds.h.
- level 2D map (with revealing, bitmap), special key for quick displaying map - level 2D map (with revealing, bitmap), special key for quick displaying map
- save/load (optional): - save/load (optional):
When a level is finished, the state at the beginning of the next one (health, When a level is finished, the state at the beginning of the next one (health,
@ -147,9 +149,11 @@ done:
- try to compress images: store images as 4 bits per pixel + 16 color palette - try to compress images: store images as 4 bits per pixel + 16 color palette
(subset of the 256 color palette), check if performance stays ok (subset of the 256 color palette), check if performance stays ok
- custom font - custom font
- make barrels explode. - make barrels explode
- enemies - enemies
- weapons - weapons
- sounds
- add enemy moving/dying sound
- create tables for monster and weapon stats in constants.h and read from that - create tables for monster and weapon stats in constants.h and read from that
instead of cheking with ifs instead of cheking with ifs
- check if monsters are hit by bullets from completely up close - check if monsters are hit by bullets from completely up close