This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
guide:2.0:readme_windows [2017-03-24 08:37] – removed skyjake | guide:2.0:readme_windows [2017-03-24 10:57] (current) – Generated from Amethyst source by wikidocs.py wikidocs | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Doomsday Engine ====== | ||
+ | |||
+ | ===== Introduction ===== | ||
+ | |||
+ | The Doomsday Engine is a " | ||
+ | |||
+ | Doomsday and the associated ports of Doom, Heretic and Hexen have been in development since 1999; the first versions were released in late 1999 and early 2000. Several people have been involved in the project (see < | ||
+ | |||
+ | ==== Features ==== | ||
+ | |||
+ | User interface: | ||
+ | * [[Home screen]] for choosing which [[game]] to play and which add-ons to use, browsing multiplayer games, and loading saved games | ||
+ | * [[Task bar]] overlay for easy access to engine features | ||
+ | * Configuration menus and [[Renderer Appearance sidebar]] editor | ||
+ | * On-the-fly [[add-on]] resource loading | ||
+ | * Flexible input control [[bindings]] system | ||
+ | * Built-in [[updater]] for easy upgrades | ||
+ | * In-game [[command console]] | ||
+ | |||
+ | Graphics: | ||
+ | * OpenGL 2.1 renderer | ||
+ | * World [[movement smoothing]] (actors, monsters, missiles, surfaces) to remove the original games' limitation of 35 FPS | ||
+ | * Stereoscopic rendering modes: anaglyph, side-by-side, | ||
+ | * [[Bloom]], [[vignette]], | ||
+ | * [[Dynamic lights]] with [[halos]] and [[lens flares]] | ||
+ | * Dynamic [[ambient occlusion]] (corner shadowing) for world surfaces | ||
+ | * Dynamic shadowing effects for world objects | ||
+ | * [[Particle effects]] system | ||
+ | * 3D models for world objects (with per-vertex lighting and multiple light sources), [[skies]], [[skyboxes]], | ||
+ | * Environmental mapping effects for 3D models and world surfaces | ||
+ | * Automatic world surface (light) [[decorations]] | ||
+ | * [[Detail texturing]], | ||
+ | * [[Smart texture filtering]] using a modified hq2x algorithm | ||
+ | |||
+ | Resources: | ||
+ | * [[3D models]]: FBX and MD5 with skeletal animation and OpenGL shaders, [[MD2]] / [[DMD]] with LOD support | ||
+ | * [[High-resolution textures]]: [[PNG]], [[JPG]], [[TGA]], [[PCX]] | ||
+ | * Flexible containers: [[packages]], | ||
+ | * External [[music files]] in MP3 and other formats | ||
+ | * Plain text [[definitions]] for things like map objects, finale animations, and episode structure | ||
+ | * Internal BSP builder (originally based on [[glBSP]]) | ||
+ | |||
+ | Audio: | ||
+ | * 3D positional sound effects | ||
+ | * Environmental [[echo and reverb]] effects | ||
+ | * External [[music files]] in MP3 and other formats | ||
+ | * Uses [[http:// | ||
+ | * Supports the open source [[http:// | ||
+ | * DirectSound3D, | ||
+ | |||
+ | Multiplayer: | ||
+ | * Supports up to [[15 player games]] | ||
+ | * Clients can join games in progress | ||
+ | * Automatic discovery of servers running on the local network | ||
+ | * Central [[master server]] for discovery of servers on the internet | ||
+ | * Standalone [[server]] running as a daemon/ | ||
+ | * Standalone [[Shell|Doomsday Shell]] tool for server management (both local and remote) | ||
+ | |||
+ | Other: | ||
+ | * [[Supported_platforms|Cross-platform]], | ||
+ | * Open source (see [[Getting_started|Getting Started page]]) | ||
+ | * [[Plugin]] based [[extensible architecture]] | ||
+ | |||
+ | ==== Requirements ==== | ||
+ | |||
+ | * At least one WAD file from the original Doom, Heretic, Hexen, or other supported game | ||
+ | * Minimum OS version: Windows Vista | ||
+ | * DirectX 8 (or newer) | ||
+ | * GPU with OpenGL 2.1 hardware acceleration | ||
+ | |||
+ | ===== Games ===== | ||
+ | |||
+ | ==== Loading IWADs ==== | ||
+ | |||
+ | Doomsday requires [[http:// | ||
+ | |||
+ | * The first time you launch Doomsday and it doesn' | ||
+ | * If you have Steam installed, Doomsday will automatically detect if you have purchased a compatible game and will access the IWAD files in the Steam games directories. | ||
+ | * Compatible games purchased from [[https:// | ||
+ | * Using the '' | ||
+ | * The configuration variable '' | ||
+ | * Environment variables DOOMWADDIR and DOOMWADPATH (see < | ||
+ | |||
+ | Doomsday tries to recognize IWAD files based on their contents. The [[https:// | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== Supported games ==== | ||
+ | |||
+ | One game plugin, such as the Doom Plugin, is able to run many different variants of the game. Each variant emulates a specific version of the original game and typically has its own IWAD file. | ||
+ | |||
+ | Below is a list of all the games supported by the game plugins distributed with Doomsday. | ||
+ | |||
+ | ^ Plugin^ Game ID^ Description | | ||
+ | | Doom| doom1-share| Shareware Doom v1.9 | | ||
+ | | | doom1| Registered Doom v1.9 | | ||
+ | | | doom1-ultimate| Ultimate Doom* | | ||
+ | | | doom2| Doom 2 | | ||
+ | | | doom2-plut| Final Doom: Plutonia Experiment | | ||
+ | | | doom2-tnt| Final Doom: TNT Evilution | | ||
+ | | | chex| Chex Quest | | ||
+ | | | hacx| HacX | | ||
+ | | Heretic| heretic-share| Shareware Heretic | | ||
+ | | | heretic| Registered Heretic | | ||
+ | | | heretic-ext| Heretic: Shadow of the Serpent Riders< | ||
+ | | Hexen| hexen| Hexen v1.1 | | ||
+ | | | hexen-v10| Hexen v1.0 | | ||
+ | | | hexen-dk| Hexen: Death Kings of Dark Citadel | | ||
+ | | | hexen-demo| The 4-level Hexen Demo | | ||
+ | |||
+ | //* = has a 4th episode \\ < | ||
+ | |||
+ | ===== Home Screen ===== | ||
+ | |||
+ | The Home screen in Doomsday 2 is a full replacement for the separate front-end application that was used in earlier versions. In Home you can manage your game profiles, resource packs and other add-ons, and join multiplayer games. | ||
+ | |||
+ | Home consists of a number of scrollable tabs. There are several ways to switch to a different tab: | ||
+ | |||
+ | * Click on the tab names in the top of the screen. | ||
+ | * Left and right arrow keys move focus to an adjacent tab. | ||
+ | * Shortcut keys: D, H, X, O, M, and P (while not entering text in a text field.) | ||
+ | * Click on the left or right edge of the screen. | ||
+ | |||
+ | ==== Game library ==== | ||
+ | |||
+ | The game library tabs list all the available game profiles and saved games associated with them. Each game profile can be configured to use a set of additional packages (data files, resource packs). | ||
+ | |||
+ | The appearance of the game tabs can be changed in User Interface settings (see < | ||
+ | |||
+ | **Starting a game with or without additional packages.** Click on a profile to select it, or move the selection with the arrow keys. When selected, Package and Play buttons slide in. The Package button shows a number for how many additional packages have been configured. Click Play or double-click the profile to start the game. | ||
+ | |||
+ | **Selecting packages.** Click the profile' | ||
+ | |||
+ | **Loading a saved game.** All saved games are listed under the game profile they were created in. Click on a save to select it, and then press the profile' | ||
+ | |||
+ | < | ||
+ | |||
+ | **Savegame information.** Right-click on a saved game to see information about the save: which data files and packages were in use, the overall game parameteres, | ||
+ | |||
+ | **Deleting a saved game.** When a savegame is selected, a small X button appears next to it. Clicking the X lets you delete the save. | ||
+ | |||
+ | **Creating a new profile.** At the bottom of each profile list, there is a Plus button that creates a new, empty profile. In the profile parameters, you can choose which game will be used, and which packages are selected for loading. Note that game profiles cannot have a name that is identical to an already existing game profile name. | ||
+ | |||
+ | **Duplicate, | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== Packages ==== | ||
+ | |||
+ | The Packages tab is used to browse the available [[packages]]. With the exception of game IWAD files, the Packages tab shows all the data files that Doomsday can load. You can also quickly try out individual packages in one your existing game profiles. | ||
+ | |||
+ | **Configuring the folders where packages are found.** To let Doomsday know where your packages can be found, either select " | ||
+ | |||
+ | **Searching for packages.** The packages list may contains hundreds of items, so you may want to find the package you're looking for by entering some search terms. Enter the words to search in the search field at the top of the list. The search is limited to package metadata; the actual file contents are not accessed. When entering multiple words, only packages whose metadata contains all the words are shown. | ||
+ | |||
+ | **Special search keywords.** Some search words have a special meaning: | ||
+ | * " | ||
+ | * " | ||
+ | |||
+ | **Viewing information about a package.** Right-click a package or click on the " | ||
+ | |||
+ | **Quickly trying out a package.** One of the most useful features of the Packages tab is quickly loading a package in one your games. This will make no changes to your profiles. Simply open the package info popup and click on "Play in..." | ||
+ | |||
+ | **Quickly adding a package to a profile.** The "Add to..." button in the package info popup will add the package to one of your existing game profiles. The profiles that already have the package are labeled " | ||
+ | |||
+ | **Configuring optional contents.** Some packages have optional subcomponents. For instance, add-ons that use the [[Snowberry Box]] format may include both opt-in and opt-out packages. When viewing information about this kind of collections, | ||
+ | |||
+ | ==== Multiplayer ==== | ||
+ | |||
+ | The Multiplayer tab lists multiplayer games that you can join. Servers on the local network are discovered automatically and are visible immediately in the Multiplayer games list. The [[http:// | ||
+ | |||
+ | **Viewing server information.** Right-click a server in the list to view status information about it. The same popup can be opened by clicking the small " | ||
+ | * ping time | ||
+ | * which game and map is currently running | ||
+ | * outline of the current map | ||
+ | * list of packages loaded on the server | ||
+ | * list of connected players | ||
+ | * server version | ||
+ | |||
+ | **Joining a game.** Join an open multiplayer game by clicking " | ||
+ | |||
+ | **Player name and color.** When a game is running (after joining a multiplayer game or also in single-player), | ||
+ | |||
+ | **Connecting to a non-public server.** To connect to a server that is not announced to the master server, select " | ||
+ | |||
+ | **Failure to connect?** There are several reasons why you may not be able to join a multiplayer game. You will be notified if you don't have the same packages that the server is using. You can review the required packages in the server information popup. Connectivity problems can also be due to your firewall or [[https:// | ||
+ | |||
+ | Doomsday uses TCP network connections for multiplayer games. If you host a game and are behind a firewall or using NAT, you must make sure that other computers are able to open TCP connections to your computer. This entails opening the appropriate incoming TCP ports on your firewall and/or configuring the NAT so that the correct ports are routed to your computer. | ||
+ | |||
+ | Additionally, | ||
+ | |||
+ | A server opens one TCP port for listening to incoming connections. The port must be open for incoming TCP traffic in the firewall. The port number is configured with the console variable '' | ||
+ | |||
+ | Clients do not require any firewall configuration for incoming connections. A client only needs to be able to reach the server via the server' | ||
+ | |||
+ | You can see status information about the network subsystem with the console command:< | ||
+ | |||
+ | // | ||
+ | |||
+ | If your server is not public (i.e., announced to the master server), a client can connect to it manually using the IP address or domain name. | ||
+ | |||
+ | For more information about the Shell, see [[Shell_Help|Shell Help in the wiki]]. < | ||
+ | |||
+ | ===== Task bar ===== | ||
+ | |||
+ | The [[task bar]] is a central element of Doomsday' | ||
+ | |||
+ | You can show the task bar by pressing Shift + Esc. | ||
+ | |||
+ | ==== App menu ==== | ||
+ | |||
+ | The rightmost button in the task bar (with the DE logo) opens the Doomsday app menu. | ||
+ | |||
+ | **Tutorial.** The first-run tutorial points out the basic features of Doomsday' | ||
+ | |||
+ | **Browsing and loading packages.** " | ||
+ | |||
+ | < | ||
+ | |||
+ | **Checking for updates.** Doomsday queries the dengine.net website to see if there are newer builds and shows a notification when updates are available. You can always also do a manual update check by selecting "Check for Updates" | ||
+ | |||
+ | **Clearing the resource cache.** Some resources and metadata get cached for later access. This allows Doomsday to load the resources faster and operate more efficiently. Usually it is unnecessary to clear the cache manually. See < | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== Configuration ==== | ||
+ | |||
+ | The task bar's Gear button opens the configuration menu. This is where the majority of Doomsday' | ||
+ | |||
+ | **Reset to defaults and advanced settings.** Many settings dialogs have a "Reset to Defaults" | ||
+ | |||
+ | **Renderer settings.** Most of the renderer settings are managed via appearance profiles. This makes it easy to select one of the presets, such as a vanilla look or more exaggerated effects. The dialog has a couple of general settings in addition to the active appearance profile. The "Pixel Density" | ||
+ | |||
+ | Some resource packs with high-resolution textures are intended to be used with the unmodified original games. However, a PWAD file may replace some of the textures with custom ones. The " | ||
+ | |||
+ | **Renderer appearance sidebar.** Click the Gear button next to the selected renderer appearance profile and select " | ||
+ | |||
+ | **Video aspect ratios.** In addition to basic game window parameters, the Video settings dialog has a set of aspect ratio options. These control the aspect ratios applied to specific elements in the game: | ||
+ | |||
+ | * " | ||
+ | * " | ||
+ | * " | ||
+ | |||
+ | **Audio backends.** Some of the audio options are dependent on the active audio backend(s). For example, a MIDI sound font is supported by the FMOD and Fluidsynth plugins. 3D sound and reverb are supported by FMOD, OpenAL, and DirectSound. The audio backend can be reconfigured on the fly; any changes are applied when you close the popup. | ||
+ | |||
+ | **Game controllers.** Doomsday comes with a few preset bindings for different gamepads. To use one of the presets, click on the "Game Controller Preset" | ||
+ | |||
+ | **Mouse input settings.** The "Sync Axis Sensitivities" | ||
+ | |||
+ | **Minimizing mouse latency.** The default input settings try to replicate the feel of the original 35 Hz input events of Doom. However, when the screen is actually refreshed at a higher rate, this may feel distractingly laggy. The 35 Hz limiter can be disabled in the advanced input settings (click the Gauge button). This will minimize mouse input latency as much as possible. You may additionally want to disable mouse filtering by toggling the " | ||
+ | |||
+ | **Local multiplayer packages.** By default, clients are not allowed to load packages in addition to what the server is using. This avoids any potential compatibility issues with the client' | ||
+ | |||
+ | **User Interface settings.** The " | ||
+ | |||
+ | **Updater settings.** The Updater settings determine when Doomsday will check for available updates. When an update is downloaded, it is saved to your temporary files folder. | ||
+ | |||
+ | ==== Log history and log options menu ==== | ||
+ | |||
+ | The log message history panel slides in from the left edge of the view. When visible, you can drag its right edge to resize it. | ||
+ | |||
+ | The leftmost button in the task bar opens the log options menu: | ||
+ | |||
+ | ; Show Full Log | ||
+ | : Expands the log history panel to its full size. When the task bar is open, pressing PageUp will also expand the panel size. | ||
+ | ; Close Log | ||
+ | : Dismisses the log history panel. | ||
+ | ; Go to Latest | ||
+ | : Scrolls the log history to the latest message. | ||
+ | ; Copy Path to Clipboard | ||
+ | : Copies the // | ||
+ | ; Clear Log | ||
+ | : Deletes all log messages from memory. The // | ||
+ | ; Snap to Latest Entry | ||
+ | : When this setting is enabled, new log entries will cause the history panel to scroll to the latest entry (bottom of the list). | ||
+ | ; Entry Metadata | ||
+ | : When this setting is enabled, log entries will be prefixed with a timestamp and categorization symbols. | ||
+ | ; Log Filter & Alerts | ||
+ | : Settings for filtering which log messages get printed. You can choose filtering options individually for each engine subsystem. Developer messages (" | ||
+ | |||
+ | ==== Command prompt ==== | ||
+ | |||
+ | The middle of the task bar is occupied by a command prompt text field. Here you can enter console commands and modify console variables manually. This is typically most useful for developers, modders, and other advanced users. | ||
+ | |||
+ | **Console basics.** Type '' | ||
+ | |||
+ | **Interactive Doomsday Script prompt.** [[Doomsday Script]] is a fully-fledged Python/ | ||
+ | |||
+ | ===== Command line usage ===== | ||
+ | |||
+ | It is possible to launch Doomsday directly from the command line. If all data files can be found under the default directories, | ||
+ | |||
+ | **doomsday** '' | ||
+ | |||
+ | Everything following '' | ||
+ | |||
+ | ; '' | ||
+ | : Specify one or more data files or packages (//.pack //, PK3, WAD, LMP) to load at startup. When used together with the '' | ||
+ | ; '' | ||
+ | : Sets the game to load after startup. If omitted, the Home screen will be shown after startup. See < | ||
+ | ; '' | ||
+ | : Prints a brief list of the command line options. | ||
+ | ; '' | ||
+ | : Specifies a directory where to look for IWAD files. Searches for IWADs from all known games and automatically loads them when needed. | ||
+ | ; '' | ||
+ | : Show version information. | ||
+ | ; '' | ||
+ | : Starts in windowed mode. The default is to start in fullscreen mode. | ||
+ | ; '' | ||
+ | : Sets the size of the Doomsday window. In fullscreen mode specifies which display resolution to use. | ||
+ | |||
+ | ==== Additional options ==== | ||
+ | |||
+ | ; '' | ||
+ | : Center the window (when not in fullscreen mode). | ||
+ | ; '' | ||
+ | : Enables or disables developer log entries. These are useful for debugging and/or troubleshooting, | ||
+ | ; '' | ||
+ | : Set the UI pixel density. The desktop UI scaling factor is automatically detected and used by Doomsday. This option will override it. For example: '' | ||
+ | ; '' | ||
+ | : Set the name of the error output file. The file is written to the runtime folder. This output file is created in addition to the usual // | ||
+ | ; '' | ||
+ | : Enable or disable fullscreen mode. | ||
+ | ; '' | ||
+ | : Set the audio backend for CD playback, music, and sound effects. The following audio backends are available: | ||
+ | * dummy | ||
+ | * fmod | ||
+ | * sdlmixer | ||
+ | * openal | ||
+ | * dsound | ||
+ | * winmm | ||
+ | |||
+ | ; '' | ||
+ | : Set a scaling factor for UI fonts. For example: '' | ||
+ | ; '' | ||
+ | : Set the log output level. The levels are: XVerbose, Verbose, Message, Note, Warning, Error, Critical. | ||
+ | ; '' | ||
+ | : Maximize the window, or set the window to non-maximized mode. | ||
+ | ; '' | ||
+ | : Disable antialiasing. | ||
+ | ; '' | ||
+ | : Disable gamepads and other game controllers. | ||
+ | ; '' | ||
+ | : Disable mouse input. | ||
+ | ; '' | ||
+ | : Disable vsync. | ||
+ | ; '' | ||
+ | : Set the name of the log output file. The file is always written to the runtime folder. This option overrides the default // | ||
+ | ; '' | ||
+ | : Set additional folders where to find packages. Works similar to '' | ||
+ | ; '' | ||
+ | : Reset the engine configuration to default values. In practice, this just erases the contents of the // | ||
+ | ; '' | ||
+ | : Overrides the FMOD backend' | ||
+ | ; '' | ||
+ | : Print verbose log messages. Specify more than once for extra verbosity. | ||
+ | ; '' | ||
+ | : Enables all log messages (normal and developer, all levels). | ||
+ | ; '' | ||
+ | : When starting directly into a game using '' | ||
+ | ; '' | ||
+ | : Set the horizontal/ | ||
+ | |||
+ | ===== Files ===== | ||
+ | |||
+ | Your runtime files are stored in a folder called // | ||
+ | |||
+ | ; // | ||
+ | : Console commands to execute after loading the game with the '' | ||
+ | ; // | ||
+ | : Cached data that helps Doomsday run faster. You can delete the contents of this folder; Doomsday will recreate them automatically as needed. | ||
+ | ; // | ||
+ | : Game profiles and saved values for console variables and control bindings. | ||
+ | ; // | ||
+ | : Log message output file. | ||
+ | ; // | ||
+ | : Folder containing all saved games. Each game has its own subfolder for saves. Note that the subfolders are game-specific rather than profile-specific; | ||
+ | |||
+ | ===== Environment ===== | ||
+ | |||
+ | The following environment variables are recognized by Doomsday. | ||
+ | |||
+ | ; DOOMWADDIR | ||
+ | : Doomsday looks for WAD files in this directory. | ||
+ | ; DOOMWADPATH | ||
+ | : Delimited set of DOOM WAD directories. Use semicolon (;) to separate directories. Supported WAD files are searched for in each directory. | ||
+ | |||
+ | ===== Bugs and known issues ===== | ||
+ | |||
+ | Doomsday remains a work in progress so there usually is a number of bugs and known issues. | ||
+ | |||
+ | ; Bugs and Features | ||
+ | : The official place to report new bugs, comment on existing ones, and submit feature requests is the [[http:// | ||
+ | ; Multiplayer Issues | ||
+ | : The bug tracker has a list of known [[http:// | ||
+ | |||
+ | ===== See also ===== | ||
+ | |||
+ | Additional documentation is available in the [[http:// | ||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | < | ||
+ | |||
+ | ===== Acknowledgements ===== | ||
+ | |||
+ | **id Software** created DOOM and then released its source code. | ||
+ | |||
+ | **Raven Software** created Heretic and Hexen and released their source code. | ||
+ | |||
+ | **Andrew Apted** wrote [[http:// | ||
+ | |||
+ | **Christopher Bruns** contributed code for supporting VR rendering with Oculus Rift. | ||
+ | |||
+ | **Dave Gardner** maintains of high-resolution texture packs and creates 3D models. | ||
+ | |||
+ | **Roman Hargrave** has been cleaning up the Doom64 Plugin. | ||
+ | |||
+ | **Graham Jackson** helped with the source code, fixed Doom bugs and did a lot of testing. | ||
+ | |||
+ | **David Jarvis** did early network testing with jDoom and jHeretic and generously contributed essential computer hardware components. | ||
+ | |||
+ | **Jaakko Keränen** created the Doomsday Engine and is the lead developer of the project. | ||
+ | |||
+ | **Kees Meijs** packaged Doomsday for Debian and hosted an Apt repository of Debian packages. | ||
+ | |||
+ | **Daniel Swanson** is a developer in the Deng Team, original author of the [[http:// | ||
+ | |||
+ | **Vermil** regularly provides in-depth feedback and bug reports and is an expert in all things related to DOOM-based games. | ||