If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Hover! (1995)

From The Cutting Room Floor
Jump to navigation Jump to search
This page is a translated version of the page Hover! (1995) and the translation is 43% complete.
Other languages:
Deutsch • ‎English • ‎polski • ‎svenska • ‎한국어

Title Screen

Hover!

Developer: Microsoft
Publisher: Microsoft
Platform: Windows
Released internationally: August 24, 1995


CopyrightIcon.png This game has hidden developer credits.
GraphicsIcon.png This game has unused graphics.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.


Hover! är ett spel som är lite likt ett tech demo, med ganska enkelt gameplay, men som visar vad datorer kunde göra på den tiden. Den kom med Windows 95s CD-ROM, men man kan nuförtiden ladda ner det från Microsofts FTP-server.

Oanvänd dialog

HoverAbout.png

Denna Om-dialog är från en äldre version av spelet. Det kompletta använder Windows vanliga Windows Om-dialog.

Utvecklarmedverkande

HoverDevelopers.png

Introbanan som visas precis efter att spelet startas innehåller mer än det ögat först ser. För att förflytta dig, håll inne Ctrl och skriv in koden IBMAB (projektets kodnamn "Bambi", stavat baklänges). Kontrollerna kommer att låsas upp, och du kan förflytta dig runt väggen bakom för att se bilderna på spelets utvecklare.

HoverDeveloperPhotos.png

Varenda utvecklares foto kan ha en utav fyra bildgränser, men det verkar inte finnas något särskilt med det, bara några stilval. Kända utvecklare är:

  • Stan LePard (ljud): Detta var hans första spel som han komponerade soundtrack för, och efteråt bidrog han till många andra Microsoft-spel.

Oanvänd grafik

Spelets texturfiler innehåller två placeholderbilder som inte används.

Textur Används... Anteckningar
HoverUnusedTexture.png
  • TEXT1.TEX: 1 förekomst som "FBASE_02_T" (golv)
  • TEXT2.TEX: 2 förekomster som "FBASE_02_T" (golv) och "CBASE_01_T" (tak)
  • TEXT3.TEX: 1 förekomst som "FBASE_02_T" (golv)
HoverUnusedDecal.png
  • TEXT2.TEX: 2 förekomster som "DECAL_00_D" och "DECAL_01_D".
Visar möjligheten för en transperansmask eftersom det är helt enkelt den tidigare benämda golv/takplaceholdertexturen med hål tillagda på det.

Debuggmaterial

Debuggmenyns tabbar

Fastän en tidig prototyp av spelet hade många fler debuggmeny-tabbar påslagna, finns bara två som fungerar i den kompletta versionen:

ID Description
-32717
or
59393
Show statusbar (does not work in fullscreen mode).

Hover Statusbar.png
The statusbar shows the following information, from left to right:

  • The X coordinate of the human car.
  • The Y coordinate of the human car.
  • The height of the human car.
  • The current frames per second and probably the desired FPS.
  • The width of the game resolution, in pixels.
  • WALL if the human car currently collides with a wall.
  • POD if the human car currently collides with a power up bubble or an opponent teams flag.
  • FLOOR if the human car currently collides with raised or lowered steps, or a floor pad.
  • CAR if the human car currently collides with other cars.
-32715
Hover WavMix32.png

Opens the debug control dialog of the integrated WavMix32 sound mixer.

Game logic controlling registry keys

It is possible to control human and opponent car physics, as well as the opponent AI settings. Even though the user interfaces to edit these settings comfortably have been removed at a very early prototype stage, the functionality still remains: At startup, the game checks for the existence of specific registry keys to override default game behavior. The registry keys are all read from HKEY_CURRENT_USER\SOFTWARE\Microsoft\Hover! and stored in binary format, representing 11 integers or floats to control specific game logic.

It should be noted that the floating point values are stored in fixed-point packed integer format: They are read like an integer, but then divided by 65536.0 to retrieve the "real" floating value.

The values default to the following settings:

Car motion physics

