-
Black Mesa Official Trailer released!
Posted on 30 Nov 2008 by cman2k The wait was just long enough for all kinds of crazy bets to be made, but time to cash those in, because the Black Mesa Trailer is good to go and up for viewing! You can download it from a few different places, or watch it on youtube. We hope this gives you a small taste of what the game will be like, and we hope it was worth the extra wait!
We also forgot to include some great Power Up shots by Kim Dahlgren, so be sure and check those out on our media page! This officially concludes our media release, but not future updates! And as stated in the trailer, the days this mod stays in development are truly numbered. Hang tight, because at long last, it is coming.
-
A celebration of the last decade!
Posted on 19 Nov 2008 by cman2k Hey there everyone!
The nineteenth of November might not be a date that many people think is significant, but it's of special importance to us. On this day ten years ago, Half-Life was unleashed on the world. In celebration, we've got lots of new media!
2008 has been a very eventful year for us. Making a 12+ hour game is a monumental task, but we're still powering ahead with development and making great progress. Our programmers have been hard at work overhauling and expanding the AI, and lots of our NPCs have been brought to life by our talented voice actors. Levels and chapters continue to be worked on and fine tuned, with large sections strung together and playable. We've also begun tackling the final content of the game, some of the most creative and technically challenging stuff we've had to do yet. And team members across the board continue to push the envelope and redefine what's possible in a Source game.
While known by some hardcore Black Mesa fans, we'd like to officially state that we've upgraded to the Orange Box build of the Source engine. We're also excited to announce that we've dropped Counter-Strike: Source as a requirement for Black Mesa, and from now on, the only thing you'll need to play the mod is a Steam account with any Source engine game installed! Black Mesa is now running completely off of our own content and base Source shared content, and we felt the vastly increased user base more then justified creating all the extra assets needed to make this switch.
We're all enjoying the new tools and technologies the Orange Box offers us, and are making heavy use of lots of exciting features. These include advanced particle effects, jigglebones, cinematic physics, combined maps, self-shadowing bump maps, dynamic shadows, and an entirely new graphical feature we're calling Procedural Terrain Displacement, showcased in some of the Surface Tension screenshots and wallpapers.
Our most recent round of community projects has ended and winners have been selected. More so than ever before there was an overwhelming response with hundreds and hundreds of entries! Make sure you check out our favorites! We'd like to thank all who participated, and encourage everyone to get involved in the new ones as well.
In other news, we've also recently parted ways with our long-time host GamerNode, who have graciously hosted both the website and discussion forums for the last two years. It was an amicable split between both parties, and we wish them all the best in the future.
And last but not least, the team worked very hard to get a trailer out along with all the other media. But as we've always done when faced with the choice, we decided to take a few extra days to polish it to a mirror shine before releasing it to the community. Be sure and look for that in the days ahead!
**PS: Happy Birthday to my daughter Anastazia, who turns five today! She has half the life of Half-life. How awesome is that?
-
More than "Cut and Paste"
Posted on 22 Sep 2008 by BlackStampHello, this is Ben Truman. I'd like to explain my role as writer/designer on the Black Mesa team .
I received this opportunity by attending the Art Institute of Pittsburgh for Video Game Art & Design, where I met many of the team members. When I first came aboard, I had a lot of wild ideas concerning how I would make Black Mesa the perfect link between Half-Life, Opposing Force, Blue-Shift, Decay and Half-Life 2. I wanted to throw in Dr. Breen, Dr. Green, Dr. Mossman, everything and everyone. The further I went along with these ideas, the more it seemed that I was hijacking the original story rather than improving upon it. I went back and retooled (or removed) those scripts after realizing that this wouldn't be true to the computer game that everybody remembered so fondly.
As for a lot of gamers, Half-Life's form of storytelling was the games biggest appeal. The original scripted sequences have all been preserved, but enhanced to utilize the tools that the Source Engine provides for producing dramatic scenes. Since the generic security guard and scientists have evolved into their respective roles as Barney and Dr. Kleiner in HL2, I've tried to maintain the essence of those personas. Kevin Sisk and Mike Hillard have tapped further into these characters and brought tons of personality to every scene. No longer will NPCs stand around waiting for the player to arrive. They will be involved with their surroundings and establish their individual context in the game world. They interact with their environments, realistically express a wide range of emotions and talk with each other and the player while following him around the facility.
There will be additional scenes, though. The height of the development experience for myself has been creating new scripted sequences within the original narrative framework. I've included an audio-demo from one of my favorite chapters, Office Complex. Once a script is finalized and the scene is recorded, Kevin will assemble a radio-play so that we can get an advanced preview to help visualize how the scene will pan out. You may recognize where this scripted sequence originally takes place. The player comes across a security guard beckoning for help behind a locked gate. Upon approaching, both come across a frightening discovery:
It took a while for me to find my groove, but it allowed my style to mature immensely. Hearing the scripts voiced, edited and implemented has been extremely rewarding as each character within the facility has been brought to life. The new and extended scenes also fit organically into the story. They serve to increase the excitement and drama without jarring the sense of nostalgia that makes this mod so great. Each sequence stays true to form, true to character, and - most importantly - true to Half-Life. -
Contemplative Programming
Posted on 06 Aug 2008 by JamesKane Howdy, today you're in for a treat as you get to take a small peak inside the programming world of Black Mesa.
Lets start off then, shall we?
The source sdk even with its "What the Fracks" is a thing of beauty which allows modders and programmers to achieve quite remarkable things. Hell, it even comes packed with plenty of helper classes, functions, and interfaces which allow us programmers to create nifty gadgets in remarkable time. The only thing stopping or pausing your development is finding those hidden tools needed to achieve your goal. Of course, its best to know what your looking for so you can search reliably. This is fine and dandy if you know or have some idea of game programming, but if your new to it and you just dive right in then prepare to cringe. The sdk was/is built in the mind of those who understand gaming programming and its components ( yes, this includes the graphics, game logic, and fun math! ).
A case in point happened to yours truly a few days ago where I had to search deep inside the sdk for something which was vital for the project. It started off when we decided to rework the cockroaches so we can have more then just 4-5 on the map. The roach was composed of an entity, and entities are quite expensive quite a few of them are used. Also, only a certain amount of entities can exisit before the engine alerts you with "WTF you went over the entity limit" then explodes. We want a crap load on a map at a given time, so the roach had to be a non entity class which would be cpu cheap. I ended up wrighting a new cockroach prototype and it worked fine and dandy. The roaches would climb all over the world and was rather cool. However, they where bit more expensive then I would have liked tem to be. The roaches would fire off a ray or "traceline" too often, but was needed to perfect their movement so they could climb on any surface.
I was not too pleased with how the roaches functioned internally and knew I could squeeze more numbers with optimization. After thinking it over and looking over a few of draft papers I was pleased with an new idea. Basically I would have the cockroaches precheck the surrounding area with rays or "tracelines" and get a list of planes near by. For each plane found the code would lookup the edges of plane using Point-Plane Distance formula. The roaches would then precede to one of the given points or edges. Only when the roaches are at that given point will they update with those evil expensive "tracelines" instead of almost every other frame. "Voila", I said!
The logic sounded good, but oh how would I code the logic of finding the edge of a plane? Well the sdk provides the "traceline", so I can find the end point or point which hit the brush. However, I needed a way to get a hold of the surfaces of the brush for the trick to work. I went on a scavenger hunt in the sdk. Alas, my good friend Paul finds the very interfaces which I needed...behold the almighty functions and interfaces:
andIengineTrace.h
With these bad boys I can achieve what I dreamed and have a crap load of roaches with only a small expense...just a quick note that if you notice that GetBrushInfo(...) returns a list of Vector4Ds. This includes the normal vector and the distance from the origin. I don't expect many to understand why this is without preexisting knowledge of plane/math logic. However, lets just say it lets us find the edge of the plane given a point where all the surface points close to the test point are calculated. In the picture below, the middle bottom circle is where the roach hit the brush, and the other three spots are points located on the other surfaces of the brush. Thus, I'm able to find the edges on the brush or surface, and scream with joy! Oh, and the texture you see or white dots are TEST/Development Textures which will be replaced in the final game. (Yes, the white dots are representing silly roaches)
Oh the shrill of having a ton of these guys running about on the map in an overwhelming number should bring plenty of fans screaming "ew!" or "cool!".
( The roaches seem to flicker when recording with fraps )
Oh, you can step on them and shoot them....
The sdk can provide some useful features to help get the job done while other times not so much. As in the case with the flying npcs in the sdk (specifically the scanner) where valve wrote code which deviated away from their usual organized ways. You see, most of the hl2 NPCS use a class called AiNavigator to, as the name implies, navigate through the world by selected nav paths. Now there is code inside the navigator to handle flying AI and valve uses a part of it for the scanners. However, valve decided to just code in how the scanners fly in the NPC classes itself rather then let the AINavigator handle all of it. A little odd, though I can understand for the reason of having each flying NPC handle its own way of flying a bit easier then having to mess with the navigator. Valve's basefly class works great, but considering we want our flying AI to be pretty bad ass, more interesting, and not to mention more cleaner code, we needed a revision...
So instead of using valves flying code, we wrote a our own class to handle the movement for the Alien Controller, Ichthyosaur, Leach, Osprey, Apache, & so on. With an all new fly class we where able to control how we wanted each of these npcs to move through the air and attack. You will find a video below demonstrating the work in progress controller movement with his attacks disabled. As you can see, the controller will be constantly moving around the player to keep the player on his toes. Also, you can note how his hands, feet, and body react toward the direction of flight and speed - he also blends his angles (slightly buggy, but remember its work in progress....). Anyway, the sdk is great with somethings, and other things its a load of blop. Though its what we are using and so we will push it to its limits and carry on kicking ass....
Please note that you may see his hands twitch every now and then, this is due to the controller trying to attack.
Since his attack fails ( as I disabled his attacks for the video ) he twitches.
-
sneak peek time whaaaaat
Posted on 17 Jun 2008 by cman2k we're working our butts off. thats right, butts.
WHAT IS
BLACK MESA
Black Mesa is a complete re-creation of the game Half-Life, utilizing the Source engine. Black Mesa will let you re-visit the world that started the Half-Life continuum. Learn more here.
SPEAK UP
Speak about all things Half-Life at our community forums.

