Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

Blood - From the workshop of Kevin Kilstrom, Plus mods/maps/launchers thread

Astral Rag

Arcane
Joined
Feb 1, 2012
Messages
7,771
pfIoC4O.png


1FDD25DD70035E8EC76FD545C51E3B592EA72EDC


1. Added GUI lancher with version check

2. Fixed some crashes

3. Fixed life essense and akimbo item sounds

4. Added time delay in statistics screen

5. All savefiles and config file now stored in user.home folder

6. You can put usermaps in "MAPS" subfolder

7. Userepisodes detecting in subfolders now (ini file and map files must be in same folder)

1. Voxels support

2. Dynamic fire is workng now (tile = 2342)

3. Added cutscenes (without sounds yet)

4. Palette >= 128 crash fix

5. Added ingamecrash (empty map or player not in a sector)

6. Cerberus AiSetTarget() fix

7. Bat's death sound fix

8. Pink color in non-transparent textures fix

9. Invalid textover command doesn't crash the game

10. Added load screen before loadgame

11. Slope tilting added

12. Player turnAround fix

13. Added akimbo tesla

14. Alpha maps can now be launched

15. Pushable statues fix

16. Dynamite alt-fire sound fixed

17. Some other fixes
:salute:
 
Joined
Mar 30, 2012
Messages
7,045
Location
Elevator Of Love
Divinity: Original Sin 2 Steve gets a Kidney but I don't even get a tag.
The newest version of GDX is now v0.771 (19.07.2017). The widescreen support works for me, and the sound finally hasn't got any glitches.

Soundtrack from alpha build of Blood. Shame, that some of those tracks didn't made to full game.

 
Self-Ejected

Drog Black Tooth

Self-Ejected
Joined
Feb 20, 2008
Messages
2,636
Just played thru the whole first episode with BloodGDX, it's pretty much perfect, everything's working, voxels, 3D floors, room over room, etc. The only thing missing is the CD/OGG audio, but it will probably be added in the next update. MIDI works perfectly. Proper widescreen with AR correction. Save files are the same format as the original, you can swap 'em back and forth if you wish. There's even an option for texture filtering, if you're gay.

It's happening, I guess?

 
Last edited:
Self-Ejected

Drog Black Tooth

Self-Ejected
Joined
Feb 20, 2008
Messages
2,636
Turns out the leaked Blood alpha source code/file dump (that this BloodGDX project is using as reference) also contains some personal e-mails from that era. GEORGE.TXT is of particular interest. Project Manager's thoughts on his interaction with Ken Silverman (the boy wonder creator of the Build engine) are a bit... too honest so to speak. :lol:

GEORGE.TXT
George:

I just got off the phone with Nick, who told me he had passed my previous
message about Ken to you. I hope that you understand that I was really just
venting at Nick, and I didn't intend that my message be passed on to you,
Ken, or his father. There is still, however, a very significant problem we
(Q Studios) have in dealing with Ken.

Every update Ken makes to his engine turns out to be a major tribulation for
us. He regularly makes changes that break our code without any advance
warning. He consistently ignores our requests for fixes or suggestions for
design strategy. Nick is constantly on me to "Call him. Just get on the
phone and talk to him," but to be honest, talking to Ken on the phone is
pretty much near the bottom of the list of things I'd like to do with my
life.

The problem is, he's just so completely unresponsive. I'll ask him a
question, and nine out of ten times I'll either get silence or "I don't know"
as a response. I know he's highly intelligent, but so are a lot of people I
know, and I can TALK to THEM. Okay, so perhaps his personality is a bit
different, but he still needs to work WITH us, not AGAINST us.

We've had a resource and memory manager in Blood since last year, and it's
been working well and is very solid code at this point in time. To get it
working back in December though, I had to completely replace parts of the
engine, no thanks to Ken. A well designed system would have been built on
the ground up from a good memory manager, or at the very least with hooks
laid in so it could be developed later. To get our virtual memory system to
work with Ken's engine, I had to spend weeks reverse engineering Ken's code,
documenting variables, prototyping functions -- all things that Ken himself
should have done or provided.

Now in June, he hacks in his "group file" system, and says we have to use it.
In one sense he's right -- he's hard coded the thing into his engine, and it's
broken Blood unless I can figure out which parts of the engine I need to
replace. By the time we're done with Blood, we probably won't have any of
Ken's engine left... Perhaps you'll want to reconsider the royalties that
you are paying him.

A few months ago, Ken made a change to the engine that allowed each tile to
have its own origin -- a reference point by which it could be positioned.
This change was a good one, but there were some problems with the
implementation. When the bit was turned on to enable sprites to be centered
on their origin, animations bounced, and sprites appeared at the wrong
position.

It turns out the solution was one of procedure -- by setting the origin at
the base for sprites that are supposed to be on the floor, everything appears
correctly. Unfortunately, setting the origin for several thousand tiles
using Ken's EDITART tool was just a bit too cumbersome for us, so I spent a
few days developing a tool that would allow simple tweaking of the tile
origins, among other things. This tool is integrated with our new sequence
editor, which will be used to create and edit all the actor animations
(walking, attack, death, etc.)

Everything with this system was going fine until we discovered that Ken has
some engine flaws in dealing with sprites that use origin based centering.
The clipmove() function doesn't work, and neither does hitscan(). These two
functions are pretty much essential to doing anything with the engine. I
could rewrite them, of course, but that would be a few days to weeks out of
our schedule, depending on how many more bugs and design problems crawl out
of the woodwork.