Key Name Default Value Description
HBegParams
00 00 01 00  34 F3 FF FF  00 00 32 00  00 00 00 00
00 80 00 00  33 33 00 00  33 33 00 00  F5 A8 00 00
7A 54 01 00  99 19 00 00  00 00 05 00
Controls car physics in Easy mode.
HIntParams
00 00 03 00  71 FD FF FF  00 00 41 00  00 00 00 00
00 80 00 00  CC 4C 00 00  CC 4C 00 00  00 80 00 00
7A 54 01 00  66 06 00 00  00 00 07 00
Controls car physics in Intermediate mode.
HExpParams
00 00 05 00  BF FF FF FF  00 00 4B 00  00 00 00 00
00 80 00 00  00 80 00 00  66 66 00 00  66 66 00 00
7A 54 01 00  8F 02 00 00  00 00 0F 00
Controls car physics in Difficult mode.
RBegParams
00 00 01 00  71 FD FF FF  00 00 28 00  00 00 14 00
CC CC 00 00  CC CC 00 00  CC 4C 00 00  F5 A8 00 00
7A 54 01 00  66 06 00 00  00 00 05 00
Controls car physics of the opponents in Easy mode.
RIntParams
00 00 01 00  71 FD FF FF  00 00 32 00  00 00 14 00
CC CC 00 00  CC CC 00 00  CC 4C 00 00  F5 A8 00 00
7A 54 01 00  66 06 00 00  00 00 05 00
Controls car physics of the opponents in Intermediate mode.
RExpParams
00 00 01 00  71 FD FF FF  00 00 3C 00  00 00 14 00
CC CC 00 00  CC CC 00 00  CC 4C 00 00  F5 A8 00 00
7A 54 01 00  66 06 00 00  00 00 05 00
Controls car physics of the opponents in Difficult mode.

The 11 floats map to the following meanings:

  • Normal Acceleration - the amount of acceleration until reaching maximum velocity.
  • Friction Constant - the amount of sliding when acceleration pauses.
  • Max. Velocity - the maximum speed a car can reach.
  • Acquire Velocity - the speed an opponent car has when running towards a flag or a human. Unused for the human car.
  • Rotation Stability - the amount of spinning after hitting something.
  • Rotation Kick - the amount of immediate rotation after hitting something.
  • Rotation Accel - the speed of rotational skidding when turning manually.
  • Slow Multiplier - the multiplication factor a car gets slower when under the influence of a red light. This has no effect on opponent cars as they can't collect pods. Interestingly, it is well set up for them though - this might hint that it was once planned that opponent cars could at least collect pods (but maybe not use power-ups).
  • Speed Multiplier - the multiplication factor a car gets faster when under the influence of a green light. This is also the speed of the skid pads and sets the maximum speed displayed in the speedometer.
  • Turn Lag Factor - the amount of skidding introduced when turning (e.g., the "hovering" effect amount).
  • Turn Rate - the speed of rotation when turning manually.

AI tuning parameters

Key Name Default Value Description
RobotAIBegParams
00 80 01 00  3C 00 00 00  66 66 00 00  1E 00 00 00 
0F 00 00 00  88 13 00 00  88 13 00 00  88 13 00 00 
64 00 00 00  03 00 00 00  00 80 01 00
Flags to control opponent behavior, in Easy mode.
RobotAIIntParams
00 80 01 00  3C 00 00 00  66 66 00 00  1E 00 00 00 
0F 00 00 00  58 1B 00 00  88 13 00 00  88 13 00 00 
64 00 00 00  04 00 00 00  00 00 01 00
Flags to control opponent behavior, in Intermediate mode.

Due to a bug in the final games code, the first 4 bytes are always overriden with the last 4 bytes of the RobotAIExpParams - but since these are always of the same value, this should not be a problem in normal circumstances.

RobotAIExpParams
00 80 01 00  3C 00 00 00  66 66 00 00  1E 00 00 00 
0F 00 00 00  10 27 00 00  88 13 00 00  88 13 00 00 
64 00 00 00  04 00 00 00  00 80 01 00
Flags to control opponent behavior, in Difficult mode.

