Bfg-9000/doom
Содержание:
- Weapon schematics[edit]
- Programming and Code Quality
- Tactical analysis
- The following instructions are primarily intented for Linux users and all hackers on other operating systems.
- The BFG in other id Software games
- Fallout Equestria: Remains (Русская версия)
- Combat characteristics
- Tactical analysis[edit]
- Iconoclasts (Русская версия)
- TrenchBroom Mapping Support
- «.plan»
- May or may not «.plan»
- PBR Texture format
- Optional if you want to use FFmpeg
- Compiling on Linux
- Compiling on macOS
- FTL: Multiverse (Русская версия)
- Советы:[]
- For 99% of all users:
- Disciples: Liberation (Русская версия) / Disciples: Освобождение
- Notes
Weapon schematics[edit]
The BFG in Doom 3 functions in a largely different way from its Doom counterpart. Comparing the weapons visually, the Doom 3 version is more compact, lacking a harness, has a shiny smooth metallic framework versus the original’s rough design studded with various technological implements, and totally lacks the corrugated aperture that was shared with classic Doom’s plasma gun.
The BFG 9000’s projectile consists of a computer chip contained within a massive ball of relatively slow-moving green plasma, the strength of which is determined via a charge-based system: holding down the trigger causes the weapon to charge through four different power levels for a more powerful shot, the status of the charge being displayed on the weapon’s integrated monitor (which also displays the ammo count, dispensing with a game HUD, just like plasma gun, chaingun, and machine gun). Caution must be utilized, as if the weapon is charged beyond the fourth level, the weapon will explode and will instantly kill the player wielding it. This is referenced in-game as a glitch in the prototype weapon’s design which was still being worked on by the UAC’s tactical arms research and development team.
The projectile’s embedded computer chip contains a sophisticated identification friend or foe system, and, similar to the BFGs found in the Quake series of games, fires green energy rays at opponents which debilitate them prior to the detonation of the plasma projectile. The damage of these rays is around ten points per second. If the computer core in the projectile is destroyed before the projectile impacts with a surface or soft target, the explosion will be suboptimal, though can still deal considerable damage at close range. This makes use of the plasma gun in countering an enemy’s BFG shots critical.
The effects of the weapon are devastating: a projectile charged at the lowest level can obliterate any weaker monsters, whereas a fully-charged shot will kill any monster with health equal to or less than the Vagary. «Elite» monsters with high hit points such as the Hell knight or the mancubus generally require a double or triple-charged shot to kill, and this weapon is ideal for dispatching arch-viles quickly when the Soul Cube and Artifact are not available.
Unlike in the classic Doom and Doom II, the BFG 9000 in Doom 3 no longer uses the same ammo as the plasma gun, but has its own type of cells instead. The BFG cell is a small green cylinder with an actively vibrating sphere inside, with an appearance similar to an atom, and holds four charges. Unlike in Doom II, BFG cells are extremely rare and often placed in relatively obscure locations, and it is therefore recommended to use the weapon sparingly.
Programming and Code Quality
- Flexible build system using CMake allowing to add optional features like Vulkan rendering, FFmpeg for videos or OpenAL for sound
- Linux support for both GCC and Clang with a proper SDL 2 OS layer including gamepad support
- Win64 support and Visual Studio support up to VS 2019
- macOS support (updated in 2021 thanks to Stephen Saunders)
- OpenAL Soft sound backend primarily developed for Linux but works on Windows as well
- Sourcecode cleanup using the Artistic Style C++ beautifier to ensure the Git diffs and logs are clean
- Fixed tons of warnings using the Clang compiler
- Fast compile times using precompiled header support which allows to compile the entire engine and builtin tools in less than 30 seconds on a Ryzen 9
- Although not really supported but runs on exotic hardware like MIPS64, PPC64, ARM64 and E2K architectures
Tactical analysis
Without a doubt the most powerful weapon in the game, the BFG9000 is capable of causing damage to a single enemy for more than 1700 hit points.
The effects of the weapon are devastating; a single-charged projectile can obliterate any smaller demon. Even if the shots are not directed towards the target, the powerful rays emitted from the projectile will cause continuous damage over 200 (over 10 points per second), making it deadly for even the most agile demon like the Tentacle Commando. A fully-charged shot will kill any monster up to a Vagary. The most powerful monsters with a lot of hit points such as the Hell Knight or the Mancubus generally require a double or triple-charged shot to kill, and this weapon is ideal for taking out Arch-viles quickly, when the Soul Cube is not available.
The weapon’s destructive capability is unmatched (minus the Soul Cube), but can also act as a double edged sword; firing at a monster up close will severely damage the player due to the weapon’s blast radius. In addition, the weapon is very «fragile» as it can be prone to overheating if charged for too long, killing the user instantly.
As the BFG’s charged shots travel very slowly, this will give enemies more opportunity to attack you, even while they take damage from the rays. Therefore do not stay at one place while waiting for the shots to find their mark, especially when fighting against enemies with high HP like the Hell Knight.
The BFG is recommended for medium to long-range combat. As BFG cells are very rare, its usage should be limited to areas where stronger enemies like the Hell Knight and Arch-viles are present. The Caverns in the later levels serve as the best area where the BFG can come into great use, due to high abundance of these kinds of enemies and BFG Cells.
The following instructions are primarily intented for Linux users and all hackers on other operating systems.
To play the game, you need the game data from a legal copy of the game.
Currently this requires a Windows installer, whether that be the GOG installer or by using Steam for Windows.
Note: the original DVD release of Doom 3 BFG contains encrypted data that is decoded by Steam on install.
Then you can download Doom 3 BFG with
NOTE that we’ve previously recommended using download_depot in the Steam console to install the game data. That turned out to be unreliable and result in broken, unusable game data. So use SteamCMD instead, as described above.
Once Wine is installed and configured on your system install Doom 3 BFG edition using the downloaded installers from gog.com:
(there will be several .exe files from GOG, make sure all of them are in the same directory)
Once this is complete, by default you can find your Doom 3 BFG «base/» directory at «.wine/drive_c/GOG\ Games/DOOM\ 3\ BFG/base».
Note that you may want to add the following line to the bottom of the default.cfg in whatever «base/» directory you use:
set sys_lang «english»
This will ensure the game and its menus are in english and don’t default to something else. Alternatives include:
- set sys_lang «english»
- set sys_lang «french»
- set sys_lang «german»
- set sys_lang «italian»
- set sys_lang «japanese»
- set sys_lang «spanish»
Anyway:
-
Install Doom 3 BFG in Steam (Windows version) or SteamCMD, make sure it’s getting
updated/patched. -
Create your own Doom 3 BFG directory, e.g. /path/to/Doom3BFG/
-
Copy the game-data’s base dir from Steam or GOG to that directory
(e.g. /path/to/Doom3BFG/), it’s in
/your/path/to/Steam/steamapps/common/DOOM 3 BFG Edition/base/
or, if you used SteamCMD or GOG installer with Wine, in the path you used above. -
Copy your RBDoom3BFG executable and the optional FFmpeg DLLs (if Windows FFmpeg enabled) to your own
Doom 3 BFG directory (/path/to/Doom3BFG). Your Doom 3 BFG directory now should look like:/path/to/Doom3BFG/
- RBDoom3BFG (or RBDoom3BFG.exe on Windows)
- avcodec-58.dll (Windows FFmpeg only)
- avformat-58.dll (Windows FFmpeg only)
- avutil-56.dll (Windows FFmpeg only)
- swresample-3.dll (Windows FFmpeg only)
- swscale-5.dll (Windows FFmpeg only)
- base/
- classicmusic/
- _common.crc
- (etc)
-
On macOS the RBDoom3BFG executable will also search for game data within an app bundle’s relative path ../Resources/base and, as a last resort, within the absolute path /Applications/RBDoom-3-BFG.app/Contents/Resources/base. In addition, if you want the game to be standalone without dependencies on pre-installed dynamic libs, you can use macdylibbundler to bundle all external dylib dependencies into the app bundle (see https://github.com/auriamg/macdylibbundler or simply install via «brew install dylibbundler» or «sudo port install dylibbundler»). For example, the following command will copy all external dynamic library dependencies to the Contents/libs directory of the game’s app bundle and adjust the rpaths within the RBDoom3BFG executable and copied dylibs.
After running dylibbundler you must re-sign the modified executable and dylibs if planning to run on Apple Silicon machines. The output of dylibbundler will indicate which dylibs (if any) require re-signing. This code signing step is not needed for x86-based Macs.
-
Run the game by executing the RBDoom3BFG executable.
-
Enjoy
-
If you run into bugs, please report them, see
The BFG in other id Software games
The BFG in Doom 64.
Doom 64’s BFG pickup sprite.
- Doom 64 includes a slightly revamped version of the BFG. Upon being fired, it will make a computerized whirring sound increasing in pitch until the projectile is shot out. When the projectile hits an enemy or wall, it will create a cone-shaped field of damage from its detonation point back to the player, killing or hurting any monsters in its path.
- Quake II features the BFG 10K. This was the first attempt to rework the BFG mechanics, and set the standard for future BFGs. Rather than the complicated system of firing traces out of the player after the projectile explodes, the traces are fired out of the projectile as it moves, dealing damage-over-time to nearby enemies. The projectile sprites are exactly the same as Doom’s. Unlike Doom’s BFG, however, a point-blank blast will kill the player as well as their intended target.
- Quake 3 Arena included a new version of the BFG 10K that works considerably different then its previous incarnations. It fires explosive plasma projectiles at a high rate of fire and has a more streamlined shape.
- Doom 3 includes a redesigned version, see BFG 9000 (Doom 3). It can be charged up for a more powerful shot, but if charged for too long it will «overload,» failing to fire and dealing a large amount of damage to the player. It is otherwise mechanically similar to the Quake II variant.
- The BFG also appears in Doom RPG, where it is named BFG-9000.
- Rage includes a weapon called the Authority Pulse Cannon, which normally acts as a sort of energy-based minigun, but also features the ability to fire an alternate ammo type called «BFG Rounds», which do devastating damage to targets within range.
- The BFG appears in Bethesda Pinball’s Doom table as a collectible weapon that is the most powerful of 8 possible weapons. One shot from the BFG instantly annihilates a demon wave, and an extra ball is granted when it is first obtained.
Fallout Equestria: Remains (Русская версия)
Fallout Equestria: Remains — захватывающая приключенческая RPG, где главные герои «My Little Ponies» попадают на просторы мрачного радиоактивного мира, населенного мутантами и полчищами вооруженных бандитов. Постарайтесь сделать всё возможное, чтобы выжить в крайне агрессивной окружающей среды, обзаведитесь внушительным оружейным арсеналом и классическим Пип-Боем (визитная карточка легендарной серии «Fallout»), прокачивайте персональные умения, обзаведитесь множеством перков, ищите секреты, а также насладитесь поистине неповторимой атмосферой. Добро пожаловать на просторы беспощадного постапокалиптического мира!
Combat characteristics
The BFG9000 shooting a plasma ball in MAP32 of Hell Revealed.
When the trigger is pulled, there is a pause of 30 tics (about 0.857 seconds) before a green and white plasma ball is ejected. 40 plasma cells will be consumed, and if the large plasma ball hits a solid object, it explodes and causes 100-800 hit points of damage to the target, in round multiples of 100.
After a further pause of 16 tics (about 0.457 seconds), additional damage is calculated: 40 invisible tracer rays are emitted by the player in a cone-shaped area (about 45° half-angle) in the direction the plasma ball was fired (if the player has turned around, the direction of the rays does not change — they are still traced in the direction of firing of the original plasma ball; on the other hand, if he has moved to another location, their origin moves along with him). Each ray causes 49-87 points of damage if it hits a solid object within 1024 map units. Even Cyberdemon and Spiderdemon, which are immune to blast damage, are affected by these rays.
Therefore, the minimal damage of the weapon is 49 points (if an object is hit by one ray and not the plasma ball) and, hypothetically, the maximal damage is 800 + (40 × 87) = 4280 points (if the plasma ball hits an object for full damage and all 40 tracers also hit the object for full damage). However, even should all 40 rays and the energy ball hit a single target, that much damage can still never actually be inflicted due to the periodicity of the simplistic pseudorandom number generator used by the Doom engine.
Contrary to section 3H of the , the tracer code does not include horizontal auto-aiming (although, like any bullet attack, each tracer can auto-aim vertically).
Because the BFG projectile does not cause standard blast damage, it is safe for the player to use at point-blank range. In fact, this is often the preferred method of usage against large monsters, as this allows more of the tracer rays to strike a single target for concentrated damage. Conversely, because each ray can strike a different target, a large group of monsters can be damaged by the tracer rays if the weapon is fired from a moderate distance.
Tactical analysis[edit]
The weapon is recommended for medium to long-range combat, as firing at a monster up close will severely damage the player from the blast radius. Moreover, the longer the projectile exists undetonated, the longer the time it will have to attack other enemies within the vicinity with its rays. The BFG is also recommended for usage in areas with heavy enemy presence due to its targeting system, as the other weapons specialize more in single-enemy combat. It is also advisable to deploy the weapon for boss fights, such as in Caverns 2, due to the heavy premium on the ammunition.
Do not overcharge the weapon, as it can overheat and explode in the player’s grip, killing him instantly.
Iconoclasts (Русская версия)
Робин мечтает стать механиком и помогать людям. Однако заниматься этим без лицензии — грех. Так, во всяком случае, считает Мать. Стоило Робин взять в руки гаечный ключ, мир словно сошел с ума. Наказание обрушивается на всех, кто ей дорог, а на нее саму объявлена охота. Надвигается что-то серьезное. Посерьезней, чем дефицит энергии или разрушение луны. И именно Робин окажется в центре грядущих событий. Iconoclasts — игра от независимого разработчика Йоакима Сандберга, над которой он работал семь долгих лет. Энергичные бои и уморительные шутки здесь соседствуют с трогательной, глубоко личной историей.
TrenchBroom Mapping Support
The goal of the TrenchBroom support is to make mapping for RBDOOM-3-BFG as easy as for Quake 1.
- idMapFile and dmap were changed to support the Valve 220 .map format to aid mapping with TrenchBroom
- Support angles keyword again for TrenchBroom like in Quake 3
«.plan»
If you want to see what is planned or in progress in a Trello/Kanban style manner look here: RBDOOM-3-BFG projects
Very certain short term goals are to port and extend some improvements from Justin Marshall’s Iced-Hellfire-Dev branch:
- Assimp -> MD5 converter pipeline to generate .md5mesh/.md5anim files from any FBX, DAE, glTF2 files
- Improve MD5 files with a new Version 11 that allows to store normals for better control of smoothing groups
- Native C++ weapons code
- Native C++ AI & monsters code
- Quake 3 gladiator multiplayer bot
May or may not «.plan»
- Scrap expensive multipass forward shading with a faster forward+ solution
- Add a DX12 Ultimate renderer backend
- Explore Screen Space Global Illumination with Christoph Schieds’ A-SVGF realtime denoising because A-SVGF works really well in Q2RTX
- Update texture compression based on Basis Universal GPU Texture and Texture Video Compression Codec
- Rip & Tear renderer backend with modern approaches by The-Forge
- Replace collision detection and physics with PhysX 4.1
PBR Texture format
In Doom 3 a classic simple materials looks like this:
It’s usually rendered with Blinn-Phong specular with a fixed specular exponent.
Specularmaps are more or less Gloss maps.
In RBDOOM-3-BFG it uses the PBR GGX Cook-Torrence formular and you can vary the roughness along the material like in other modern engines and you usually define a texture with the _rmao suffix.
RMAO Image Channels | Description |
---|---|
Red | Roughness |
Green | Metalness |
Blue | Ambient Occlusion |
Example material:
The engine will also look for _rmao.[png/tga] overrides for old materials and if it finds those it will render them using a better PBR path. Old school specularmaps also go through a GGX pipeline but the roughness is estimated from the glossmap.
The Ambient Occlusion will be mixed with the Screen Space Ambient Occlusion and will only affect indirect lighting contributed by the environment probes.
Optional if you want to use FFmpeg
-
Download ffmpeg-4.2.2-win64-shared.zip from ffmpeg.zeranoe.com/builds/win64/shared
-
Extract the FFmpeg DLLs to your current build directory under RBDOOM-3-BFG/build/
Compiling on Linux
-
You need the following dependencies in order to compile RBDoom3BFG with all features:
On Debian or Ubuntu:
On Fedora
On ArchLinux
On openSUSE
You don’t need FFmpeg to be installed. You can turn it off by adding -DFFMPEG=OFF and -DBINKDEC=ON to the CMake options. It is enabled by default because the bundled libbinkdec is slow during development if compiled for Debug mode.
-
Generate the Makefiles using CMake:
-
Compile RBDOOM-3-BFG targets with
Compiling on macOS
-
You need the following dependencies in order to compile RBDoom3BFG with all features:
You don’t need FFmpeg to be installed. You can turn it off by adding -DFFMPEG=OFF and -DBINKDEC=ON to the CMake options. For debug builds FFmpeg is enabled by default because the bundled libbinkdec is slow during development if compiled for Debug mode. For release, retail and universal builds FFmpeg is disabled and libbinkdec is enabled by default.
-
Generate the Makefiles using CMake:
For command line builds:
For Xcode builds:
Depending on which package manager you install (Homebrew or MacPorts) you may need to change the openal-soft library and include paths specified in the cmake shell scripts. For single architecture builds (debug, release, retail) the default openal-soft paths are set for Homebrew on x86, while for universal builds the default paths are set for MacPorts on x86 or Apple Silicon. If you want to build using the single architecture shell scripts (debug, release, retail) on Apple Silicon, you will need to change the openal-soft paths from to either (Homebrew) or (MacPorts).
-
Compile RBDOOM-3-BFG targets:
For command line builds:
For Xcode builds double click on RBDOOM-3-BFG/xcode-opengl-<buildtype>/RBDoom3BFG.xcodeproj and start the build. The generated Xcode project file is pre-configured with the correct targets and build settings.
FTL: Multiverse (Русская версия)
FTL: Multiverse – мод с многочисленными исправлениями и изменениями в игровом процессе. Космический симулятор Faster Than Light получил множество нового контента. В открытом мире теперь существует больше фракций и рас, взаимодействующих между собой. Игрок способен опробовать свыше 100 добавленных звездолетов и столкнуться с 500+ кораблями соперников. Каждое судно обладает уникальной характеристикой и апгрейдами. Пользователь побывает в роли путешественника по Мультивселенной. Известный исследователь перемещается по забытым эпохам и временным линиям, чтобы добраться до новых реверсивных и футуристических технологий. Между пространствами развязалась война из-за конфликтов Федерации и Восстания.
Советы:[]
- Вас не может убить это оружие.
- Сохраняйте боезапас BFG, 1-2 патронов. Вы наверняка найдете одну плазму, которая как раз заполнит ваше оружие.
- Не стоит стрелять ПРЯМО в демона (Если это не босс). Плазма уничтожит все поблизости, включая Барона Ада позади вас.
- Если у вас есть руна на получение патронов с зверского убийства, тогда руна во втором уровне имеет некий шанс получить один боезапас BFG. Патрон выглядит в отличие от остальных, зеленым цветом.
- При попадании в босса, он не может двигаться и получает намного больше урона, а по окончанию дает патроны и здоровье (Если включена руна на получение брони от зверского убийства, вы получите так же и броню).
Использовать BFG надо в критической ситуации: Мало здоровья, слишком много демонов, против 4 Пинки или если есть рядом 1-2 патрона (При условии, что боезапас у вас полон.)
For 99% of all users:
-
There are usually 2 kinds of RBDOOM-3-BFG packages. The Full and the Lite version.
With the Full version you have the Win64 binaries, the baked environment probes and lightgrid data for all BFG single player maps like RBDOOM-3-BFG-1.3.0.42—win64-20211030-git-b4e0366.7z (6.18 GB download).
The Lite version has the in the filename like RBDOOM-3-BFG-1.3.0.42-lite-win64-20211030-git-b4e0366.7z.
Those packages don’t ship with the precomputed light data but have everything else needed to run the mod and the tools like the custom TrenchBroom build. -
Simply extract both packages over your
directory and run RBDoom3BFG.exe.
This should also work fine with your GOG installation.
Disciples: Liberation (Русская версия) / Disciples: Освобождение
Disciples: Liberation – возвращение знаменитой серии тактичесих РПГ Disciples, которое ознаменует новый этап ее развития. Вас ждет мрачный фэнтезийный мир, пошаговые сражения, квесты и различные фракции, начиная от людей и заканчивая нежитью. Вам предстоит освободить земли Невендаар, а каждое ваше решение будет иметь последствия. Disciples: Освобождение – RPG с элементами стратегии и пошаговыми сражениями. Игрок перемещается по землям Невендаара, открывая засекреченные места, тайны и сражаясь с врагами. Каждое решение и выбор пользователя повлияет на дальнейший процесс и развитие сюжета.
Notes
The BFG 2704 in action in the beta.
- The original BFG was digitized from a RoarGun, a battery operated toy gun manufactured by Creatoy. Flat images of parts of the same toy were used for some of the Tekwall textures.
- As with the rocket launcher and chaingun, the full BFG sprite (after pickup) is slightly too large for the screen, and can only be viewed with a level or resource editor; the lower edge of the sprite includes a BFG logo.
- An early version of the BFG9000, known as the «BFG 2704» in the Doom Bible, was originally capable of firing a deadly, rapid-fire spray of green and red plasma projectiles that can bounce off of ceilings and floors (spending 40 cells per shot), as if it were «a Plasma gun that had gotten on steroids». That was changed to the final, possibly more powerful version because the former could greatly slow the game down from the number of projectile sprites on screen. According to John Romero, the idea of the weapon firing the green and red plasma projectiles was scrapped because it «looked like Christmas». A source port of the game, MBF, features a working reenactment of the early-version BFG seen in the beta.
- The comic book adaptation of Doom appears to depict the BFG 9000 as a heavy machine gun instead of a plasma weapon, since it fires a stream of small projectiles that resemble bullets instead of an expanding energy blast. However, it is possible that this was meant to be based on the original concept of the BFG, which similarly fired a stream of multicolored plasma projectiles, as mentioned above.
- In the Doom Bible, the section on weapons (14) describes the BFG 2704 as a highly destructive weapon which would damage the wielder a bit, pushing him back. That same entry unveils the meaning of the BFG initials.
- The SNES port of Doom’s BFG suffers from a scaled-down projectile, possibly due to memory constraints; it appears, instead, as a Baron’s plasma ball, using the same firing sound effect and bursting sound when it hits an enemy or wall. The shocking effects of the subsequent field of damage to other targets after the projectile detonates is not present (instead of the original tracer rays effect, it appears to use a radius-based damage effect), and any targets within range of the explosion will either simply fall over dead or suffer damage. The projectile’s damage output is also higher than its PC counterpart.
- The BFG does not appear by itself in the 32X port of Doom and only appears by means of a cheat code. However, if this code is used, the game will not end properly; it will cut to a DOS screen rather than the game’s real ending. As a result, it does not seem possible for the player to have/use the weapon in this port and get the real ending.
- The BFG9000 has a «safety catch» similar to the . When selected while the fire key is still pressed, the BFG will not begin firing immediately like other weapons, but only when fire key is released and pressed again. The safety mechanism was likely implemented to prevent the player from wasting 40 cells by accident.
- To determine the damage of a BFG tracer, a random number between 1 and 8 is generated and repeated 16 times. This makes the total damage varies from 16 to 128 (due to the «bell curve» phenomenon, the value is weighted towards the middle of the range). However, due to the Pseudorandom number generator of Doom, this never happens in real gameplay, and the damage is limited to 49-87.