0.79 notes ------------------- - There are some weird problems with sprites on Voodoo1 cards... - GL port has been developed on nVidia Riva 128 AGP board (Diamond Viper V330) using beta OGL drivers and tested on 3dfx Voodoo 1 with Mesa OpenGL drivers. I have no idea if the program will run on other cards. - Windows version does not support multiplayer. - Do not stand in the way of closing doors! You'll get pushed thru a wall! - DOS version is gone... IMPORTANT! ------------------- 1. No levels are included with the demo. You need to specify full path for the Quake2 pak file (do not forget the backslash at the end). The default is: poly -pak f:\quake2\baseq2\ =========================================== POLY ENGINE version 0.79 Written by Alexey Goloshubin =========================================== This is a demo of a full 3D Quake2-style game engine. I use levels and models from Quake 2. There are no plans for a future geometry editor - there are lots of very good tools you can use to build a level (Quake2's .BSP file). However, I plan to write couple of utilities and tools for the engine. First of all, Quake2 bsp to Poly converter. Then a walk-through type of editor where you can actually go into a level and place game objects (items, monsters etc). Currently there are two renderers available: software only and OpenGL. OGL renderer does not work with beta 3dfx ogl drivers, so MesaGL has been used instead. There is still room for optimization... For information about availability of the engine please contact Warthog Ltd: martin@warthog.co.uk If you have some comments, suggestions or just want to talk about 3d graphics you can reach me at: alexey@ii.uib.no ENGINE FEATURES ======================================= + Imports data from Quake 2 + Full object support + Collision-detection + Physics system + Movable bsp models + Client-server networking + Sound system (QSound) + BSP/ZBuffer rendering + Polygonal objects + Sprites + Particles + Software renderer + supports any resolution + span buffer (similar to ZSORT stuff by M. Abrash in DDJ) + perspective tex-mapping (16-pix subdivision) + mip-mapping + surface caching (light maps) + dynamic lights + Hardware renderer + OpenGL support + mip-mapping + colored lightmaps + colored dynamic lights THE GAME ======================================= The demo is sort of a game. You can shoot, get shot, kill and die. In Multiplayer mode you can run around (if the speed of engine will allow you ;) and shoot at other players. A player must get shot couple of times to. If you are dead press Fire (LMB, CTRL) to appear again. The best setup is to have a dedicated server. A fast 486 will do just fine. GRAPHICS ======================================= As of version 0.79 the graphics subsystem is in a separate .DLL There is a different .DLL for each type of renderer: rogl.dll - OpenGL renderer rsoft.dll - Software only To start an engine with a given renderer use -video For example default is: -video rogl Full-screen resolutions can be specified with -gfx xxx yyy parameter. Windowed mode is specified with -win xxx yyy. Where xxx is screen/window width and yyy is the height. By default Poly will use the GL system installed on your computer. If you have Voodoo1 card you can use Mesa .dll's provided in 3DFX directory. Just copy the .dll files into the demo directory. SOUND ======================================= To disable sound support: POLY -NOSOUND The demo uses QSound 3D sound library provided to me by Warthog. NETWORKING ======================================= Note: There is no net support under Windows! The engine has a simple client/server networking. This version supports IPX and up to 4 com ports. To specify what network devices you are going to use, edit NET.INI. I do not recommend using too many com ports at once. By default the computer starts up as a server (both server and client on the same machine). You can connect to (disconnect from) a server at any time. I limited number of players to 16. The program will probably die with less players. To start a computer as a client: POLY -CLIENT It will start searching for available servers on the network (and com ports). When you see at least one 'o' on screen, you can press a key to stop the search as the client has found at least one server. Then you'll see a list of available servers on the net. Type in the number of the one you are going to connect to. If a client has more than one device connected to a server (say ipx and com2), the server will be listed more than once (with different devices). You can choose which one you want to use. The new player will be added at the start location on the level To start computer as a dedicated server: POLY -DEDICATED The computer stays in text mode. COMMAND LINE ======================================= Some of the command line options have been disabled in version 0.70+ POLY [options] [file.BSP] where file.BSP - BSP file to load (BASE1.BSP is default) -pak pakdir - Full path to Quake 2 pak directory ('\' at the end!) -nosound - Disable sound support -win xxx yyy - (win-ogl) Run in a window -gfx xxx yyy - (dos) Enable VESA 2.0 support and choose video mode. 'xxx' is width, 'yyy' is height. (win) Run fullscreeen with given resolution -client - (dos) The machine is a client (connects to a server) -dedicated - (dos) Dedicated server. No rendering You have to specify the extensions for filenames! CONTROLS ======================================= I've implemented setups for both 'mouser's and keyboard players. Note that if you specify -KBD switch on command line the controls will be different. ESC - the usual ;) ENTER - switch to external camera TAB - go to another level Mouse Move - turn, look up/down LMB - shoot RMB - jump S, F - slide left/right E, D - forward/backward Up/Down - forward/backward Left/Right - turn left/right ALT + Left/Right - slide left/right CTRL - shoot SPACE - jump C - rendering info O - measure rendering speed A - toggle rain (looks cool in dark places) L - switch between lightmaps, textures, tectures+lightmaps 03 August 1998, Alexey Goloshubin