|

Introduction
As I promised, here is a huge programmers update with a lot of stuff I am going to show you. Before I start, I have to let you know that the following things (same counts for previous updates) are all WIP (Work-In-Progress), so don’t get back on me when something changed in a later update.
You might have heard that I have been on vacation in Italy, and damn I was bored… I was so bored, I took a laptop and completely restarted coding Project Stealth, with a good ending! We (the team) now have more than before I went to Italy. So, today I am going to show you some pictures of the special optimized Project Stealth Editor, I will talk about Environmental Events (EE) once more and I will give you a quick sneak peak behind the scenes.
Are you ready?

The Project Stealth Editor is actually what makes Project Stealth Project Stealth. It is used to create maps, to make visions work, actually making almost everything visual possible. It has a powerful material editor (for textures and such), it can make in-game menus, HUD’s, it even let’s us handle most of the sound.
Luckily, I and the rest of the programmer’s team don’t have to customize that. What we do have to customize is the interaction between the maps and the game itself. No matter how hard we would program, you won’t be able to see visions without this interaction, since the map basically has to “tell” the game what should be visible in a vision and what not. Same counts for EE’s, without the map telling it to the game, you won’t be able to hang on a ledge or even do something “simple” as climbing a pole, a fence or even interact with an hackable laptop. As you might understand, doing this interaction thoroughly is very important.
Sub: Visions
The first type of interaction that was needed in the maps were visions. I guess you saw MR.MIC’s great EMF video (If not, go watch it now: ModDB Link), that video is a great example of a successful implemented piece of interaction. Let me tell you how the visions work and how the maps help with that.
Basically, at the moment you toggle on a vision a material (remember the powerful Material Editor I mentioned?) gets deawn on the screen, only allowing a certain color to shine through it. In our case, we took the neutral and not very common magenta color (This is magenta). So, to make something visible in say EMF, that “something” has to be magenta colored. Still there? Now, you might be able to imagine how odd it will look if the levels in Project Stealth would be magenta colored all the time. So, we had to make the editor tell us when and when not to make an object magenta colored.
For this, we invented the PSStaticMesh (click to enlarge).

The PSStaticMesh acts as any other StaticMesh, yet, it allows us to add some extra entries to it’s properties. Say we want this PSStaticMesh (a stairs) to light up in EMF, we add a magenta colored material to the list and save the map.

Next we would want to see how it looks. To prevent the mappers from starting and closing the editor every time they want to test something in-game, we linked Project Stealth itself into the editor, thus clicking “Play from here” from the right-click menu allows us to immediately see the effect. Voilà, the PSStaticMesh just told the game the stairs should light up in EMF (click to enlarge)!
‘
To let you experience what I just told you, I’ll ”untoggle” the drawn material. The following happens when you toggle the EMF on (for example, click to enlarge):

The nicest thing of this approach, is that we can add certain effects to the magenta colored material from above. Won’t you like the spy even more when he had some details on his body when EMF is activated? It also allows you to make certain parts of an object (eg. a halfburning stairs) more “hot” than other parts. Also here the Material Editor will help you big time!
Easy stuff right? Everyone can do it, even you! Feeling itchy to start mapping? Then start the Unreal Editor and simply start mapping, you won’t need anything from our side yet (besides instructions on how to convert it to a Project Stealth map when Project Stealth is released). Try to use as much StaticMeshes as possible, since this will making them show up in a vision easier at the end.
Sub: Environmental Events
The second type of interaction that was needed in the maps were Environmental Events. What the heck are EE’s again I hear you think? EE’s are interactions that tell the game what can be used as a pole, ledge, hack-panel or whatever. Depending on the type and settings you set in the properties of an EE, it will tell the game how it should act.
To make this kind of interaction possible, we made a special type of volume called “PSVolume”. It works and acts like any other volume the editor knows, though, it comes with a manual. Say I make a 512 units high vertical pole with a decimeter of 16 units, place a square EE over it with a size of 17×17x512 units, the game can calculate exactly where the beginning and the end of a pole is. Though, as you might guess, these calculations are only correct when the height matches the pole it’s height and the volume is centered on the object (or see it the other way around, the pole is exactly in the middle of the volume). This is a lot of work to do and we never said it was fun to make maps, but it’s something that has to be done to make things like a vertical pole work.
Though, to cheer you mappers up a little (and the other future Project Stealth players aswell ofcourse), I can announce that we have a pre-alpha Vertical Pole climb working. It has some nice features as:
- Detecting whether you wish to use the EE or not (eg. you accidentally hit the volume or bumped off it)
- Rotating around the pole as the pole’s placement allows, so say the pole is in the middle of a room with no obstacles, you could rotate 360 degrees around it.
- Some other tricks I’ll keep to myself now.
The sneak peak
If the above announcement ain’t enough yet, I can tell you something about current in-game things aswell. Note, this requires some imagination from your side.
Well, to start Project Stealth, we ofcourse use our own executable, no hassle with command-line parameters whatsoever, the executable will handle it for you.
After a short loading time which we could spend looking at a Project Stealth splash (20 seconds), we can actually see a start of a menu, it has the following options:
- Create server
- Join game
- Quit
I’ll just click “Create server’. Hey, that looks like a pre-alpha lobby system, you can actually choose your team and start the server. Seems MR.MIC and MulleDK13 joined in aswell! I start the server and I can keep chatting with MR.MIC and MulleDK13 while the maps loads. The loading is over and I actually start in the team I selected in the lobby…
Last words
I hope you enjoyed this programmers update and that it gave you an idea on how the game is coming along on the coding front.
Lennard Fonteijn - Project Stealth Programmer
|