The 2011 release is now referred to as a beta release- read the mod's "news" to see why. Download the beta in the mod's "downloads" section:

There is no fixed release date for the final version. I am alone when it comes to mapping and that takes time. I am working very hard at this so, God willing, it will be done. I do not want to compromise the quality and quantity of the maps.

The basic premise will still be the same in the final version:
The air is foul and corporate fascism reigns in the not too distant future. Somewhere in the North American Union you are Myo Hyori, an 18 year-old girl of Korean descent who has had enough. Oh and you can start fires with your mind. This makes your corporate owners very nervous...

  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
Post article RSS Articles

Hello everybody!

As you might have seen in our recent teaser, the upcoming, overhauled version of G String will feature some proper spaceship action! The player will go into battle with allies to take on enemy vessels of various sizes and perform other tasks. If you didn't see the recent teaser yet, check it out:

We have been working on this for a while already and are now confident enough to present it as a definitive part of the game. Now, let's have a closer look at what's in store:


When designing the gameplay for the space battles, we prioritized making it quick and easy to grasp, because there is neither time nor place for any kind of tutorial or lengthy in-game instructions.

ricepod float 300

The first challenge we faced was designing the spaceship controls. We decided it would be most optimal to only use the key bindings that the player already knows. That includes moving the ship via W A S D in a similar manner as in firstperson mode and using the sprint button to boost the ship's speed. Concluding this, the longitudinal (roll) axis will be locked, which also makes sense storywise: you will be seeing the Earth right beneath you the whole time and the ship's stabilizers will align you to it. Aside from this, the primary weapons can be fired with the left mouse button and an autoaim system will additionally assist you while shooting enemies.

Since the Source engine isn't capable of any kind of open worlds by default, the whole world is scaled down by a factor of one-sixteenth to allow building a larger environment. But ultimately, the player still needs to stay within a predefined playable area. We solved this issue by simply tying its requirement into the story. Should the player still leave the area, they will either die or turn back automatically - something that we still need to finalize.


Overall a sturdy and outworn look is prevalent during the space scenes to match the rest of the mod. This includes the interior model of the spaceship and the ship's UI, which flickers a little and has a noise effect.

To make the battle scenes more appropriate for gameplay, we color coded a few crucial elements. The target UI highlights targets in red, yellow and green which represent enemies, neutrals and friendlies respectively. The laser colors from turrets and spaceships match the general color schemes of their models: enemies fire blue lasers while friendlies fire orange ones.

space combat


The ship's UI is made of holograms, which are based on a custom system we have programmed on top of VGUI. Source already offers a facility to render UI in world space (DrawPanelIn3DSpace in IMatSystemSurface for those of you who know their way around the SDK), but frankly it's not too appealing to look at or to use. Our solution renders everything based on dynamic meshes or models. VGUI is still used internally to draw text to a texture atlas which can then be drawn with a dynamic mesh as well.

space hud

Cascaded Shadow Mapping

We implemented a custom solution for cascaded shadow mapping just for the space environment. While most of the mod fares better with blurred, soft shadows due to the polluted air that scatters the light, the space scenes work well with sharper shadows. CSM makes it possible to have a higher quality shadow within the interior model of the spaceship while also allowing for shadows farther away.

shadow interior

Our CSM renders all cascades to a depth texture atlas, using the built-in flashlight depth texture rendering code to profit from all internal engine optimizations. The common world shaders, like LightmappedGeneric and VertexLitGeneric, will then sample one of those cascades to apply the shadow. Selecting a cascade is based on modifying the UVs prior to performing the sampling like in the following example:

// Check whether the projected UVs are outside of bounds of the first cascade.
// 0.0 will sample the far shadow map, 1.0 the close shadow map.
float blendCascades = step(shadowMapUVs.x, 0.49) * step(0.01, shadowMapUVs.x) *
  step(shadowMapUVs.y, 0.99) * step(0.01, shadowMapUVs.y);

