[ News | About | Media | Downloads | Tutorials | Contact ]


Latest News | Previous Article | Next Article

18 March 2013 - From The Darkness

If you haven't heard about From Earth before, read the outline of the project here.

Today, I am going to talk little about some lighting challenges I had in From Earth. In the Source Engine 2007, the lighting for non static props is kind of limited. The biggest problem really is without projected textures, the models are not self-shadowing. The lighting is done by having the engine calculating the lighting from a single illumination position on the model.

This created a problem in our intro sequence with Zenaida's Space Pod. The sequence would start from space, in complete darkness. The monitors were going to turn on one by one and Zenaida was going to wake from her fifty year slumber. After that she was going to land the Space Pod on the planet and walk out. This was all to happen in a single map. There was only one problem: when the Space Pod was placed on the map, on the crash site, the lighting inside the Space Pod was super bright.

Changing the lighting outside so that it was night wouldn't have helped much, because the ambient lighting still would have gotten inside the pod. I also didn't want to change the mood of the exteriors just because of that. Not to mention the fact that I didn't want to have the map change when the door opens, because I felt that would have interrupted the fluidity of the scene, and there would have still been a noticeable jump in the lighting.

The first thing I tried was adding block light textures around the model, only to realise that those were of course only for the lightmapping and wouldn't work on non-static props. Turning the model into a partly non-static model was not going to work either since the door and the monitors, not to mention the player model, had to be non-static.

So, one thing I tried to do was use a lighting origin, something that was built into the CBaseAnimating base class. I also programmed it so that when the player is inside the Space Pod, the player uses the same lighting origin as the Space Pod. In the map, I placed the lighting origin in a separate, completely dark room. At first this seemed to work. The spacepod was now in complete darkness like I wanted, but I then realised that the dynamic lights on the monitors were no longer illuminating the player or the spacepod when the monitors were turned on.

This made sense since the lighting origins were in the dark room on another part of the map, but the dynamic lights were still in the original positions of the model. So, I programmed a way to calculate the offset for the dynamic lights, using the illumination offset and lighting origin of the Space Pod model. When I tested it with debugging boxes, I seemed to be calculating the offset correctly, the boxes were appearing around the place where I had placed the lighting origin. But the Space Pod and the player were still not affected by the dynamic lights. The problem was that the lights were too far away from the model for the light to be considered as touching the model. If I didn't offset the light's positions however, the model was probably being illuminated by the light, but its polygons were too far away for there to be any difference.

What I ended up finally doing, after a suggestion from BioHazard, was suppressing the normal engine lighting inside the spacepod, and then use the info I had on the monitor lights to create local lights dynamically in the DrawModel() function. This worked very well indeed. Finally the Space Pod was dark before the monitors were turned on. The only problem remaining was that when the door opened, the interior was still dark even though the sun should have gotten in. To solve this, I used a projected texture that faded in and out as the Space Pod door opened and closed. I also had it shine only on the Space Pod and the player, if the player was inside the model. With this combination of normal environment lights, dynamic lights, projected textures, and overriding local lights, there was only a small jump in lighting, when the player was exiting the Space Pod.

Normal lighting Overriden lighting inside the Spacepod

Of course, the exterior of the spacepod would have to be still bright in sunlight. First I thought about using self-illuminating textures, but this would have looked bad, and it would also have meant that Id have to change the lighting on the texture depending on the map we were making. An easier way of doing this was to divide the model's interior and exterior into two different bodygroups and then draw the model in two passes. First, hide the exterior and show the interior, and draw the interior with the overriding lighting method, and then hide the interior and show the exterior and draw the model normally. The lighting in the exterior is now normally lit by the map lights, while the interior can be dark. be dark.

With the problem finally solved, my only fear is that somehow someone has already solved a similar problem in a lot simpler way.

Looking for help

We are still looking for people. If you are interested to apply, you can send me a message on Moddb, Twitter, Facebook, or e-mail me at au-heppa@hlssmod.net.

We are looking for a dedicated an experienced writer to help us finish the story and the script for From Earth. While we have a good idea for the basic plot, there's still a lot to figure out. We need someone who has a lot of time and interest for the project.