The 11 values map to the following meanings:

  • Backup Turn Rate (float) - the chance of turning in backwards driving a drone will take when being hit and confused.
  • Backup Game Cycles (integer) - the length of backwards driving a drone will take when being hit and confused.
  • Backup Speed Factor (float) - the speed of backwards driving a drone will take when being hit and confused, relative to the normal driving speed.
  • Max. Target Angle Adjust (integer) - the maximum angle a drone will turn to start targeting (unsure)
  • Max Angle for Acceleration (integer) - the angle a target has to be in before the drone accelerates towards it.
  • Max Dist to Acquire Human (integer) - the maximum distance before a green drone sees the human car and targets it.
  • Max Dist to Acquire Flag (integer) - the maximum distance before a blue drone sees a red flag and targets it.
  • Max Beacon Distance (integer) - the maximum distance to a waypoint before a drone queries it as the next target.
  • Max Beacon Height Difference (integer) - the height at which a drone can see a waypoint and will query it as the next target.
  • Beacon Search Depth (integer) - probably represents the number of beacons to validate before taking their route, making sure no other drone is using them now.
  • Unknown float - always represents the first setting, and not configurable in the beta, and overwritten partly (s. above registry key note). Without any effect.

A distance of 500 is approximately the length of a car.

Script to import default settings

The following registry script can be used to set up the default values in the registry:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Hover!]
"HBegParams"=hex:00,00,01,00,34,F3,FF,FF,00,00,32,00,00,00,00,00,\
  00,80,00,00,33,33,00,00,33,33,00,00,F5,A8,00,00,\
  7A,54,01,00,99,19,00,00,00,00,05,00
"HIntParams"=hex:00,00,03,00,71,FD,FF,FF,00,00,41,00,00,00,00,00,\
  00,80,00,00,CC,4C,00,00,CC,4C,00,00,00,80,00,00,\
  7A,54,01,00,66,06,00,00,00,00,07,00
"HExpParams"=hex:00,00,05,00,BF,FF,FF,FF,00,00,4B,00,00,00,00,00,\
  00,80,00,00,00,80,00,00,66,66,00,00,66,66,00,00,\
  7A,54,01,00,8F,02,00,00,00,00,0F,00
"RBegParams"=hex:00,00,01,00,71,FD,FF,FF,00,00,28,00,00,00,14,00,\
  CC,CC,00,00,CC,CC,00,00,CC,4C,00,00,F5,A8,00,00,\
  7A,54,01,00,66,06,00,00,00,00,05,00
"RIntParams"=hex:00,00,01,00,71,FD,FF,FF,00,00,32,00,00,00,14,00,\
  CC,CC,00,00,CC,CC,00,00,CC,4C,00,00,F5,A8,00,00,\
  7A,54,01,00,66,06,00,00,00,00,05,00
"RExpParams"=hex:00,00,01,00,71,FD,FF,FF,00,00,3C,00,00,00,14,00,\
  CC,CC,00,00,CC,CC,00,00,CC,4C,00,00,F5,A8,00,00,\
  7A,54,01,00,66,06,00,00,00,00,05,00
"RobotAIBegParams"=hex:00,80,01,00,3C,00,00,00,66,66,00,00,1E,00,00,00,\
  0F,00,00,00,88,13,00,00,88,13,00,00,88,13,00,00,\
  64,00,00,00,03,00,00,00,00,80,01,00
"RobotAIIntParams"=hex:00,80,01,00,3C,00,00,00,66,66,00,00,1E,00,00,00,\
  0F,00,00,00,58,1B,00,00,88,13,00,00,88,13,00,00,\
  64,00,00,00,04,00,00,00,00,00,01,00
"RobotAIExpParams"=hex:00,80,01,00,3C,00,00,00,66,66,00,00,1E,00,00,00,\
  0F,00,00,00,10,27,00,00,88,13,00,00,88,13,00,00,\
  64,00,00,00,04,00,00,00,00,80,01,00

Editing Tool

The HoverHack tool imitates the beta dialogues and allows a more comfortable way of editing the parameters.