Difference between revisions of "List of Source Ports and Recreations"

From Blood Wiki
Jump to: navigation, search
(Released)
(Comparison of source ports)
(41 intermediate revisions by 6 users not shown)
Line 16: Line 16:
 
<gallery mode="packed-hover">
 
<gallery mode="packed-hover">
 
File:Halls-Of-Stonehenge.png|Halls of Stonehenge
 
File:Halls-Of-Stonehenge.png|Halls of Stonehenge
File:Blood-TC-Graveyard.png|BloodTC
+
File:Blood-TC-Graveyard.png|Blood TC
 
File:ZBlood-Screamshot.jpg|ZBlood
 
File:ZBlood-Screamshot.jpg|ZBlood
 
File:Blood-Reborn-Gameplay.png|Blood Reborn
 
File:Blood-Reborn-Gameplay.png|Blood Reborn
Line 28: Line 28:
 
File:Transfusion-Screamshot.png|Transfusion
 
File:Transfusion-Screamshot.png|Transfusion
 
File:Transfusion-Bloodbath.jpg|Transfusion
 
File:Transfusion-Bloodbath.jpg|Transfusion
 +
File:Q3BB-HoE.jpg|Q3 Bloodbath
 +
File:Q3BB-Winter-Wonderland.jpg|Q3 Bloodbath
 
File:Cradle-to-Grave-Source.png|Blood Source
 
File:Cradle-to-Grave-Source.png|Blood Source
 
File:Blood-Source.jpg|Blood Source
 
File:Blood-Source.jpg|Blood Source
 +
File:Blood-Refilled-FPS.jpg|Blood Refilled
 +
File:Blood-Refilled-TPS.jpg|Blood Refilled
 
File:Blood-Evolution-1.jpg|Blood Evolution
 
File:Blood-Evolution-1.jpg|Blood Evolution
 
File:Blood-Evolution-2.jpg|Blood Evolution
 
File:Blood-Evolution-2.jpg|Blood Evolution
Line 39: Line 43:
  
 
== Attempted Source Ports ==
 
== Attempted Source Ports ==
The source code to ''Blood'' was [[Blood Source Campaign|never released]]; however, [[:wikipedia:Source port|source ports]] have been attempted using released [[Build]] engine, ''[[wikipedia:Duke Nukem 3D|Duke Nukem 3D]]'', ''[[wikipedia:Shadow Warrior|Shadow Warrior]]'', or the leaked ''[[Blood Alpha]]'' code, as well as [[:wikipedia:Game engine recreation|original programming]] using [[wikipedia:reverse engineering|reverse engineering]]. Based on original or already free software source code and only reading the original game's assets, these projects are considered more clear legally speaking (although issues can [[:wikipedia:Reverse engineering#Legality|still persist]]). The exact definition of what is a source port is debatable however, in regards to the lack of official source code, and methods of reverse engineering will vary. Our working definition here is any project that works with the game's native [[Build#File Types|files and formats]]. As such, they should also be able to run [[List of Mods for Blood|custom content]] such as ''[[Bloody Pulp Fiction]]'' or ''[[Death Wish]]''.
+
The source code to ''Blood'' was [[Blood Source Campaign|never released]]; however, [[:wikipedia:Source port|source ports]] have been attempted using released [[Build]] engine, ''[[wikipedia:Duke Nukem 3D|Duke Nukem 3D]]'', ''[[wikipedia:Shadow Warrior|Shadow Warrior]]'', or the leaked ''[[Blood Alpha]]'' code, as well as [[:wikipedia:Game engine recreation|original programming]] using [[wikipedia:reverse engineering|reverse engineering]]. Based on original or already free software source code and only reading the original game's assets, these projects are considered more clear legally speaking (although issues can [[:wikipedia:Reverse engineering#Legality|still persist]]).
 +
 
 +
The exact definition of what is a source port is debatable however, in regards to the lack of official source code, and methods of reverse engineering will vary. Our working definition here is any project that works with the game's native [[Build#File Types|files and formats]]. As such, they should also be able to run [[List of Mods for Blood|custom content]] such as ''[[Bloody Pulp Fiction]]'' or ''[[Death Wish]]''. Some alternative definitions in the community require at least the use of original [[Build]] engine code, which would exclude releases such as the official ''[[Fresh Supply]]'' alike to efforts like ''[[ZBlood]]'', but potentially still accept projects such as ''[[BloodCM]]'' (which can not open original maps without conversion).
  
 
===Released===
 
===Released===
*''[[BloodGDX]]'' - a project to port ''Blood'' using the [[:wikipedia:libGDX|libGDX]] framework for [[:wikipedia:Java (programming language)|Java]]. Single and multi-player. Port specific code not released.
+
*''[[Fresh Supply]]'' - an official remaster of the game by [[Night Dive Studios]] using their in-house [[Kex Engine]]. Single and multi-player. Closed source and commercial.
 +
*''[[BloodGDX]]'' - a project to port ''Blood'' using the [[:wikipedia:libGDX|libGDX]] framework for [[:wikipedia:Java (programming language)|Java]]. Single and multi-player. Merged into a broader open source effort called BuildGDX.
 
*''[[NBlood]]'' - a project to port ''Blood'' using [[:wikipedia:Build (game engine)#EDuke32|EDuke32]] as a base. Single and multi-player. Full source code released.
 
*''[[NBlood]]'' - a project to port ''Blood'' using [[:wikipedia:Build (game engine)#EDuke32|EDuke32]] as a base. Single and multi-player. Full source code released.
  
===Active===
+
===Comparison of source ports===
  
==== BLEED ====
+
{| class="wikitable"
{{quote|quotation="The premise of REing a game to a new engine is fundamentally flawed. I have a better idea but it's low priority right now."|attributedTo=[https://forums.duke4.net/topic/848-bloodtc-for-eduke32/page__view__findpost__p__212415 Hendricks266]}}
+
!
 
+
! BloodGDX
{{quote|quotation="BLEED is easily the most ambitious project I have ever undertaken, and I have to reinvent several wheels to make it happen."|attributedTo=[https://forums.duke4.net/topic/8762-bloodbox-proof-of-concept/page__view__findpost__p__252774 Hendricks266]}}
+
! NBlood
 
+
! Fresh Supply
Mentioned in a number of [https://forums.duke4.net/ Duke4 Forums] threads since at least 2014, [https://www.linkedin.com/company/voidpoint-llc/?originalSubdomain=ca Voidpoint] programmer Hendricks266 has his own port for ''Blood'' in the works. Rather than straight up reverse engineering, it is based on [[:wikipedia:Compatibility layer|reading directly]] from the original BLOOD.EXE to avoid any legal issues, while utilizing [[:wikipedia:Build (game engine)#EDuke32|EDuke32]] as a base. It is meant to be part of larger framework that will work with every [[Build]] engine game. He has been tight-lipped when it comes to further details, and it is unclear if [[NBlood]] might change his plans.
+
|-
 
+
| Renderer
{{quote|quotation="My port will sidestep the legal issue entirely, while achieving 100% accuracy from the start--of any version of Blood you choose... Making modifications will be harder but still doable."|attributedTo=[https://forums.duke4.net/topic/9353-what-do-you-think-about-bloodgdx/page__view__findpost__p__283141 Hendricks266]}}
+
| Polymost, Software (dev build only)
 
+
| Polymost, Software
{{quote|quotation="My [Blood port] will work with every BUILD game, so don't worry."|attributedTo=[https://forums.duke4.net/topic/9503-wichaven/page__view__findpost__p__285028 Hendricks266]}}
+
| Kex Engine
 
+
|-
==== BloodBox ====
+
| Palette Emulation
{{quote|quotation="This is a modified version of DosBox v0.74 called BloodBox, that will serve as the platform for a reverse engineering effort of the classic first person shooter Blood. Specifically version 1.21 (The GOG version should work) After loading the main executable of the game, BloodBox injects calls to a special interrupt at the start of certain functions. These functions were then reverse engineered and implemented in BloodBox itself. In this way, instead of having to reverse engineer the entire game, only code useful for speeding up, bug fixing, modding and adding features will have to be considered."|attributedTo=Psycho87}}
+
| No
 
+
| Yes
A modified version of [[:wikipedia:DosBox|DosBox]] v0.74, that will serve as the platform for a reverse engineering effort of the classic first person shooter ''[[Blood]]''. Specifically version 1.21, instead of having to reverse engineer the entire game, only code useful for speeding up, bug fixing, modding and adding features will have to be considered.
+
| Yes
 
+
|-
*'''Links:''' [https://github.com/MarkZ87/BloodBox Project Homepage on GitHub], [https://forums.duke4.net/topic/8762-bloodbox-proof-of-concept/ Duke4 Thread]
+
| MIDI playback
 +
| Gervill (with soundfont support)
 +
| System Midi
 +
OPL3 Emulator
 +
| Fluidsynth with TimGM6mb soundfont
 +
|-
 +
| Custom difficulty settings
 +
| Yes
 +
| No
 +
| Yes
 +
|-
 +
| Controller support
 +
| Yes
 +
| No
 +
| Yes
 +
|-
 +
| FMV format
 +
| Smacker
 +
| Smacker
 +
| OGV (Theora)
 +
|-
 +
| Cryptic Passage support
 +
| Integrated in episode select
 +
| Option on launcher
 +
| Through addon menu
 +
|-
 +
| Operating System support
 +
| Windows 64-bit (using own Java runtine)
 +
Windows 32-bit, Mac and Linux (using system Java runtime)
 +
| Windows 64-bit (official builds),
 +
Windows 32-bit, Mac and Linux (building from source code)
 +
| Windows 64-bit
 +
|-
 +
| Other features
 +
| Crouch Toggle
 +
Texture filtering
 +
Adjustable crosshair size
 +
| Interpolated palette emulation (dev build only)
 +
Optional v1.0x weapon balance toggle (dev build only)
 +
| Crouch toggle, Auto crouching
 +
Ambient Occlusion, Anti-aliasing
 +
|}
  
 
=== Discontinued ===
 
=== Discontinued ===
 
==== Blood 32 ====  
 
==== Blood 32 ====  
The first ambitious port, started in [[Fact Timeline#2005|2005]] and last updated in [[Fact Timeline#2009|2009]] by Justin "icecoldduke" Marshall and also known as WinBlood. It first attempted to port the game assets to the [[Build]] [http://icculus.org/BUILD/ engine port] hosted on [[:wikipedia:Ryan C. Gordon#icculus.org|icculus.org]] before later being restarted from scratch based on [http://www.jonof.id.au/jfduke3d JFDuke3D], releasing a few screamshots and four public alphas.
+
The first ambitious port, started in [[Fact Timeline#2005|2005]] and last updated in [[Fact Timeline#2009|2009]] by Justin "icecoldduke" Marshall, also known as WinBlood. It first attempted to port the game assets to the [[Build]] [http://icculus.org/BUILD/ engine port] hosted on [[:wikipedia:Ryan C. Gordon#icculus.org|icculus.org]] before later being restarted from scratch based on [http://www.jonof.id.au/jfduke3d JFDuke3D], releasing a few screamshots and four public alphas.
  
 
*'''Links:''' [http://sourceforge.net/projects/blood32/ SourceForge] [https://www.youtube.com/watch?v=7DcnyFviito WinBlood video], [https://forums.3drealms.com/vb/archive/index.php/t-10611.html WinBlood on 3D Realms Forums], [http://forums.transfusion-game.com/viewtopic.php?f=9&t=333 WinBlood on Transfusion Forums], [https://crozzbreed23.wixsite.com/icedsw icecoldduke's modern website]
 
*'''Links:''' [http://sourceforge.net/projects/blood32/ SourceForge] [https://www.youtube.com/watch?v=7DcnyFviito WinBlood video], [https://forums.3drealms.com/vb/archive/index.php/t-10611.html WinBlood on 3D Realms Forums], [http://forums.transfusion-game.com/viewtopic.php?f=9&t=333 WinBlood on Transfusion Forums], [https://crozzbreed23.wixsite.com/icedsw icecoldduke's modern website]
Line 84: Line 132:
 
**'''Articles:''' [http://www.phoronix.com/scan.php?page=news_item&px=OTY5NA Phoronix article], [https://www.rockpapershotgun.com/2011/11/18/mods-and-ends-daggerfall-the-xl-engine/ Rock, Paper, Shotgun article], [http://stuffthatinterests.me/articles/play-star-wars-dark-forces-on-windows-7-10-using-darkxl stuffthatinterests.me article]
 
**'''Articles:''' [http://www.phoronix.com/scan.php?page=news_item&px=OTY5NA Phoronix article], [https://www.rockpapershotgun.com/2011/11/18/mods-and-ends-daggerfall-the-xl-engine/ Rock, Paper, Shotgun article], [http://stuffthatinterests.me/articles/play-star-wars-dark-forces-on-windows-7-10-using-darkxl stuffthatinterests.me article]
 
**'''Threads:''' [http://www.the-postmortem.com/forum/viewtopic.php?f=2&t=1736 XL Engine Merger and BloodXL Update], [http://forums.transfusion-game.com/viewtopic.php?f=9&t=2417 Blood Source Port Through DarkXL], [http://www.the-postmortem.com/forum/viewtopic.php?f=10&t=1542 Blood getting what it deserves], [http://www.the-postmortem.com/forum/viewtopic.php?f=17&t=1600 Star Wars Dark LX. A new hope], [http://forums.transfusion-game.com/viewtopic.php?f=9&t=2706&hilit=Dark+XL Blood XL lives again]
 
**'''Threads:''' [http://www.the-postmortem.com/forum/viewtopic.php?f=2&t=1736 XL Engine Merger and BloodXL Update], [http://forums.transfusion-game.com/viewtopic.php?f=9&t=2417 Blood Source Port Through DarkXL], [http://www.the-postmortem.com/forum/viewtopic.php?f=10&t=1542 Blood getting what it deserves], [http://www.the-postmortem.com/forum/viewtopic.php?f=17&t=1600 Star Wars Dark LX. A new hope], [http://forums.transfusion-game.com/viewtopic.php?f=9&t=2706&hilit=Dark+XL Blood XL lives again]
'''Bold text'''
 
  
 
==== Build Sharp ====
 
==== Build Sharp ====
 
{{quote|quotation="BuildSharp is an application, currently in development, that can read from and utilise assets from Build games and be used to generate games via a scripting language. Developed in C# and using XNA (but planning to move to MonoGame when able) The primary focus is on the Build game Blood as it is currently one of the main three Build games (the others being Duke Nukem 3D and Shadow Warrior) that has not had it's source code released. This site is still quite new, so please check out our Facebook page for details of our development so far."|attributedTo=Cosmo}}
 
{{quote|quotation="BuildSharp is an application, currently in development, that can read from and utilise assets from Build games and be used to generate games via a scripting language. Developed in C# and using XNA (but planning to move to MonoGame when able) The primary focus is on the Build game Blood as it is currently one of the main three Build games (the others being Duke Nukem 3D and Shadow Warrior) that has not had it's source code released. This site is still quite new, so please check out our Facebook page for details of our development so far."|attributedTo=Cosmo}}
  
A project aiming to reverse engineer ''Blood'' onto the [[:wikipedia:.NET Framework|.NET Framework]]; first announced [[Fact Time Line#2004|May 22, 2014]] and last updated on [[Fact Timeline#2015|June 13, 2015]]. Announced on Facebook as in "hibernation" as of [[Fact Timeline#2017|August 14, 2017]].
+
A project aiming to reverse engineer ''Blood'' onto the [[:wikipedia:.NET Framework|.NET Framework]]; first announced [[Fact Time Line#2004|May 22, 2014]] and last updated on [[Fact Timeline#2015|June 13, 2015]]. Announced on Facebook as in "hibernation" as of [[Fact Timeline#2017|August 14, 2017]] and the webpages for it are no longer online.
  
*'''Links:''' [https://sites.google.com/site/buildsharp/ Google Code], [https://www.facebook.com/BuildSharp/ Facebook], [https://www.youtube.com/channel/UCetz_fDiJ87iql1DKEjPbIQ YouTube]
+
*'''Links:''' [https://sites.google.com/site/buildsharp/ Google Code] ([https://web.archive.org/web/20160804074943/https://sites.google.com/site/buildsharp/ archive]), [https://www.facebook.com/BuildSharp/ Facebook], [https://www.youtube.com/channel/UCetz_fDiJ87iql1DKEjPbIQ YouTube]
 
**'''Threads:''' [http://forums.transfusion-game.com/viewtopic.php?f=9&t=2624 Transfusion Forums], [http://www.the-postmortem.com/forum/viewtopic.php?f=2&t=2372 Postmortem Forums], [https://forums.duke4.net/topic/8164-buildsharp-blood-may-come-back/ Duke4 Thread]
 
**'''Threads:''' [http://forums.transfusion-game.com/viewtopic.php?f=9&t=2624 Transfusion Forums], [http://www.the-postmortem.com/forum/viewtopic.php?f=2&t=2372 Postmortem Forums], [https://forums.duke4.net/topic/8164-buildsharp-blood-may-come-back/ Duke4 Thread]
  
Line 97: Line 144:
 
{{quote|quotation="EX moves away from BUILD in terms of mechanics and basically reproduces the original game in a modernized engine, which means floating point math instead of fixed point and timing/speed/movement etc has to be scaled down to match the original game, so theres bound to be some minor flaws here and there. Though despite of that, EX will have a more dedicated focus on modding and customization... The way I handle it is anything regarding to damage values, health, etc is reverse engineered, because that's the most important things that needs to be done right. Anything regarding to player weapon swaying and object momentum speeds (such as how far you throw dynamite, or how much an explosion knocks you back) is entirely empirical, though I do rely on the assembly as a guide. AI behavior is 100% identical and taken directly from the disassembly. Though I do add a bit more to it so it can be easily customized by modders. The only thing I am concerned about is how the enemy aims at the player. Build engine games uses a fixed-point slope value while Kex uses atan2/angle pitch to determine the aim.... which results in the AI being a tad more accurate even while the player crouching. I have some ideas to emulate the fixed point slope behavior though. Everything else (renderer, collision, resource management, etc) is done from scratch."|attributedTo=Kaiser}}
 
{{quote|quotation="EX moves away from BUILD in terms of mechanics and basically reproduces the original game in a modernized engine, which means floating point math instead of fixed point and timing/speed/movement etc has to be scaled down to match the original game, so theres bound to be some minor flaws here and there. Though despite of that, EX will have a more dedicated focus on modding and customization... The way I handle it is anything regarding to damage values, health, etc is reverse engineered, because that's the most important things that needs to be done right. Anything regarding to player weapon swaying and object momentum speeds (such as how far you throw dynamite, or how much an explosion knocks you back) is entirely empirical, though I do rely on the assembly as a guide. AI behavior is 100% identical and taken directly from the disassembly. Though I do add a bit more to it so it can be easily customized by modders. The only thing I am concerned about is how the enemy aims at the player. Build engine games uses a fixed-point slope value while Kex uses atan2/angle pitch to determine the aim.... which results in the AI being a tad more accurate even while the player crouching. I have some ideas to emulate the fixed point slope behavior though. Everything else (renderer, collision, resource management, etc) is done from scratch."|attributedTo=Kaiser}}
  
A project "under tight wraps" started [[Blood III#Proposed Remakes|sometime after]] [[Fact Time Line#2015|May 2015]] by [https://doomwiki.org/wiki/Samuel_Villarreal_(Kaiser) Samuel "Kaiser" Villarreal] based on his prior [[Kex Engine]] ports. Superseded now that it has been announced that Kaiser is working on an [[Future of Blood#Remaster Announced|official remaster]] of the game using this work as a base for [[Night Dive Studios]] under license from [[Atari]] (although Kaiser himself still refers to the project as Blood EX).
+
A project that was "under tight wraps", started [[Future of Blood#Proposed Remakes|sometime after]] [[Fact Timeline#2015|May 2015]] by [https://doomwiki.org/wiki/Samuel_Villarreal_(Kaiser) Samuel "Kaiser" Villarreal] based on his prior [[Kex Engine]] ports. Superseded once it was announced that Kaiser was working on an official remaster of the game using this work as a base. This was developed by [[Night Dive Studios]] under license from [[Atari]] and was released under the final title of ''[[Blood: Fresh Supply]]'' on [[Fact Timeline#2019|May 9, 2019]] (although Kaiser himself has still referred to the project as Blood EX during its development).
  
 
*'''Links:''' [https://desuarchive.org/vr/thread/3481104 Desuarchive thread], [https://warosu.org/vr/thread/3130152 Warosu thread], [http://forums.transfusion-game.com/viewtopic.php?f=9&t=2767 Transfusion Forums], [https://forums.duke4.net/topic/9425-update-on-blood-ex/ Duke4 Thread], [https://puu.sh/wLppI/1ad307aef8.mp4 Footage] ([https://www.youtube.com/watch?v=CVy41CDQrVY YouTube])
 
*'''Links:''' [https://desuarchive.org/vr/thread/3481104 Desuarchive thread], [https://warosu.org/vr/thread/3130152 Warosu thread], [http://forums.transfusion-game.com/viewtopic.php?f=9&t=2767 Transfusion Forums], [https://forums.duke4.net/topic/9425-update-on-blood-ex/ Duke4 Thread], [https://puu.sh/wLppI/1ad307aef8.mp4 Footage] ([https://www.youtube.com/watch?v=CVy41CDQrVY YouTube])
 +
 +
==== BLEED ====
 +
{{quote|quotation="The premise of REing a game to a new engine is fundamentally flawed. I have a better idea but it's low priority right now."|attributedTo=[https://forums.duke4.net/topic/848-bloodtc-for-eduke32/page__view__findpost__p__212415 Hendricks266]}}
 +
 +
{{quote|quotation="BLEED is easily the most ambitious project I have ever undertaken, and I have to reinvent several wheels to make it happen."|attributedTo=[https://forums.duke4.net/topic/8762-bloodbox-proof-of-concept/page__view__findpost__p__252774 Hendricks266]}}
 +
 +
Mentioned in a number of [[Duke4]] forum threads since at least 2014, [https://www.linkedin.com/company/voidpoint-llc/?originalSubdomain=ca Voidpoint] programmer and [[Duke4]] administrator Evan "Hendricks266" Ramos has had his own port for ''Blood'' in the works. Rather than straight up reverse engineering, it would be based on [[:wikipedia:Compatibility layer|reading directly]] from the original BLOOD.EXE to avoid any legal issues, while utilizing [[:wikipedia:Build (game engine)#EDuke32|EDuke32]] as a base. It was meant to be part of a larger framework that will work with every [[Build]] engine game. He has been tight-lipped when it comes to further details, and stated on [[Fact Timeline#2019|August 12, 2019]] that [[NBlood]] has diminished its usefulness and would probably scale back the project's scope.
 +
 +
<div class="mw-collapsible mw-collapsed" "toccolours" style="right; margin-right: 1em; width: 95%;">
 +
{{quote|quotation="My port will sidestep the legal issue entirely, while achieving 100% accuracy from the start--of any version of Blood you choose... Making modifications will be harder but still doable."|attributedTo=[https://forums.duke4.net/topic/9353-what-do-you-think-about-bloodgdx/page__view__findpost__p__283141 Hendricks266]}}
 +
 +
{{quote|quotation="My [Blood port] will work with every BUILD game, so don't worry."|attributedTo=[https://forums.duke4.net/topic/9503-wichaven/page__view__findpost__p__285028 Hendricks266]}}
 +
 +
{{quote|quotation="With NBlood around I haven't felt the need to think about it much and it's no longer as important a goal for me. If I work on it, it will be mostly as a research hobby because NBlood serves players' needs that much better."|attributedTo=[https://forums.duke4.net/topic/10574-blood-fresh-supply/page__view__findpost__p__327182 Hendricks266]}}
 +
 +
{{quote|quotation="In the absence of being a copyright puritan it's vastly more efficient in terms of development effort to render source code as output instead of engineering a runtime interface and also expecting to patch it to meet modern user needs such as high-precision mouse aiming. I would still like to write a decompilation tool as a complement to NY00123 and Nuke.YKT's efforts, similar to what I did for the 64 and TM CON files."|attributedTo=[https://forums.duke4.net/topic/10574-blood-fresh-supply/page__view__findpost__p__328634 Hendricks266]}}
 +
 +
</div>
 +
 +
==== BloodBox ====
 +
{{quote|quotation="This is a modified version of DosBox v0.74 called BloodBox, that will serve as the platform for a reverse engineering effort of the classic first person shooter Blood. Specifically version 1.21 (The GOG version should work) After loading the main executable of the game, BloodBox injects calls to a special interrupt at the start of certain functions. These functions were then reverse engineered and implemented in BloodBox itself. In this way, instead of having to reverse engineer the entire game, only code useful for speeding up, bug fixing, modding and adding features will have to be considered."|attributedTo=Psycho87}}
 +
 +
A modified version of [[:wikipedia:DosBox|DosBox]] v0.74, that would serve as the platform for a reverse engineering effort of the classic first person shooter ''[[Blood]]''. Specifically version 1.21, instead of having to reverse engineer the entire game, only code useful for speeding up, bug fixing, modding and adding features would have to be considered. Not updated upon since [[Fact Timeline#2016|July 1, 2016]].
 +
 +
*'''Links:''' [https://github.com/MarkZ87/BloodBox Project Homepage] on [[:wikipedia:GitHub|GitHub]], [https://forums.duke4.net/topic/8762-bloodbox-proof-of-concept/ Thread] - [[Duke4]]
  
 
== Attempted Recreations ==
 
== Attempted Recreations ==
''See Also: [[List of Mods#Other]]''
+
''See Also: [[List of Mods]]''
  
Most of these take the form of [[:wikipedia:Total conversion|total conversions]] for other games, sometimes with attempts to imitate the ''Blood'' game logic as well as its aesthetics. Others are better classified as original [[:wikipedia:Fangame|fangames]]. As with all fan made projects using copyrighted assets, there are questions as to their legality; ''[[Transfusion]]'' received a quitclaim license however. As opposed to source ports, our working definition here is anything that rips assets out of ''Blood'' and re-constitutes them on their own engine and systems, rather than working with the original files and formats, or simply uses its own original assets.
+
Most of these take the form of [[:wikipedia:Total conversion|total conversions]] for other games, sometimes with attempts to imitate the ''Blood'' game logic as well as its aesthetics. Others are better classified as original [[:wikipedia:Fangame|fangames]]. As with all fan made projects using copyrighted assets, there are questions as to their legality; ''[[Transfusion]]'' received a quitclaim license however. As opposed to source ports, our working definition here is anything that rips assets out of ''Blood'' and outright re-constitutes them on their own engine and systems, rather than working with the original files and formats, or simply uses its own original assets. Curiously, the official ''[[Fresh Supply]]'' is a bit of both, supporting the original maps and files but still being re-constituted onto the [[Kex Engine]]. Under our working definition however, we still count it as a source port.
  
 
=== Released ===
 
=== Released ===
Line 112: Line 184:
 
*''[[ZBlood]]'' - modified and enhanced version of ''Blood TC'' which runs on the [[ZDoom]] engine as well as [[wikipedia:List of Doom source ports#ZDoom and derivatives|its derivatives]]. Single, cooperative, and multi-player.
 
*''[[ZBlood]]'' - modified and enhanced version of ''Blood TC'' which runs on the [[ZDoom]] engine as well as [[wikipedia:List of Doom source ports#ZDoom and derivatives|its derivatives]]. Single, cooperative, and multi-player.
 
**Continued in [[ZBlood#Project Forks|project forks]] such as ''[[ZBlood+]]'', ''[[ZBloodX]]'' and most recently ''[[ZBloody Hell]]''.
 
**Continued in [[ZBlood#Project Forks|project forks]] such as ''[[ZBlood+]]'', ''[[ZBloodX]]'' and most recently ''[[ZBloody Hell]]''.
 +
*''[[Q3 Bloodbath]]'' - a project that converts [[Bloodbath]] maps from ''Blood'' and ''[[Blood II]]'' to ''[[:wikipedia:Quake III Arena|Quake III Arena]]''.
 
*''[[Blood Reborn]]'' - an attempted recreation of ''Blood'' built using [[:wikipedia:GameMaker: Studio|Game Maker 7]]. Single-player.
 
*''[[Blood Reborn]]'' - an attempted recreation of ''Blood'' built using [[:wikipedia:GameMaker: Studio|Game Maker 7]]. Single-player.
 +
*''[[Blood: Refilled]]'' - a mod for the [[:wikipedia:Gamebryo|Gamebryo]] based ''[[:wikipedia:Fallout: New Vegas|Fallout: New Vegas]]'' which recreates areas from the original game. Single-player.
 
*''[[BloodCM]]'' - a ''Blood'' total conversion for [[:wikipedia:Duke Nukem 3D#Source ports|EDuke32]]. Currently considered to be the most accurate recreation. Single-player only.
 
*''[[BloodCM]]'' - a ''Blood'' total conversion for [[:wikipedia:Duke Nukem 3D#Source ports|EDuke32]]. Currently considered to be the most accurate recreation. Single-player only.
  

Revision as of 04:50, 9 September 2019

List of attempted Blood source port and recreation projects.

Gallery

Source Ports

Recreations

2.5D

3D

Attempted Source Ports

The source code to Blood was never released; however, source ports have been attempted using released Build engine, Duke Nukem 3D, Shadow Warrior, or the leaked Blood Alpha code, as well as original programming using reverse engineering. Based on original or already free software source code and only reading the original game's assets, these projects are considered more clear legally speaking (although issues can still persist).

The exact definition of what is a source port is debatable however, in regards to the lack of official source code, and methods of reverse engineering will vary. Our working definition here is any project that works with the game's native files and formats. As such, they should also be able to run custom content such as Bloody Pulp Fiction or Death Wish. Some alternative definitions in the community require at least the use of original Build engine code, which would exclude releases such as the official Fresh Supply alike to efforts like ZBlood, but potentially still accept projects such as BloodCM (which can not open original maps without conversion).

Released

  • Fresh Supply - an official remaster of the game by Night Dive Studios using their in-house Kex Engine. Single and multi-player. Closed source and commercial.
  • BloodGDX - a project to port Blood using the libGDX framework for Java. Single and multi-player. Merged into a broader open source effort called BuildGDX.
  • NBlood - a project to port Blood using EDuke32 as a base. Single and multi-player. Full source code released.

Comparison of source ports

BloodGDX NBlood Fresh Supply
Renderer Polymost, Software (dev build only) Polymost, Software Kex Engine
Palette Emulation No Yes Yes
MIDI playback Gervill (with soundfont support) System Midi

OPL3 Emulator

Fluidsynth with TimGM6mb soundfont
Custom difficulty settings Yes No Yes
Controller support Yes No Yes
FMV format Smacker Smacker OGV (Theora)
Cryptic Passage support Integrated in episode select Option on launcher Through addon menu
Operating System support Windows 64-bit (using own Java runtine)

Windows 32-bit, Mac and Linux (using system Java runtime)

Windows 64-bit (official builds),

Windows 32-bit, Mac and Linux (building from source code)

Windows 64-bit
Other features Crouch Toggle

Texture filtering Adjustable crosshair size

Interpolated palette emulation (dev build only)

Optional v1.0x weapon balance toggle (dev build only)

Crouch toggle, Auto crouching

Ambient Occlusion, Anti-aliasing

Discontinued

Blood 32

The first ambitious port, started in 2005 and last updated in 2009 by Justin "icecoldduke" Marshall, also known as WinBlood. It first attempted to port the game assets to the Build engine port hosted on icculus.org before later being restarted from scratch based on JFDuke3D, releasing a few screamshots and four public alphas.

OpenBlud

Registered by Jacob Moorman on April 12, 2010 and last updated on April 11, 2013, OpenBlud attempted to create a basis with the original Shadow Warrior source code while also porting to 32-bit Windows systems.

BloodXL

"The XL Engine is an engine that runs the 'XL Games', which are enhanced remakes/ports* of the classic games. Essentially they are remakes in the spirit of a port, or to put it another way, they emulate the original games and then provide optional enhanced features on top in order to improve playability and visuals. All these games will be able to use the 'Pure Renderer', which is a software renderer that can support the original 8 bit rendering and resolutions. Basically this means that you can play the games as they original looked and played or play in higher resolutions and color depths with a variety of enhancements. You choose how close to the original you want the games to be."
--ModDB

The XL Engine, a reversed engineered port of the Jedi Engine used in Star Wars: Dark Forces and Outlaws, was attempting Blood support since first announced on December 22, 2010. Pursuant to this, support for the original Shadow Warrior had also been prototyped. No news has been posted in years, and the website is no longer online.

Build Sharp

"BuildSharp is an application, currently in development, that can read from and utilise assets from Build games and be used to generate games via a scripting language. Developed in C# and using XNA (but planning to move to MonoGame when able) The primary focus is on the Build game Blood as it is currently one of the main three Build games (the others being Duke Nukem 3D and Shadow Warrior) that has not had it's source code released. This site is still quite new, so please check out our Facebook page for details of our development so far."
--Cosmo

A project aiming to reverse engineer Blood onto the .NET Framework; first announced May 22, 2014 and last updated on June 13, 2015. Announced on Facebook as in "hibernation" as of August 14, 2017 and the webpages for it are no longer online.

Blood EX

"EX moves away from BUILD in terms of mechanics and basically reproduces the original game in a modernized engine, which means floating point math instead of fixed point and timing/speed/movement etc has to be scaled down to match the original game, so theres bound to be some minor flaws here and there. Though despite of that, EX will have a more dedicated focus on modding and customization... The way I handle it is anything regarding to damage values, health, etc is reverse engineered, because that's the most important things that needs to be done right. Anything regarding to player weapon swaying and object momentum speeds (such as how far you throw dynamite, or how much an explosion knocks you back) is entirely empirical, though I do rely on the assembly as a guide. AI behavior is 100% identical and taken directly from the disassembly. Though I do add a bit more to it so it can be easily customized by modders. The only thing I am concerned about is how the enemy aims at the player. Build engine games uses a fixed-point slope value while Kex uses atan2/angle pitch to determine the aim.... which results in the AI being a tad more accurate even while the player crouching. I have some ideas to emulate the fixed point slope behavior though. Everything else (renderer, collision, resource management, etc) is done from scratch."
--Kaiser

A project that was "under tight wraps", started sometime after May 2015 by Samuel "Kaiser" Villarreal based on his prior Kex Engine ports. Superseded once it was announced that Kaiser was working on an official remaster of the game using this work as a base. This was developed by Night Dive Studios under license from Atari and was released under the final title of Blood: Fresh Supply on May 9, 2019 (although Kaiser himself has still referred to the project as Blood EX during its development).

BLEED

"The premise of REing a game to a new engine is fundamentally flawed. I have a better idea but it's low priority right now."
--Hendricks266

"BLEED is easily the most ambitious project I have ever undertaken, and I have to reinvent several wheels to make it happen."
--Hendricks266

Mentioned in a number of Duke4 forum threads since at least 2014, Voidpoint programmer and Duke4 administrator Evan "Hendricks266" Ramos has had his own port for Blood in the works. Rather than straight up reverse engineering, it would be based on reading directly from the original BLOOD.EXE to avoid any legal issues, while utilizing EDuke32 as a base. It was meant to be part of a larger framework that will work with every Build engine game. He has been tight-lipped when it comes to further details, and stated on August 12, 2019 that NBlood has diminished its usefulness and would probably scale back the project's scope.

"My port will sidestep the legal issue entirely, while achieving 100% accuracy from the start--of any version of Blood you choose... Making modifications will be harder but still doable."
--Hendricks266

"My [Blood port] will work with every BUILD game, so don't worry."
--Hendricks266

"With NBlood around I haven't felt the need to think about it much and it's no longer as important a goal for me. If I work on it, it will be mostly as a research hobby because NBlood serves players' needs that much better."
--Hendricks266

"In the absence of being a copyright puritan it's vastly more efficient in terms of development effort to render source code as output instead of engineering a runtime interface and also expecting to patch it to meet modern user needs such as high-precision mouse aiming. I would still like to write a decompilation tool as a complement to NY00123 and Nuke.YKT's efforts, similar to what I did for the 64 and TM CON files."
--Hendricks266

BloodBox

"This is a modified version of DosBox v0.74 called BloodBox, that will serve as the platform for a reverse engineering effort of the classic first person shooter Blood. Specifically version 1.21 (The GOG version should work) After loading the main executable of the game, BloodBox injects calls to a special interrupt at the start of certain functions. These functions were then reverse engineered and implemented in BloodBox itself. In this way, instead of having to reverse engineer the entire game, only code useful for speeding up, bug fixing, modding and adding features will have to be considered."
--Psycho87

A modified version of DosBox v0.74, that would serve as the platform for a reverse engineering effort of the classic first person shooter Blood. Specifically version 1.21, instead of having to reverse engineer the entire game, only code useful for speeding up, bug fixing, modding and adding features would have to be considered. Not updated upon since July 1, 2016.

Attempted Recreations

See Also: List of Mods

Most of these take the form of total conversions for other games, sometimes with attempts to imitate the Blood game logic as well as its aesthetics. Others are better classified as original fangames. As with all fan made projects using copyrighted assets, there are questions as to their legality; Transfusion received a quitclaim license however. As opposed to source ports, our working definition here is anything that rips assets out of Blood and outright re-constitutes them on their own engine and systems, rather than working with the original files and formats, or simply uses its own original assets. Curiously, the official Fresh Supply is a bit of both, supporting the original maps and files but still being re-constituted onto the Kex Engine. Under our working definition however, we still count it as a source port.

Released

Active

Blood Evolution

A project to replicate Blood atop of Unreal Engine 4 by D!rt, an Irish 3D artist who worked on the 2013 remake of Rise of the Triad and the earlier Blood Source project. The first news post is from January 7, 2015. Once seemingly being merged into the Blood Fan Remake on Unity 3D, a video of the current state of the project was released on March 15, 2018.

Blood Fan Remake

A project to recreate Blood atop of the Unity 3D engine first announced on April 23, 2017 by OrdinaryFpsFan789. Currently hoping to complete a full remake of E1M1: Cradle to Grave. A demo was released on May 22, 2017. D!rt, formerly of both Blood Evolution and Blood Source, is now listed as a modeller.

Discontinued

Blood Source

A project to port Blood to Valve Corporation's Source Engine by The Chosen; superseded by Blood Evolution. The first news post was released on February 24, 2009 and the last on May 27, 2012.

Blood Reimagined

"My team and I are very proud to show you our take on Blood, a PC game from the 90’s. Blood was a First Person Shooter, we imagined it as a twin-stick shooter centered around the use of TNT. We also completely redid the visuals with a semi-stylized art direction. We really wanted to capture the tone of the original game, which is over-the-top, satiric and packed with horror clichés. We also seized the opportunity to explore the destruction capabilities of Unreal 4!"
--Announcement

A student project at the Université du Québec à Chicoutimi arts department circa late 2015 through early 2016 "re-imagined" Blood as an isometric third-person shooter atop of Unreal Engine 4 focusing on twin-stick dynamite usage. Completed as part of a course, and no doubt also due to copyright concerns, it was never properly released beyond images, screamshots, and video such as on artist Gabriel Fleury's portfolio. It has also been called the Blood Fan Reboot.

"This was only a student project : a short playable sequence done in 7 weeks for an assignment. We never intended it as a full game. We won't release anything more than this video!"
--Violane

Cradle to Grave

Similar to the later finished BloodCM, Cradle to Grave (or C2G) was another project to add Blood enemies, objects, and styles to EDuke32. It was worked on by Daedalus, Dimebog, Daedolon and others from The Postmortem going under the title of Bunch of Butchers. First announced on June 23, 2008, it received its last news post on March 23, 2011 and has remained dormant.

Bloodmod To Duke

An early attempt at doing a Blood total conversion for Duke Nukem 3D, announced on August 17, 2005 by TheChosenOne.

Plasma-Plus

An attempt to succeed Transfusion using the X-Real engine derived from id Tech 3.

Dead Reckoning

A project by Justin "icecoldduke" Marshall, creator of WinBlood, attempted to port Blood assets onto id Tech 3, announced on June 2, 2009.

See Also

External Links