Level Designers
We are looking for two different types of Level Designers. Firstly, we need people that can bring existing levels an aesthetic quality, and are experienced with lighting, texturing, and the general make up in Hammer. Screenshots and/or example maps are required.

We are also looking for puzzle designers, such as anyone who has a lot of experience designing different types of puzzles for games like Portal 2. Source engine or Hammer experience is not necessary.

Concept Artists
Most of the concept work will revolve around the industrial era Alien technology and architecture. Samples of previous work required. We already have a strong set of existing concept art for you to draw on.

Voice actors and actresses
Although the script is nowhere near ready, we are looking for people to play the parts of Zenaida, Anthony, as well as the generic voices of aliens, both male and female actors. All voice actors applying should provide some kind of samples. You should be able to do big range of emotions. Some lines might be delivered at a later date.

The aliens will be speaking an alien language specifically designed for this mod. Their dialogue is partly already written and ready for recording. Examples will be provided if you are interested.

We are interested on getting any help we can get, especially world texture creators and prop modellers.


by Au-heppa
Permalink: http://hlssmod.net/index.php?page=0&news=33

Hide full article list
53.  From Earth Postmortem - 20 August 2018
52.  Friday Update VIII - 13 May 2016
51.  1 April 2016 - Friday Update III
50.  25 March 2016 - Friday Update II
49.  18 March 2016 - Friday Update I
48.  10 March 2016 - Public Beta Released
47.  28 February 2016 - Public Beta Release Date
46.  31 January 2016 - Public Beta
45.  27 September 2015 - Merging Items
44.  20 September 2015 - Teaser Trailer
43.  13 September 2015 - Custom Items
42.  8 April 2015 - Voice Actors, Streams, and Alien Posters
41.  6 December 2014 - Asi pos Ruumste
40.  22 October 2014 - Steam Greenlight
39.  14 June 2014 - Language Barriers
38.  12 February 2014 - Language System
37.  28 December 2013 - Fighting System
36.  6 June 2013 - Level Designers and a Voice Actress
35.  28 April 2013 - Playtesting From Earth
34.  8 April 2013 - Alien AI
33.  18 March 2013 - From The Darkness
32.  4 March 2013 - Climbing System
31.  4 February 2013 - Interaction System
30.  14 January 2013 - First Person
29.  7 January 2013 - What happened to Human Error?
28.  1 January 2013 - From Earth
27.  15 February 2012 - LAST ZOMBIE
26.  16 December 2011 - World Of Water
25.  11 December 2011 - Speech Bubbles
24.  7 December 2011 - Making Of Water Part III
23.  3 December 2011 - Making Of Water Part II
22.  1 December 2011 - Making Of Water Part I
21.  21 November 2011 - A quick look into the making of a gesture
20.  13 November 2011 - Water Released
19.  6 November 2011 - Water Release Date
18.  30 July 2011 - Human Error Source Code Released
17.  6 January 2011 - First Ever Weapon Render
16.  3 December 2010 - Water
15.  26 November 2010 - Controllable Manhacks
14.  28 July 2010 - Alyx Mode and More
13.  14 July 2010 - Human Error Co-op Beta Released
12.  29 May 2010 - Alien Grunt & Controller Give Away
11.  26 April 2010 - He's a frakking Traitor
10.  8 Feb 2010 - Human Error Released
9.  7 Feb 2010 - This Is Larson
8.  29 Dec 2009 - 2010 Trailer
7.  28 Dec 2009 - Super Secret Beta Testing Blog
6.  17 Nov 2009 - Harder, Better, Faster, Stronger
5.  17 Oct 2009 - This Is Noah
4.  23 Jul 2009 - This Is Embarassing
3.  1 Jul 2009 - This Is Au-heppa
2.  17 Mar 2009 - HLSS in Podcast 17
1.  5 Nov 2008 - First Media Release

[ News | About | Media | Downloads | Tutorials | Contact ]

Valve, the Valve logo, Half-Life, the Half-Life logo, the Lambda logo, Steam, the Steam logo, Source, and the Source logo are trademarks and/or registered trademarks of Valve Software. All information is copyright their respective authors. Website designed by my brother.