From 27eea5cb62e69266f268f9c44a815b58798199c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miloslav=20=C4=8C=C3=AD=C5=BE?= Date: Sat, 11 Apr 2020 14:52:53 +0000 Subject: [PATCH 1/2] Update TODO.txt --- TODO.txt | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/TODO.txt b/TODO.txt index 7d058f6..8c4dd9a 100644 --- a/TODO.txt +++ b/TODO.txt @@ -2,8 +2,10 @@ general: - try to remove the debug flag (-g1) from compiler and see if it decreases size - port to GB Meta -- add enemy moving/dying sound -- sounds (music?) +- 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 - save/load (optional): When a level is finished, the state at the beginning of the next one (health, @@ -144,9 +146,11 @@ done: - 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 - custom font -- make barrels explode. +- make barrels explode - enemies - weapons +- sounds +- add enemy moving/dying sound - create tables for monster and weapon stats in constants.h and read from that instead of cheking with ifs - check if monsters are hit by bullets from completely up close From b1eaa65e8dd08dc9e6caa85bf297eb6204d39084 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miloslav=20=C4=8C=C3=AD=C5=BE?= Date: Sat, 11 Apr 2020 16:47:29 +0000 Subject: [PATCH 2/2] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 711ee7c..f4de4c7 100644 --- a/README.md +++ b/README.md @@ -110,6 +110,8 @@ portability, only backend, avoiding dependencies 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`). integer math