Initial commit
Import existing source tree; original VCS history is no longer available. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,330 @@
|
||||
|
||||
Priority:
|
||||
|
||||
* Cleaner gold fonts! (Poor AA in bigfont3, and goldfont
|
||||
is just a scaled and colorized version of icefont2.)
|
||||
|
||||
* Sort the video modes!
|
||||
|
||||
* Nodes and cores should have some sort of "spawn"
|
||||
effect when firing.
|
||||
|
||||
* Logic object pool optimization: Use LIFO pool + lists!
|
||||
|
||||
* Graphics scaling:
|
||||
* Remove or hide the advanced graphics options!
|
||||
* Graphics quality:
|
||||
* Fastest
|
||||
* Medium
|
||||
* Best (Default)
|
||||
* Custom (show old detailed settings)
|
||||
* At first startup, quality would be
|
||||
"Unknown". The game will start by
|
||||
testing the intro with no logo. The game
|
||||
picks a quality setting based on frame
|
||||
rate. If "Medium" or "Fastest" is picked,
|
||||
the game should warn and ask the user.
|
||||
* Specify in the loader what scaling methods should
|
||||
be used for each quality setting. (What about
|
||||
Custom?)
|
||||
* Disable alpha in Fastest quality. Medium...?
|
||||
|
||||
* Better scaling!
|
||||
* Try SDL_resize!!!
|
||||
* Combine Scale2x and Diamond2x?
|
||||
* S-spline style enhancement filters?
|
||||
* Detail textures?
|
||||
|
||||
* Indirectly changing the video mode (by changing one
|
||||
of the "Show" options) will not trigger a video
|
||||
restart.
|
||||
|
||||
* Death sequence UI timing should not be governed by
|
||||
game logic time! Throw in a "state time" feature in
|
||||
the gamestate manager or something. Or perhaps just
|
||||
switch to a fixed logic frame rate when not
|
||||
actually in-game? (It does actually make sense to
|
||||
scale in-game effects with game speed!)
|
||||
|
||||
* Quicker menu navigation with PgUp/Dn, Home, End etc.
|
||||
|
||||
* 3D "rockfield" for highscore and/or credits? (2D
|
||||
parallax rocks + stars without glSDL.) glSDL should
|
||||
support texture filtering for nice scaling.
|
||||
|
||||
* There should be some feedback from the sound engine,
|
||||
perhaps... As it is, you can't even see what sample
|
||||
rate it's actually using.
|
||||
|
||||
Bugs:
|
||||
|
||||
* Y scale factor f*cked up when switching to 2560x1600!
|
||||
Apparently happens only after "escape hammering"...
|
||||
|
||||
* In-game music volume affects intro music!
|
||||
|
||||
* Mouse crosshair can stick around after disabling mouse
|
||||
control!
|
||||
|
||||
* Multiple keys and buttons bound to the same
|
||||
function results in up/down state confusion; if
|
||||
you release one of the keys, the "target" gets a
|
||||
release event, despite other keys with the same
|
||||
target being held down.
|
||||
|
||||
* Nibble effect still doesn't like double buffering.
|
||||
|
||||
* The sound engine is mixing up PAN events!!!
|
||||
|
||||
* glSDL surface leak when taking screenshots!
|
||||
|
||||
* Do we *really* wait for all bases to stop exploding
|
||||
after the player lost a ship...?
|
||||
|
||||
* Noise fx glitches in some resolutions.
|
||||
|
||||
* If a ctrl+enter fullscreen/windowed switch is made
|
||||
while the menu is shown, the text goes away!
|
||||
|
||||
* Any playing game aborts after toggling windowed/
|
||||
fullscreen!
|
||||
|
||||
* VSync settings doesn't change as it should! Doesn't seem
|
||||
to be much I can do about this...
|
||||
|
||||
* Leaving the game running for a few hours results in
|
||||
"hickups" at around 2 Hz, until the graphics is reloaded
|
||||
or similar. (Logic re-init?)
|
||||
|
||||
* Downscaling (sub 320x240) breaks the radar and
|
||||
causes various other issues. (Pretty much expected...)
|
||||
|
||||
* SIGSTOP kills the main thread... SDL/AMD64 bug...?
|
||||
|
||||
* SIGSTOP/SIGCONT seems to confuse the game logic.
|
||||
(Already fixed...?)
|
||||
|
||||
* SDL_GetAppState()! (Fixed...?)
|
||||
|
||||
|
||||
Internals:
|
||||
|
||||
* Try to create a scoredir if missing!
|
||||
|
||||
* Add doc() method to the config manager, for longer
|
||||
explanations of the options.
|
||||
* Structured documentation for values...?
|
||||
|
||||
* Try reading back from the display buffer to autodetect
|
||||
how page flipping is handled! Mark pages with a few
|
||||
pixels in the corner (binary page numbers), and see
|
||||
if/when they come back.
|
||||
|
||||
* Pause mode should not consume CPU or GPU power,
|
||||
at least not if the window is passive.
|
||||
|
||||
* Multiple priority groups for sound effects!
|
||||
|
||||
* glSDL and EEL should output errors to the logger.
|
||||
|
||||
* Switch to PhysicsFS!?
|
||||
|
||||
* WAV writer? (Just for "cache sounds on disk.")
|
||||
|
||||
* Don't overwrite other windows when refreshing the
|
||||
in-game framework.
|
||||
|
||||
* Convert text files to Win32 format in the Win32
|
||||
install target!
|
||||
|
||||
* Add source info to "key" codes, to tell joystick
|
||||
input from keyboard and the like, when desired.
|
||||
|
||||
* Use custom keyboard repeat code. Should be used
|
||||
for joystick events as well.
|
||||
|
||||
* Show a system dialog of some sort, instead of
|
||||
printing to stderr. (Critical errors only.)
|
||||
|
||||
* Range checking on command line args and config.
|
||||
|
||||
* Remove either gamecontrol or gsm event pushing
|
||||
calls from skobo_gfxengine_t::frame(). Don't know
|
||||
which one, but it can't be right the way it is
|
||||
now...
|
||||
|
||||
* Rearrange the source tree so that all source is
|
||||
in an src subdir.
|
||||
|
||||
* Put README, COPYING etc in binary distros. (Done
|
||||
for Win32 "simple bundles".)
|
||||
|
||||
* Add CRC or simple "checksum" to score files, to
|
||||
prevent too easy modification. You must at least
|
||||
download the game source and hack it if you
|
||||
*really* want to cheat! ;-)
|
||||
|
||||
|
||||
Features:
|
||||
|
||||
* Proper start-of-map savegames!
|
||||
|
||||
* Instructions! (In the radar window...?)
|
||||
|
||||
* Input configurator!!!
|
||||
|
||||
* Game statistics!
|
||||
* Shots fired
|
||||
* Hits
|
||||
* Accuracy
|
||||
* Kills
|
||||
* Deaths
|
||||
* Damage
|
||||
|
||||
* Adrenaline Mode:
|
||||
* Health/damage accounting
|
||||
* Powerups
|
||||
* Indestructible labyrinths
|
||||
* N bases or objects to destroy
|
||||
* Loads of aggressive enemies
|
||||
* "Forced speedrun" style gameplay
|
||||
|
||||
* Throw in some *real* music. (The demo songs don't
|
||||
really have anything to do with Kobo Deluxe. I
|
||||
was basically just testing things when developing
|
||||
the audio engine.)
|
||||
|
||||
* Implement "world snapshot" feature, to use for
|
||||
save game option, as well as internal temporary
|
||||
save game for changing video options in the
|
||||
middle of the game and the like. Needs to save
|
||||
score, lives etc, the current map, all objects,
|
||||
random number seed etc.
|
||||
|
||||
* Implement multiplayer modes. (Deathmatch and
|
||||
Cooperative, for starters.)
|
||||
|
||||
* Separate personal and global highscores. Where
|
||||
applicable, one could keep score for player/user,
|
||||
system local, local network and the internet,
|
||||
and/or maybe some kind user defined groups.
|
||||
|
||||
* New "Instructions" solution. (New state...?)
|
||||
|
||||
* "Sloppy Refresh" hack to improve frame rate for
|
||||
sprites and base tiles, while reducing it for
|
||||
the starry background tiles.
|
||||
|
||||
* On targets with sync'ed flips, accept "close
|
||||
enough" refresh rates as time base, so that the
|
||||
video frame rate becomes an integer multiple of
|
||||
the engine frame rate. (Smoother scrolling.)
|
||||
|
||||
Gameplay:
|
||||
|
||||
* Elite and God modes should make enemies smarter
|
||||
(aim-ahead, at least). We want "tough" - not
|
||||
"stupid fast"!
|
||||
|
||||
Radar:
|
||||
* Radar markings for death + respawn points when
|
||||
getting killed?
|
||||
|
||||
* Show map borders in radar, for orientation?
|
||||
|
||||
Base layout:
|
||||
* Prevent the map generator from building
|
||||
impossible bases! Possibly build a list of
|
||||
tested and approved random seeds for each
|
||||
level...
|
||||
* Don't make bases where you have to navigate
|
||||
into the base on the first few levels.
|
||||
* Simulation based base verification method:
|
||||
1. Destroy all destructible nodes.
|
||||
2. Figure out how many turns one would
|
||||
have to navigate into the base in
|
||||
order to get a shot at the core.
|
||||
* Provide a fixed set of maps for fair highscore,
|
||||
speedruns and the like! As it is, every game
|
||||
is truly unique, so scores cannot really be
|
||||
compared. (Well, that *could* be considered
|
||||
part of the game, of course...)
|
||||
|
||||
* Import some extra maps from xkobo-1.11+w01?
|
||||
|
||||
* Bonus levels...?
|
||||
|
||||
* "Smooth chase" scroll in non Classic modes? Maybe
|
||||
even filtered player movement?
|
||||
|
||||
* Fire to push rocks around?
|
||||
|
||||
* "Milking" cores that fire enemies is a potential
|
||||
way of cheating for a higher score. Throw in an
|
||||
enemy_m* after some time as assassin to prevent
|
||||
this? (How to detect whether the player is doing
|
||||
something "sensible" or not...?)
|
||||
|
||||
Trick suggested a nice and simple solution: Just
|
||||
lower the "price tag" on enemies spawned from
|
||||
nodes over time. No effect on gameplay, but if
|
||||
you fly around shooting defenseless enemies for
|
||||
too long, they'll eventually stop counting
|
||||
towards your score. The only remaining problem
|
||||
is figuring out when to start decreasing enemy
|
||||
scores, and how fast.
|
||||
|
||||
|
||||
Features:
|
||||
|
||||
* Instant restart button? (Shouldn't really be needed
|
||||
if the "impossible base" bugs are fixed...)
|
||||
|
||||
* Should be able to skip the death explosion sequence,
|
||||
if there are more ships! Maybe an option to remove
|
||||
it (and other effects) altogether?
|
||||
|
||||
* Separate highscores for different skills.
|
||||
|
||||
* Help texts (in the radar window?) for config options!
|
||||
|
||||
* Add native OpenGL support with sub-pixel accurate
|
||||
rendering for ultra smooth animation.
|
||||
|
||||
* Nice health bar flash effects.
|
||||
|
||||
* Fine rotation adjustment when using OpenGL. (Needs
|
||||
a generic high resolution rotation field.)
|
||||
|
||||
* Screen pixel accurate map scrolling.
|
||||
|
||||
* "Stage cleared" screens with stats and stuff!
|
||||
|
||||
* Demo recording and playback! (Nice feature and
|
||||
debugging tool.)
|
||||
|
||||
* Implement waveshaper AGW command!
|
||||
|
||||
* New master output processor:
|
||||
* Three bands with separate "boost" controls.
|
||||
|
||||
* Non-linear audio output for high boost!
|
||||
|
||||
* New limiter that programs a waveshaper based
|
||||
on input level?
|
||||
|
||||
* Interesting soundscape while loading?
|
||||
|
||||
* "Center Playfield" (as opposed to "center framework")
|
||||
video option
|
||||
|
||||
* Default/Changed status indicators in the options.
|
||||
|
||||
|
||||
Web site and other stuff:
|
||||
|
||||
* Find binary packages and maintainers!
|
||||
|
||||
* Links to unrelated games sites.
|
||||
|
||||
* Write a design paper!
|
||||
Reference in New Issue
Block a user