We had waited a few months before switching to the new origin based
centering, so I was quite surprised to find such fundamental problems with
it. We called up Ken and told him about it, and he said he didn't think
anyone was using it, but he really didn't know. We asked him to fix it.

Tonight I called up Ken because of the group file problems, and because we
still don't have a fix for the clipmove() or hitscan() problems. Ken he
wasn't going to fix it and we should go back to using the old centering mode.
This is totally and completely unacceptable. We've already invested time and
effort (need I say money?) into using something, and we're not about to waste
more regressing.

Ken understands algorithms, and he understands graphics. What he doesn't get
is how to design SYSTEMS. Everything he does to the engine is a piecemeal
enhancement to something that should have been designed right from the
beginning. The memory system is a poignant example of this. It is a hack,
like most of his code, and not very robust. From what I've disassembled of
the group file code (trying to figure out a way to eliminate or replace it),
it too demonstrates plentiful opportunities for crashing the system --
pointers being freed without validation, files being closed without
verifying the handle, etc.

Our resource and memory manager are quite superior to Ken's (no bragging),
so to abandon our body of code would be a step in the wrong direction. When
I mentioned to him that our resource manager used an LRU list to handle
purging of resources, he said that he didn't understand how they worked and
he didn't want to undertake something that complicated. It isn't that
complex; it's just outside the realm of Ken's experience.

I usually end my phone conversations with Ken with something like the
following: "Ken, is there anything I can do, anything I can provide to you,
that would help you make these fixes or changes?" The answer is invariably
"No." After we hang up, I usually bang my head on the desk for about ten
minutes. I've tried to explain to Nick that this is why I don't like to call
Ken, but I think he already knows.

Tonight I tried to explain to Ken what a library file is. I told him how
linkers work, and how they resolve symbol name when producing an executable.
I tried to impress on him the benefits of "code granularity" -- breaking a
system up into as many small discrete modules as possible so that the linker
can efficiently pack only used code into the executable. I informed him
about "dead code", and why there was so much of his in Blood. I don't think
I made any impression at all.

George, I want you to understand one thing. When I ask Ken to make a fix or
enhancement, it is most surely something we absolutely need for Blood. I
wouldn't force myself to make the phone otherwise. However, everything that
I ask for would benefit not only Blood, but EVERY OTHER build project. I've
spent enough time as a Project Manager for commercial programming tools that
I know what makes a good API, and I know what makes a system extensible. The
things I've been asking for are "hooks" so we can implement our own features,
not have him do them for us.

I sometimes wonder, though, if I'm going against the flow. Perhaps Ken added
his cache system in response to other teams request for a memory manager?
Maybe the group file code was asked for by the Duke Nukem team? These fears
usually turn out to be unfounded, since other teams report similar problems
as a result of Ken's "updates."

I realize that most of the problems I've been describing with Ken are highly
historical in nature, and there's no way to change the past. What can and
must be done though is to make Ken more responsive to our needs. He needs to
work WITH us, not against us. I don't know why he is so combative, but I can
guess -- ego. He probably feels about his code the way a lot of programmers
do: it's okay to criticize your own code, but for anyone else to do so is
blasphemy. I used to be that way until I realized that a lot of the
suggestions people were making to me were actually right.
 

Unkillable Cat

LEST WE FORGET
Patron
Joined
May 13, 2009
Messages
27,089
Codex 2014 Make the Codex Great Again! Grab the Codex by the pussy
Sounds like Ken Silverman is front-line autistic, but I guess one has to factor in that he was only 21 years old at the time... right?
 
Self-Ejected

Drog Black Tooth

Self-Ejected
Joined
Feb 20, 2008
Messages
2,636
Sounds like Ken Silverman is front-line autistic, but I guess one has to factor in that he was only 21 years old at the time... right?
GEORGE.TXT is dated 6/23/1995, so Ken was 20 actually 19, his birth date being 11/1/1975.

Here's a good video about Ken Silverman and his Build engine.
 
Last edited:

Black Plague

Arbiter
Joined
Sep 3, 2016
Messages
806
"He needs to work WITH us, not against us."

Poor goys, he was just expressing his nature.
 
Joined
Mar 30, 2012
Messages
7,045
Location
Elevator Of Love
Divinity: Original Sin 2 Steve gets a Kidney but I don't even get a tag.
After the picture that was on his twitter in 2016 there is no indication about any new developments regarding remake / reboot / etc.

As for the owning Blood, the rights are split:

3D Realms sold Monolith the intellectual property (IP) so 3D Realms could make Shadow Warrior. Monolith sold the publishing rights, but not the IP for Blood and its sequel to GT Interactive. GTI was later acquired by Infogrames, which has since been renamed to Atari. Monolith itself was acquired by Warner Bros. Entertainment, which owns the Blood trademark and intellectual property.
 

lightbane

Arcane
Joined
Dec 27, 2008
Messages
10,158
It seems to be a constant: Classic engineer developer? If Yes = Autist, with no exceptions.
 

Ash

Arcane
Joined
Oct 16, 2015
Messages
6,230
Regardless of anyone's thoughts, the project has been disbanded according to the moddb page. Redundant vid is redundant.
 

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom