Programmers update #3


Programmer's Update Header

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?

Project Stealth Editor
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).

PSStaticMesh

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.

PSStaticMesh Properties

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)!

In Editor Game

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):

Underneath the EMF

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


Damn script-kiddies…

Thanks to some script-kiddies being active in the comment section, I was forced to add a banning system to the blog.

From now on, every suspicious activity like trying to spam the comment section (which won’t work, since Akismet will get you anyway) or trying to SQL inject the database with whatever you think is funny (eg. Admin account) will get you BANNED!

The poor bastards that got caught will be publicly humiliated with their IP shown on this page: http://projectstealth.lennardf1989.com/banned/

They will also be presented with this page when they try to access the site:
http://projectstealth.lennardf1989.com/bancheck/banned.htm

So, some word of advice, don’t try anything strange, because I will get you no matter what.


Yet another upgrade…

Sorry guys, my host is setting up a huge community website and he needs yet another PHP upgrade and a MySQL upgrade for that. Within a few minutes/hours this site may be inaccessible, jerky, messed up, whatever you can think up.

Sorry for the inconvenience, I’ll try to get it back up as soon as possible.


Big blog update

The blog has been completely converted to PHP5 usage (except the mail notifier, it’s dead for some reason, probaly have to make my own plugin for it, but not now :D).

Anyway, as you might notice, the blog now has a new theme and header (the theme is based upon the header to make it suit). I hope you guys like it.


Downtime

Most of you guys probably didn’t noticed, but both the blog and the forum were offline for some time. They are back up now as you can see, sorry for any inconvenience caused.


Yay! The blog survived the upgrade after all!

Hurray! After a lot of hassle I finally fixed the new PHP installment (5.05) together with my host. For some reason the new settings were totally off the old ones, so it had to be fixed, as some of you might have noticed yesterday and today.

At first it wouldn’t want to show any errors at all, after having that fixed with my .htaccess I got some strange errors within the installed plugins. But hey, everything is fixed now and up and running.

Expect a new update soon, and don’t forget to check out our new tick tock additions on the forum: http://www.projectstealthgame.com/.


Project Stealth Merger: a recap

Dear Project Stealth fans,

Exactly 1 week ago it was April the first, also known as April Fools Day. As part of a good relation with the community, we thought it would be nice to have something to joke around with. Of course, it would need to be somehow related to Project Stealth. It all started March 12nd. Yours truly, as PR, made a post about April Fools, in which the following ingenious plan was made: around March 23rd, we’d disallow any negative talk about game distributors, 3 days before 1st of April, a new Tick Tock thread would have been made, and then…. at la moment supreme, the April Fools page would show up.

Of course, things didn’t really go as planned, but more later. I asked Bionic-Blob to make some cool renders, with the rocket-launcher from a modeling-archive. Posing the Spy would take some time. In the meantime, I made a text and passed it to Slowhand, our writer, who completely rewrote it. I had to edit a few parts later to make it more PS-ish, but it’s generally his text. Of course, the fresh announcement of the new rule wasn’t being taken well, which I expected. However, some overreacted, like Vega ( ;) ) and it wasn’t long until we were compared to the Nazis and Ubisoft. As some members pointed out, the new rule was completely nonsense and not logical, because there was hardly an offense in the first place. Others apparently didn’t see these wise words, but continued being angry, which was funny for a while, but turned a bit more serious every day. This amount of hostility wasn’t like I expected, so I switched to Damage Control(tm). There was some effect on some fans, but others kept being upset. This probably had to do with me editing/deleting a lot of posts, in order to ‘enforce’ the rule. Note that I planned to remove the thread from the very beginning. Editing was funny, but I felt bad for some of you. I could see some be totally hysterical over a deleted post.

By then the posing of the Spy was done, and I had made a small HTML page. I played around with borders and colors and the images of the new renders. Bionic-Blob made his own version of the text at the final day, but a quick poll showed Slowhand’s version was preferred, so it was there to stay. A few hours before it would be 1st of April (UTC +1, my local time), I edited the forum’s index-file, to check for a so-called session. If it wasn’t there, it would set the session and then automatically relay your browser to the merger-file. A refresh of the original index would see the session and so the normal forum would be visible again. Precisely at 0:00, the new code was in effect. After verifying everything went OK, I waited 30 minutes to enjoy the fireworks. It was nice.


Page updates

The following pages have been updated with new information:
- Developers
- Milestones; Since we finished one, new milestone added.
- Removed the Downloads page, since it ain’t something for a blog. Please visit the ModDB page for some screenshots, check the Presentation section of the forum or check the unofficial Photobucket album, which has a collection of all things found on the forum.

You can access the remaing pages by clicking the right links found underneath the header.


Programmers Update #2

Well, it’s been a while ago, but I think we’ve done enough to tell something again.

We did some household within the programmers department and managed to make a list with “chores”.

At first, we can officially announce we have networked games (AKA Multiplayer games). We have both the Spy and the Mercenary in-game with some animations. We can walk around together (coop walking, yay) and chat with each other and switch teams on-the-fly (testing feature).

Second, we also managed to get the visions to work in-game, exactly as we wanted it, it’s also very FAAAAST, split-second really. Best of all, they also work in Multiplayer games.

Third, we have done some stuff on GE’s to be used in the editor (our version will be called EE, which stands for Environmental Event). We are still not completely sure if the ledge grabbing will be pre-determined (CT-like) or if it will be free-roaming (no limitations, you can grab a ledge anywhere possible).

Fourth, there is also being worked on the first basics of the Story mode.

Last but not least, the gadgets are coming along fine as well (including deployable gadgets).

As you can see, we are making quite some progress. Though, we could use a little help with animating, seriously, WE NEED ANIMATIONS!

Anyway, I hope to see you again with the next update.


Small site update

I added a FAQ page to the blog with a link to an other page which describes how to enable/disable the e-mail post notifications.

I also modified the e-mail template a little, but I won’t get into details on that. Furthermore, I optimized the e-mail sending even more. Though, I don’t know if it’s a bug or my e-mail adress acting weird, but it may happen e-mails get ’stuck’ and won’t be send.

If you notice a new entry on the blog but you didn’t receive an e-mail on it (even though you registered to them), please report it.

Thank you and have a good day.