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

Proto:Prey (2006)/1995 Prototype

From The Cutting Room Floor
Jump to navigation Jump to search

Hiddenpalace.org logo.png  This prototype is documented on Hidden Palace.

This is a sub-page of Proto:Prey (2006).

Loading into the prototype will have you appear at a black screen. The console and certain keys can be used here.

On December 25th, 2022, Hogsy of gaming preservation site TalonBrave.info would release a prototype of Prey from 1995. The build is dated November 9th, 1995. It was made during Tom Hall's lead on the project and was a pitch demo shown to GT Interactive, the publisher of Prey until 1999.[1]

This version of the game would continue to be worked on until August 1996, when much of the team, notably Hall would leave 3D Realms. Paul Schuytema would then be brought in were by November that year, everything would be scrapped in favor of a new vision and engine.

The build is more of a tech demo then a game, with the only thing to do is just wandering around. Outside of the sci-fi setting and name, nothing from this version of the game would appear in later builds or versions. To extract content from the prototype, it is recommended to use glPrey.

Hmmm...
To do:
Nearly done, just a few outlying things left:
  • Improve formatting in the "Features" section (make sure that everything isn't a bullet point).
  • Elaborate more on the map and add some model renders of the entire map.
  • Notes about the WAD that might be helpful
  • Would crash messages like SafeFree : Tried to free a freed pointer and SPAN: Depleted Span Cache be worth documenting?
Elementary, my dear Cactus.
This needs some investigation.
Discuss ideas and findings on the talk page.
Specifically:
  • What's the specs of the build? (version of DOS, hardware requirements)
  • How capable (if at all) is the engine of real-time 3D?
  • The game generates .LBMs (likely screenshots) but I have no idea how this is done.
  • Apparently there's a lot of debug symbols left over, including a layout of the Prey engine source tree from the time of the build's creation.
  • The game seems to use some code from Doom for reading the WAD, all of the function names and variables for handling WADs are identical.

Features

General

  • Text saying " goddamnit!" (sic) can appear in game when loading into a map with the console open or when the game crashes. The message will rapidly appear and disappear, causing the screen to glitch out.

Prey06-1995Prototype-GoddamnitMessage.png

  • The game is dead silent and has no sounds.
  • The game possesses no HUD, weapons, enemies or portals.
    • Portals seemingly were never considered for this iteration of the game.
  • The game will check for a mouse open loading into the map.

Prey06-1995Prototype-MouseDetected.png

  • The build is generally quite unstable and will crash often, especially with its default settings. Disabling some variables in console, like mipmapping, can improve performance.

Platform

This build runs on DOS, whereas the final game was released for Windows, Xbox 360, Mac OS X, and Linux.

Engine

The game runs on a proprietary game engine from 3D Realms called Prey Engine, (the developers also gave the engine various inside joke names such as "Tears" which according to them is "what our competitors will be shedding when they see how cool it is")[2] primarily developed by the late William Scarboro. No commercial product ever made use of this engine.

The engine itself appears to be real-time 3D, processing basic collision and physics.

Paul Schuytema's 1996-1998 "Talon Brave" iteration of the game also used an engine called "Prey Engine" but it was separate from this one.

The final game runs on a modified version of id Tech 4.

WAD

The game uses a .WAD file to store its data, not so dissimilar to games like Doom, Quake and Rise of the Triad. The file is called MACT.WAD.

Controls

  • Movement is handled with arrow keys: up and down will move you forward and back, left and right will turn the camera. Mouse 2 and 3 also move forward and backward as well.
  • A will move you up, Z will move you down.
  • X will strafe left, C will strafe right.
  • W will cycle between three different rendering options: wireframe, flat shading and full rendering. By default, the build starts with wireframe rendering.
Wireframe Flat Shading Full Rendering
Prey06-1995Prototype-WireframeRendering.png Prey06-1995Prototype-FlatShadingRendering.png Prey06-1995Prototype-FullRendering.png
  • L will enable or disable an "auto leveling" mode, where the camera will automatically snap itself into a neutral position after you move it in a direction.

Prey06-1995Prototype-AutoLeveling.gif

  • G will turn on or off gravity.
  • F will bring up some numbers displaying a measurement of time, but the purpose of them is unclear. The numbers appear to be randomly chosen from a pre-set list. Pressing F at the boot screen will show the player having "inf" time.
  • Space will perform a jump, but it only moves very slightly up in the build. pressing repeatably or holding space will make you move up regardless of if gravity is turned off or on.

Console

TAB will open the console; the console in the final game is opened with Crtl+Alt+~.

Prototype Final
Prey06-1995Prototype-Console.png Prey06-Console.png
  • help - List all the available commands.
  • record - Records a demo.
  • save - Stops recording of a demo.
  • play - Plays a demo.
  • load - Load into a map.
  • print - Stats a specified variable in the console.
  • set - Enable/disable a variable.

Variables that can be altered with "print" and "set" include:

  • mipmap - Enables/disables mipmapping. Enabled by default.
  • shading - Enables/disables shading. Enabled by default.
  • blockshading - Enables/disables "block shading". Enabled by default.
  • span - Enables/disables textures. Enabled by default.
  • volumerender - Enables/disables some sort of coordinate marker. Disabled by default. Disabling it again will cause a pink line to appear on the bottom of the screen.
  • cellvis - Enables/disables complete rendering of the map. Enabled by default
  • "precision", "videosize" and "videotype" can also be modified with the command but it is not known what they do precisely.
Mipmapping True (Full Rendering) Mipmapping False (Full Rendering) Mipmapping True (Wireframe) Mipmapping False (Wireframe)
Prey06-1995Prototype-FullRendering.png Prey06-1995Prototype-MipmapFalseTextures.png Prey06-1995Prototype-WireframeRendering.png Prey06-1995Prototype-MipmapFalseWireframe.png
Cellvis True Cellvis False
Prey06-1995Prototype-CellvisTrue.png Prey06-1995Prototype-CellvisFalse.png

Demos

Hmmm...
To do:
Add a video of the demos.

The prototype has a few demo files (with .DMO as an extension) named MARK, MARK2 and TEST. The demos themselves are very fast and only feature wondering around the map.

The demos named "Mark" presumably refer to Mark Dochtermann, a former developer of Prey.

Crashing

When the prototype crashes, often the screen will become filled with garbage and the DOS command line will be made available. Otherwise, it will just crash to a black DOS screen with a message stating the cause of the crash.

Map

There is only a single map present, known as DEMO4.BSP. To load into the map, open the console at the bootup menu and type "load demo4" or start the build with "prey demo4" at DOS.

It is rather easy to get stuck in the collision of the map and you will have to turn gravity off to get out.

Starting Area

Prey06-1995Prototype-FullRendering.png

The area that the player starts at when the map loads in. It features a structure in the middle of the room and two hallways that lead to other areas of the map. The hallway to the player's right leads a hallway to a room with light. To the back of the room is a ramp that leads to various rooms.

Room with Light

Prey06-1995Prototype-RoomWithLight.png

The room with light features a large talon-like structure, various stalagmites and light. The room is a dead end.

Room with Bridge

Prey06-1995Prototype-RoomWithBridge.png

A room with a bridge. The ceiling features a large cross. A window can be seen to the side of the room.

Room with Square Holes

Prey06-1995Prototype-RoomWithSquareHoles.png

A room with four square holes on the floor. The two protruding spikes on the right wall lack collision. The left wall has two pillars in each corner with lights.

The walls of the hallway after this room don't have any collision.

Large Room

Prey06-1995Prototype-LargeRoom.png

A large room at the end of the downward rooms, it features a large cross above, a large purple pillar, some lights and a sign with the letters "GTIS", referring to GT Interactive Software. The spikes protruding out the walls also lack collision.

As seen in some prerelease screenshots, this room once had some details that are absent from the build.

  • The sign said "PREY" instead of "GTIS".
  • A large gray room can be seen to the distance, with a doorway leading to it.
Hmmm...
To do:
Any possible remnants of these?
Prerelease Screenshot Prototype
Prey06-November1995-Screenshot0012.gif Prey06-1995Prototype-LargeRoomCrossPillar.png
Prerelease Screenshot Prototype
Prey06-November1995-Screenshot0016.gif Prey06-1995Prototype-LargeRoom.png
Prerelease Screenshot Prototype
Prey06-November1995-Screenshot0012.gif Prey06-1995Prototype-GTIS.png

Textures

The build has various textures found in the WAD. None of the textures present made their way into the final game. Hogsy had released some textures in 2020 prior to releasing the prototype.

Hmmm...
To do:
Note which textures are unused.

There are also a variety of textures from Rise of the Triad.

The colormap used by the prototype.
Prey06-1995Prototype-COLORMAP.png

Text

Unused text found in the executable.

Hmmm...
To do:
Hexadecimal addresses.
iew.bsp
venguv.dat
?m.bin
Atemact.wad
dlprey.exe
mar.dmo
aiERROR.TXT

Various files that don't exist in the prototype.

?cam.dmp
camera saved
ttcamera loaded at %f %f %f

Some kind of camera function?

D:\SOURCE\PREY\engine.c
D:\SOURCE\PREY\clip.c
D:\SOURCE\PREY\input.c
D:\SOURCE\PREY\loader.c
D:\SOURCE\PREY\surface.c
D:\SOURCE\PREY\texture.c
D:\SOURCE\PREY\preymain.c
D:\SOURCE\PREY\span.c
D:\SOURCE\PREY\vector3.c
D:\SOURCE\PREY\cli.c
D:\SOURCE\PREY\cli_util.c
D:\SOURCE\PREY\actor.c
raster.asm
P:\LIBMACT\clrmap.c
fopen
fclose
set386
P:\LIBMACT\util_lib.c
P:\LIBMACT\vidmsdos.c
precise.asm
P:\LIBMACT\wad.c
P:\LIBMACT\crc.c
P:\LIBMACT\task_man.c

Strings of the source tree of the engine at the time of the build's creation.

(Source: Emotion Engine (TCRF Discord))

References