// Select the cascade UVs.
shadowMapUVs.xy = lerp(shadowMapUVs.xy * cascadedStepData.x + cascadedStepData.yz, shadowMapUVs.xy,

This makes things a lot simpler and more optimized. You only need to worry about a single texture for all shadow maps and you don't need to use branching in the shader, which could potentially lead to way more lookup instructions in the compiled shader code.

While lightmaps won't be used in space, we still implemented support for them. While applying a lightmap, you cannot tell anymore which lights have been aggregated to a specific texture color, like you can easily do when rendering vertex or pixel lights. However, this is very much necessary to render a shadow that belongs to a specific light, like the directional sun light, because you only want to mask that specific light source. A more optimal solution would be producing a mask in VRAD, which could optimally be stored in the alpha channel of the lightmap, but this is simply not possible to implement in the 2013 SDK without access to the engine code.

shadow exterior

Instead, we are approximating the mask by calculating the light deviation from the expected ambient and light colors that were set in Hammer. If there is no deviation, the light will be fully masked, but the more the texture colors deviate, the less shadow will be applied. In the example above, you can see how the orange spotlight is still clearly visible in the shadowed area with this trick.


Since we are planning to support VR in G String, we also made the space environment compatible using an Oculus Rift. While the 2013 SDK already offers a certain support for VR by default, there were still a few special things to consider in our case.

The crosshair hologram, for example, moves with your head in VR and is aligned to the object you are currently aiming at to prevent a cross-eyed appearance. We also project the crosshair back onto the hologram aim panel sphere and align it accordingly, which feels a lot more natural than aligning it to a quad.

There are also a few neat extras to discover in VR when looking around the ship. You can see the jet engines brighten up when you accelerate the ship or the thruster effects at the sides of the ship when you turn or strafe.

If you are interested in checking out our code, you can take a look at our GitHub repository:

We are excited about finishing this mod and hope you will enjoy it when it comes out!

G String BETA Released

G String BETA Released

News 21 comments

This was the G String BETA release on DEC 19, 2011. Back then this release was called simply G String- later as development of a newer version became...

MOTY Editors Choice 2012

MOTY Editors Choice 2012

Feature 58 comments

Welcome to the Editors Choice award for Mod of the Year 2012.

Add file RSS Files
Icon fix for Steam

Icon fix for Steam

Sprites 6 comments

The icon of the game is too big for Steam and overlaps other games in your library. I resized it to 16x16 so that it's the same size than the others...

G-String Addon - No Black Bars With Crosshair

G-String Addon - No Black Bars With Crosshair

Prefabs 1 comment

This removes that pesky design aspect, and allows use to actually aim. See description for more customisation options.

G String beta

G String beta

Demo 39 comments

The air is foul and corporate fascism reigns in the not too distant future. Somewhere in the North American Union you are Myo Hyori, an 18 year-old girl...

Comments  (0 - 10 of 1,161)

can you release G-String v2 as demo. i wanted to see the progress of the details and gameplay.

Reply Good karma Bad karma+2 votes
Eyaura Creator

Not a bad idea. Maybe... how about a few randomly picked maps so the story isn't revealed but you get a sense of the gameplay in different chapters? Maybe five maps. That's more than enough to see where to game is going and if you like it... ;)

What sucks is that even if I release a five map demo you'll have to download all the assets used in all of the maps because I can't cherry pick the ones that are used in those specific five maps. So it's a big download. About 5 gigs without the maps. Just the assets.

Reply Good karma+2 votes

I think you should at least remove all of the voice lines that are story related, otherwise people could just look around in the files and get to know parts of the story anyway.

By the way, will the final version still have the soldiers and cops of the beta?

Reply Good karma Bad karma+1 vote
Eyaura Creator

Yeah, but better models. I think I will remove the dialog wavs and subtitle files. ;)

Reply Good karma+3 votes

That's a good idea. I imagine this will also lower the file size a fair chunk!

Reply Good karma Bad karma+1 vote
Eyaura Creator

Sorry no updates this month as I am super busy. I want to archive the first two acts this month by hook or by crook.

Reply Good karma+2 votes

eyaura you making good mod but to dark and sometimes we cant see without flashlıght can u make it better ?

Reply Good karma Bad karma+2 votes
Eyaura Creator

Yes, it will be brighter overall.

Reply Good karma+2 votes

This is my favourite mod!
by the way where's any updates?

Reply Good karma Bad karma+3 votes

Hello i installed the beta mod. Ive installed the source SDK 2006 also but the game crashes and wont run. It says - Platform Error: module failed to initialize. If you know how to fix this

Reply Good karma Bad karma+1 vote
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Follow Report Profile
Half-Life 2
Send Message
Release date
Mod watch
Community Rating



388 votes submitted.

You Say


Ratings closed.

Highest Rated (13 agree) 8/10

At first let me tell you that I review the 1.0 version here. This mod is one single masterpiece. It takes a place now in my hall of fame hl2 mod list in my head, I wish I could give it a 10, I really wish, but sadly there are some flaws which makes it impossible todo so for me. The good things: This mod does have a straight out amazing atmosphere. Everything fits, the level design is impressive to revolutioning. You walk over house roofs then down to the canals to get back into a house to cross…

Jan 15 2012 by SolidFake

Embed Buttons
Link to G String by selecting a button and using the embed code provided more...
G String
Last Update
1,631 members