mirror of https://gitlab.com/drummyfish/anarch
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
248 lines
12 KiB
248 lines
12 KiB
general: |
|
|
|
- Profile, epsecially Pokitto, small periodical tearing can be noticed (some |
|
periodical updates probably). |
|
- Compile Pokitto overclocked version. |
|
- Refactor. |
|
- Check grammar in source code. |
|
- Polish the emscripten version (is basically unplayable on phone, horizontal |
|
mode doesnt show whole screen etc). |
|
- Polish controls (bindings, mouse sensitivity etc.). |
|
- Polish weapon switching, maybe add a key to switch to previous weapon? |
|
- Port to OpenDingux. |
|
- Rewrite python scripts to C (faster, less bloat, fewer dependencies). |
|
- try to remove the debug flag (-g1) from compiler and see if it decreases size |
|
- compile on BSD and WinShit |
|
- run on raspbery pi |
|
|
|
level ideas: |
|
|
|
- outline: |
|
1. City, player sees the big Macrochip building (a smaller one) in the |
|
distance and has to get to its entrance. Beginning of the level is linear |
|
and serves as a tutorial, things like exploding barrels or acess cards are |
|
explained. |
|
2. Inside Macrochip smaller building. End leads to an elevator that goes |
|
under the ground. |
|
3. Warehouse: |
|
4. Factory: |
|
5. Small boss level: |
|
6. City, player is on the other side of the smaller Macrochip building, the |
|
level partially overlaps with level 1, but the player can now go further. |
|
Big Macrochip HQ (skyscraper) is seen in the distance, player has to get |
|
to its entrance. |
|
7. Inside skyscraper, 1st floor. |
|
8. Inside skyscraper, higher floor. |
|
9. |
|
10. Final boss level: on top of the skyscraper, player climbs up in a spiral |
|
towards the roof. There is a boss (or two) on the top with a few smaller |
|
ones, the exit is blocked by a lot of trapped warriors which the player |
|
has to slowly kill, which means he has to first get rid of the other |
|
monsters. |
|
|
|
- Long section under squeezer, player has to run and keep hiding in side rooms DONE |
|
to not get killed. |
|
- Elevator with 4 exits, on each world side. DONE |
|
- Teleport to a football stadium outside? DONE |
|
- Key to door that need to be unlocked can also unlock a door in previously DONE |
|
visited area which will just hide secret. |
|
- text on the wall -- some letter can be create- text on the wall -- DONE |
|
some letter can be createdd |
|
- Enemies can be placed on a single square higher fround to prevent their DONE |
|
movement. |
|
- Many teleports at place A and one teleport at place B, giving a low chance of DONE |
|
reaching B: player has to gring teleports until randomly lands in B. |
|
- Underground storage level start: be at the bottom of an elevator pit. |
|
- ceiling with "holes" through which sky (background) can be seen -- can be done DONE |
|
by having the ceiling texture set transparent and then alternating ceiling and |
|
no ceiling |
|
- boss level: skyscraper top, player goes upwards in a spiral along the OUTSIDE DONE |
|
side of the skyscraper |
|
- two levels could partially overlap, e.g. level one, a city, could overlap DONE |
|
with a later city level, the player could recognize he's e.g. on the other |
|
side of a channel or a wall that he was before |
|
- invisible maze kinda |
|
- wall made of elevators (or squeezers), serving as a big auto-opening gate DONE |
|
- a key spot to which the player can only get by jumping from a distant high |
|
elevated place |
|
- player has to jump from one elevator to another, which can only be done when kinda |
|
they're both moving down |
|
- multiple doors in a row (can look interesting) DONE |
|
- narrow (1 square wide) corridor filled with enemies blocking it |
|
- narrow (1 square wide) corridor blocked by barrels that have to be exploded DONE |
|
- teleport on elevator? |
|
- teleport at the bottom of a 1 square narrow hole, by jumping into the hole DONE |
|
the player gets teleported |
|
- narrow corridor with elevator |
|
- maze from walls and/or props DONE |
|
- narrow bridge with platformer elements over a hole full of enemies kinda |
|
- server room kinda |
|
- window (low unpassable ceiling) through which finish can be seen from the |
|
start location of the level |
|
- three locked doors in a row at the beginning of the level, the player has |
|
to go to three different locations for each key -- a "hub" level |
|
- office building kinda |
|
- plasma bots guarding a big stock (store) of plasma ammo |
|
- warrior (enemy) right before the player at the start of the level |
|
- T-shaped corridor in which two rocket-firing enemies stand facing each other DONE |
|
so that the player can kill them by stepping between them, letting them fire, |
|
then stepping back, making them kill each other |
|
- enemy trapped between barrels |
|
- teleport that leads to another teleport which is on a single high elevated |
|
square from which the player has to jump down and won't be able to return, |
|
making it a de-facto one-way teleport |
|
- teleports placed so that the player can shoot himself with a rocket or plasma DONE |
|
(for fun) |
|
- exploders in a maze, hiding behind corners |
|
- teleport leading to a center of big room full of enemies kinda |
|
- easter egg -- a level that looks funny on the map, e.g. forms a text or a DONE |
|
picture |
|
- squeezers with low-elevated base (a hole), on a side of a corridor -- if the |
|
player is curious and jumps in, he's doomed to die -- perhaps there can be |
|
many of them while one is in fact an elevator, which the player has to spot |
|
and take in order to advance |
|
- bullet-shooting enemies behing windows (low ceilings) in rooms that can't be DONE |
|
reached |
|
- locked door that cannot be unlocked at the beginning of the level as a DONE |
|
visual indication of entrance |
|
- elevator in a narrow (1 square) vertical hole with doors at the top and DONE |
|
bottom, looking like an actual elevator in buildings |
|
- player goes through a difficult platformer section and at the end has to make DONE |
|
takes card and has to go through the whole section again in order to also |
|
take the other one |
|
- big platform made of elevators that are moving in a short vertical distance, DONE |
|
giving an impression of a shaking, unstable platform |
|
- warrior and/or exploder right behing doors |
|
- tight maze made of barrels filled with warriors in which the player has to |
|
only use knife in order not to explode the barrels and hurt himself |
|
- enemy on an elevator that doesn't stop at aligned with the floor, so that DONE |
|
the enemy is "trapped" on it and only appears briefly to shoot at the player |
|
- barrel on elevator |
|
- platforming vertical section in which the player is going upwards out of a big |
|
hole |
|
- level with a lot of closed doors, done by including a door texture in the DONE |
|
level wall textures and then sing it for "fake" doors |
|
- invisible bridge (perhaps not straight) made of blockers (invisible walls) kinda |
|
over a hole, leading to an easter egg |
|
- start of level: a corner blocked by an invisible wall, to indicate entrance DONE |
|
- small pyramid from diffetently elevated floor tiles |
|
|
|
bugs: |
|
|
|
done: |
|
|
|
- add headbob |
|
- Switch music tracks when level starts? |
|
- SDL: handle the quit signal so that the program can be closed by closing the |
|
window. |
|
- On Win$hit builds display an anti-windshit text, by macro. |
|
- save/load (optional): |
|
When a level is finished, the state at the beginning of the next one (health, |
|
ammo, time, ...) is automatically saved and can be restored via load option in |
|
the menu. This save as well as some other things (game progress, inagme |
|
settings, ...) will be preserved even adter game restart if the platform |
|
implements a saving function. |
|
- more levels |
|
- port to GB Meta |
|
- "Smart" weapon switching. e.g. don't auto switch to knife unless necessary, or |
|
auto switch to a weapon from knife if ammo is picked up. |
|
- option for vertical auto aim |
|
- add blinking |
|
- make zBuffer 8bit only? |
|
- texture coords of floor walls should start from the floor? NO, CAUSES ISSUES |
|
- vertical visual noise when standing on elevator |
|
- sprite positioning inccuracy |
|
- 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 |
|
- 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 |
|
- menu |
|
- GUI |
|
- make enemies not move through items: |
|
create a 2D bit array saying at which squares there are colliding items, then |
|
check collisions for both player and monsters against this array (elevate |
|
these squares for collisions only) -- will also be faster |
|
- more level prop items |
|
- let player start with 100 HP, but allow for collecting a higher amount, e.g. |
|
up to 150. |
|
- limit maximum ammo amounts |
|
- boss (the last one killed) should drop key card, for boss levels (hardcode). |
|
- 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. |
|
- easter egg(s) |
|
- level 2D map (with revealing, bitmap), special key for quick displaying map |
|
- add universal corpse sprite? |
|
- if space left, try blurring (lerp) the level background, see how it looks |
|
- replace textures in distace with constant color for performance (setting)? |
|
- enemies close to a wall often don't get drawn |
|
- Architecture change: make platform files compilable and move main.c to game.h |
|
(so that pokitto is .cpp, GB is .ino etc.). |
|
- Bytebeat is bugged on Pokitto, outputs different values than on PC. Fix this. |
|
- Player jumps higher on lower FPS, is able to jump on 4 squares. Also check the |
|
distance jump. |
|
- disable transparency for walls for performance (setting)? |
|
- On desktop, SDL makes a high-pitched noise because of DC offset. Maybe put an |
|
average DC offset for each track into assets so that music player can use this |
|
to normalize the track? |
|
- Player is sometimes squeezed to death in door (appeared in level 9). |
|
Investigate, fix. |
|
- Add option for advanced head bobbing which will also shear the camera along |
|
with offsetting it. |
|
- compile with different compilers (gcc, clang, musl, ...) and settings, make |
|
a build script that creates multiple binaries (with different combinations of |
|
compilers and settings) |
|
- High pitch noise in SDL music AGAIN! |
|
- Add SW buttons to emscripten version so that it's playable on mobiles. |
|
- When SDL level starts without moving the mouse, the camera sometimes rotates |
|
wildly. |
|
- Player can be thrown inside a wall (by an explosion it seems), seems to happen |
|
near door. If this can't be prevented completely, automatically unstuck the |
|
player into a playable area. |
|
- Try to recolor textures and give them a bit more of variety. |
|
- Even if music is off, after turning on a few samples are played (also on |
|
Pokitto). |
|
- At the beginning "FPS cant be reached" is always displayed. |
|
- automatic tests: a frontend that will play the game, check the state, rendered |
|
frames etc. |
|
- make SFML frontend |
|
- Add FOV options. RCL doesn't project sprites with different FOV correctly - |
|
FIX! |
|
- When selecting continue from menu, the player shoots - fix! |
|
- FIX: running diagonally (forward + strafe) player can jump over 3 squares! |
|
- add time slowdown constant |
|
- On Pokitto/GB Meta sometimes after turn on the game starts midway loading the |
|
first level. |
|
|
|
scratched: |
|
- option for disabling wall transparency, for performance? |
|
- weapon autoswitch: when a stronger weapon becomes available via picking up |
|
ammo, maybe it should automatically be switched to (could have disable |
|
setting) |
|
- Ability to play SFX slower to e.g. give some monsters lower pitch? |
|
- Force monsters that are squeezed (e.g. on door) to always move. |
|
- try to make z-buffer 3 line instead of 1D, possibly like this (to keep |
|
performance): |
|
- at compile time selct X = power of 2 closest to vertical resolution |
|
(or something like that) |
|
- in pixel funct do something like |
|
if (pixel->y % X == 0 && pixel->y != 0) |
|
write to z-buffer |
|
- open door by shooting at them? |
|
- add jump pads? |
|
- add "pletivo" transparent wall texture? |
|
- make monsters die when squeezed? |
|
- add robot deactivator item? (encourages "stealth" gameplay) |
|
- optional graphics enhance: vertical wall shading ("ambient occlusions")? |
|
- some monsters could reflect plasma, i.e. not be hurt by it, but reflect it |
|
back towards the player |
|
- Port to ncurses? |
|
- Port to some fantasy console?
|
|
|