|
||||||||||||||||||||||||||||||||||||
QuakeIntroductionYes, Rockbox finally has a port of id Software's famous 3-D shooter, Quake! It is based on Andy Hefner's fork of SDLQuake and runs on the SDL plugin runtime.Getting StartedTo play Quake you need the game data files in /.rockbox/quake (either registered or shareware will do). There should be a directory calledid1 with at least one pak file.
Automatic InstallationThe latest RockboxUtility (1.4.1 and later) will automatically install the shareware distribution if you enable "Game Files".ConfigurationSome sets of data files will have aconfig.cfg which has a nonzero brightness setting. This will cause color distortions. To fix this, do Options > Reset to Defaults.
Sound EffectsSound should work out of the box. If not, check that the volume is high enough.MusicIn-game music is not currently supported, but there is an experimental patch in gerrit which enables it (using only uncompressed WAV files).PerformanceThis port pushes the limits of the devices we support. Frame rates, even on the most powerful devices, will be very low (in the single digits, usually). A good way to measure performance is with thetimedemo command in the console (Options > Go to Console). For example, running timedemo demo1 will run demo1 and calculate the average frame rate. The results of previous benchmarks are shown in the table below.
OptimizationMuch of the engine still uses floating-point throughout, which greatly hurts performance on devices without a floating-point unit (FPU). This includes most ARM families (i.e. less than ARMv6). Thus, an obvious way to boost performance is by rewriting floating-point code as fixed-point. Thankfully, we are not to first to have this problem. The Pocket Quake project (source) has already rewritten substantial portions of the source as fixed-point, and it is a fairly straightforward (but time-consuming) process to merge their changes. Merging just a few of their optimizations to just a few critical sections has yielded a ~42% performance increase on ipod6g. However, there is still a lot of low-hanging fruit I haven't had the time to merge yet. A quick way to help out is to merge some of these fruits into our tree. You could probably double performance with the right set of patches!Low-Hanging FruitThe code ind_scan.c accounts for a significant fraction of CPU time. Make it fast!
CategoryPlugin: id software's Quake []
r8 - 02 Apr 2021 - 20:46:07 - UnknownUser
Copyright © by the contributing authors.
|