Half-Life 2 inspired scene


I’ve been spending this Sunday on being inspired by Project Borealis (Half-Life 3’ish sort of thing), and it made me want to make my own version of something from Half-Life 2 - In this case, the train station at the start. From there it would be a nice start to begin re-modelling City17 (Lots of lovely architecture).

The lighting in the scene isn’t baked, it’s realtime voxel-based global illumination, most of the stuff have been modelled/textured/animated/coded within a few hours on Armory v0.4 (I’ve a few scripts there, that I haven’t bothered updating to v.0.5 yet due to Blender API changes) on Blender 2.8. Relies only on logic nodes, no haxe code. - Eventhough I’m not fully satisfied with the result, it does give a sense of amazement thinking about how quickly you can go from concept to finish with Eevee and Armory.

I’ll be posting more here as I get more time to work on it, and I’ll upload scenes and assets as I progress. (At the same rate, that Valve releases episodes.)


Very once work man, Thanks for sharing.


What is the frame rate like? It seems jittery in the video and I can’t tell if that’s from the screen recording software or optimization problems.


@Naxela , looks really good. What are your system specs ?


That is awesome! :smiley: Did you do this all yourself from scratch!?


It’s an awesome showcase to show how fast a scene can be created and gameplay added without import/Export 3D models.

Tips to make it more dynamic :

  • some water and particles for water fountain
  • some particles and heat distortion for the flying robot;
  • slow moving clouds shadows (fake system)
  • small containers here and there showing there is people activity

The lighting is too bright everywhere, also you need to wait for rendering bug to be fixed ( https://github.com/armory3d/armory/issues/989 ) , wait for reflection probes also, it should look lot better.

Did you tried baked ? This could have been interesting to compare.
(I’m not sure Voxel is good or accurate)



The framerate depends a bit on the settings, but with VXGI @ 2 bounces and 128 resolution for a 64 grid + 1.5 SS it runs at around 50-60. I get about 20-30 FPS with a 256 resolution and 1.5 supersampling, which I thought would be nice enough for a youtube video that runs at about 30 frames anyway, but I hadn’t taken into account that the screenrecorder would slash my framerate too. For game settings in general, a 64 resolution and no supersampling looks fine though and goes to 60 fps just fine.


I run it on an i5 with GTX1060, so an ok machine, but could easily be better.


Yeah, everything was modelled from scratch, except for the little combine man in the pictures. Textures from either CC0Textures, Texturehaven or Megascans.


Thanks, I’ll put those ideas on the todo list. I had planned on more activity, but ran out of time. As for the lighting, it was actually deliberate as I kinda liked it (although the bloom was perhaps a bit too much). The brightness is perhaps more exaggerated in the second picture, as I kinda think it added depth in the first, and the third it was clamped.

A little tip for some users, that probably don’t know this - The scene exposure can be adjusted from the cycles film-exposure value:


As for baking the lighting - While it might have made the quality somewhat better, having static baked lighting doesn’t allow for dynamic day/night cycles, which is another thing on my to do list. Voxel GI with relight allows me to do that.


What resolution it is running ? 1080 p ?

Floor cracks and papers garbage decals to break texture repetition ?

Static looks better about shadows, static will will run faster on old hardware, but it is useless in Armory because dynamic objects can’t get their lighting change following lightmaps static lights (something Unity can do).

Well … i want to see more about that project when you’ll add some dynamic things and perhaps change the bloom and lighting :slightly_smiling_face:
Or wait for reflection probes and Armory pbr (textures roughness and metallic) to work and it should look lot lot better.

A fast time lapse video showcasing all is made from scratch in Blender (Armory) would be the best showcase about the real Armory workflow power.
Armory is unmatched because no 3D engine has all Blender features all in one combined in a plugin (sculpt, model, bake, paint, UV, rig, animate, modifiers, blender plugins).

This is very inspiring, Armory needs more scenes with dynamic things; does not need to be a game to be a great showcase.


Nice. Im big fan of HL series!


great results! here are some tips:
add some peds walking around: would definatley change the point of attention, but would demonstrate skin shading for the first time in armory’s history…
try adding character physics


Would it be possible you release this first level demo sources ? Or it is private project ?
I think this could become a good interior games benchmark for Armory users to tweak graphics and test how it runs , or suggest some graphics or performance improvements.

Does Armory have features to do culling when there is many rooms connected ?


It’s just running on 720p, mainly because it messes up my multi-monitor setup with the screen recorder on 1080p (I’ve some background apps that decides to plop up when I do).

I’ll add that to my todo list :+1:

I’m sure reflection probes, and the new features in Armory v0.5 and v0.6 will open up for a lot more awesomeness.

I could probably make a breakdown video, or a commented video where I explain what and how I do. At least it’s something for consideration.

It’s just a personal project, so the only thing preventing me from releasing the stuff is that it’s running on a quite customized version of armory 0.4 with stuff done to shaders and renderpaths, that makes it break with any other version. Plus I’m not sure Quixel/Megascans would be happy with releasing some of their textures. - But! I plan upgrade it a bit to v.06 once it comes out, plus change it to only use CC0 textures. - As for the customized stuff, it’s related to this, but newer (PPV) (https://github.com/Naxela/PPV) - Essentially, most of the colorgrading and shaders (Bloom, SSR, VXGI and more) have been made realtime:


Plus added a ton of custom stuff too, like CA/Fringe and dirt masks (probably hard to see due to crappy gif compression):


All of which, I hope to eventually either make as a plugin, or as runtime loaded libraries for version 0.6.

What I usually do is work with grouped objects (by room/building/area, etc.) and volume triggers. For instance, when walking from area A into area B I hide/remove objects in area A, and so on. It’s not efficient and requires manual work, but it works.

On a different topic, here’s a little cool thing I’ve been playing around with - It’s a CastleDB based in-game Encyclopedia (Similar to the Mass Effect Codex), now I just need multitext lines in ZUI: