Youngblood: Search and Destroy is a cancelled action/Role-Playing game published by GT Interactive Software and developed by Realtime Associates around 1997-1998, for the PC and the Playstation. It was based on the comic-book of the same name.
The game featured in various magazines from the Summer of 1997. Electronic Gaming Monthly #97 wrote:
Based on the popular comic book, Youngblood uses the power of the Playstation to give gamers a title that looks similar to Crusader: No Remorse. (…) Control one of the main characters from Youngblood in an isometric view. (…) Pick one character to control or form a group of two to four.
Game Informer #52 told us:
While most would think this title should be strictly action, GT is filling the game with less action and more RPG elements. (…) At times, the game does resemble Project Overkill, but otherwise, you’ll be controlling a party of characters, and the battles will be turn-based.
GT Interactive’s former producer Kurt Busch explained in the issue 31 of Next Generation that they initially planned to make the title a First-Person RPG, before trying a 3rd person action game, somewhat similar to Tomb Raider, and finally taking an approach much more similar to Diablo:
Initially, I felt very strongly we should do this as a first-person RPG (…). But the more we thought about it, the more we realized it would be very difficult to do it because you want to show off the characters, and in first-person we couldn’t work out the right set of views so players could see who was beside them. In the end, it just wasn’t very satisfying. (…) The problem with doing a Tomb Raider-style, third-person game, was that the main attraction of the license was not in any single character, but in the interaction of the team, and at the time trying to do it with six people on the screen all running around just wasn’t appetizing – the interface was just very, very difficult to design. I think the best way I can describe this is as a Playstation version of Diablo, except you control more than one character. You have a team, and you build your team up.
On Playstation Museum, we can read more details:
Get Ready To Rage!Enter a radical gaming evolution blending a full-on assault of real-time combat action with elements of strategic role-playing. Badrock, Diehard, Riptide, Battlestone, Chapel… Youngblood takes on the most grotesque gauntlet of abominations a DNA experiment ever spewed out. Guide 11 heroes on a series of complex, real-time missions from secret labs to the depths of hell itself! Counter Giger. Find the Drachma codex. Oh yeah… and save the world!Features:
- Guide the Youngblood team through 11 real-time missions that combine pulse-pounding action with strategic role-playing elements.
- Battle through dense jungles, parched deserts, and smoldering volcanoes to the very pits of hell as mutant enemies grow more bizarre and violent.
- You must destroy them before the evil Giger and the traitor, Dr. Leviticus, finds the Drachma Codex, the secret to global domination.
- Players can build, train, and hone the skills of the team members.
- Take direct control of any hero or command an entire squadron.
- Employ R&D to create powerful, new super weapons.
- 2-player cooperative option, real-time combat action, and more.
Still according to Playstation Museum, it seems the game was cancelled due to major technical issues, as late former programmer Eric Peterson wrote:
There were three things that really killed it. One was the AI, and one was memory. They had a fairly cute system for pathfinding, but they ran out of memory and made the pathfinding map one-fourth the resolution of the displayed landscape, botching it. Basically no AI movement worked, after that. It would have been a huge task to carve it out and put in something that worked, and I was steeling myself up for it when, mercifully, the end came. Fixing the AI would have meant fixing the memory management, which was huge and hideous. For example, the audio system used 1/8 of the PlayStation’s memory just for its data structure — that’s with no audio samples loaded.Another, more technical problem, was the cavalier attitude that was taken with handling global variables in the code. All the character code modules were just copies of each other with minor changes, so global variables were declared many times. The worst side effect of this was when global pointers came into play — the very first example I looked at had a global pointer declared six times with four different data types, which was then referenced (extern-ed) in twelve more modules in six different types. The poor compiler didn’t know which one you were talking about, so it just used (I believe) the last one processed as it worked its way through a build. This means that any of the declared variables could be the one used in any particular build of that code module, with no way to tell which it was. General instability and hard-to-find bugs were the result. Trying to chase down the thousands of global variable collisions were what took all the time.Remember, this monstrosity was nine times the size of the biggest thing I’d ever worked on, Mechwarrior 2. The sheer amount of code made any major surgery a monumentous undertaking. The way it was written made practically everything major surgery.
Youngblood was something like 2 years in development when the lead programmer quit. I was brought in to salvage the project.
I designed and wrote most of MechWarrior 2. Youngblood, a 2D tiler, was nine times the size and had six times as many modules. There was one spot where there was an “#ifdef Playstation”, followed by a bunch of code, and then an “#ifdef Macintosh” (ditto), and an “#ifdef Saturn” thrown in there somewhere, and SIX THOUSAND LINES DOWNSTREAM was the “#endif” with no comment.
It probably took months to do, and none of it was even getting compiled.
I did a quick couple of tests. At least ninety percent of the comments were wrong, because all the modules were just copied from one another. He’d write some horrible buggy thing, and then (this is not an exaggeration) make 27 copies of it, one for each character.
When I first tried to compile it, MSDev gave 3500 warnings.
Youngblood originally took a minute and a half to load to the title screen, and would leak several tens of megabytes. Pro Tip: don’t null a pointer before you free it. Especially in 27 different modules.
I think Eric already addressed this issue in his assessment. Like he said it ran out of memory in the pathfinding for A.I. and the resolution of the environment maps suffered for it.