johnsto.co.uk david johnston: level designer

Blog Archives

« Level design and style Normal Service... »


Game-time versus local-time (Aug 30, 2005)

Modern FPS engines can do all sorts of remarkable things, from radiosity lighting to HDR lighting and reflections. The Lost Coast levels are rumoured to have only one light source - the Sun. Nohing quite beats seeing a map for the first time where the sunlight is just absolutely perfect and believeable.

This isn't good enough.

All these maps seem to be stuck in one portion of the day; Dust is stuck at midday, Cobble in mid-afternoon, Italy stuck on a clouded over morning. Conditions don't change, suns don't set and moons (well, one moon) and stars don't appear.

I realise this is just a technical limitation and quite a feat to implement both technically and artistically, but the recent Grand Theft Auto games pull it off (albeit with a 30 minute cycle and a number of limitations). Hell, even Half-Life 2 managed to fake it by making subtle changes to the sky and sunlight settings between maps. But it's not real-time.

Cutting to the chase, I want features like these for one simple reason. To make game-playing (for example, Counter-Strike) more involved by having game-time (i.e. the time of day in-game) reflect local-time at the server. So, if I were to join an American server right now, the map would be set at a couple hours past midnight, so it would be dark and people would be sneaking around. If I were to join one in China, it would already be mid afternoon. If I were to play continously for 24 hours on one of these servers, I'd be able to see an entire cycle of a day pass by.

Imagine that: playing your favourite map in the afternoon when it's still quite light, then having to adapt to it slowly getting darker as the day went on. The game world could reflect the exact conditions you see through your window. Take in phases of the moon, time of year and local weather conditions (all easily programmatically sourcable), and suddenly the game world reflects the real-world. Game-time has become local-time.

It could work another way too - instead of the game emulating the weather conditions at the location where the server you're playing on is based, each map could use conditions at one specific place on Earth. de_italy, for example, could copy the weather conditions in Rome (right now it's a fairly sunny later-morning there, with a little cloud). That way, everyone in the world who plays de_italy will effectively be playing de_italy in Italy.

Of course, many people play games in the evening, and I'm not sure many of them want to be stuck in an eternal cycle of maps set at this time, but they could choose to join a server in another country and timezone, or just choose a server without any of this 'game-time/local-time' nonsense.

Then there's also the issue of gameplay. Fitting gameplay to a map set at one point of day is tricky enough - taking into account different times of day and even weather would be even more difficult. Although, maybe that would make the whole thing more exciting.

But despite these issues, problems and technical impossibilities... it would be cool though... wouldn't it?

« Level design and style Normal Service... »


user comments

Ronald at 09:15 on Aug 30, 2005

Would be cool! btw, you mean cs_italy I guess?

Anthony at 15:46 on Aug 30, 2005

I think this would be super cool. I'm sure there could be a server side setting that allows the administrator to override time/weather setting for tournaments or scimmages.

Rain and other weather variable can make sniping tricky. Maybe implement rain spots on the scope and other little details to enhance immersion.
Would be cool.

Pyropowered at 18:51 on Aug 30, 2005

ummmm.....zelda had it...

and you can probably do it on cs too....just set a few logic entities to corespond with the ambient lighting, a skybox texture with a moving sun and rising moon to go along with the lighting.....it takes a lot of custum materials and some thinking but it can be done

Dave at 19:24 on Aug 30, 2005

pyropowered: this would be a hack, and not look very good. For a start, it's not possible to add that much light data to a BSP without causing loads of allocation problems... it's really something that needs to be done at the engine-level.

PCPro32 at 23:21 on Aug 30, 2005

hmm. A way this could be done now, in cs:source, without a complete engine overhaul is to do like aztec, were it chooses at random whether or not its raining. A map could be made to randomly set weather, skybox texture and sun brightness, could it not?
Of course they would have to be 'grouped' in some way, so you dont get a clear blue sky when its raining at night...

pyropowered at 23:30 on Aug 30, 2005

Dave, custom content, in my opinion, doesnt go into the catagory of "Hacks"...but I agree with your latter statement....it would lag and look unrealistic. Pcpro32 has a very good alternative idea.

Peter at 00:03 on Aug 31, 2005

It would seriously be cool. Definatley adding the extra level of realism to map locations. And not just 30mins equals 12hrs, but real time equals real game time. If this could be done, imagine, it would be fantastic.
Keep up the original ideas Dave.

Peter

Dave at 07:54 on Aug 31, 2005

pyropowered: by 'hack' I meant it would be a way to try achieving something that the engine can't do - and the limitations would be clearly shown in the result! Shadows and lighting issues would be the main problem, simply because of the amount of data and existing engine limitations. We can't change radiosity and shadow direction etc. in real-time, at least not without it looking very very artificial - and that's the problem.

Chuck at 15:27 on Aug 31, 2005

I swear you are a genius.... lets get VALVe to start programming...

Campaignjunkie at 21:13 on Aug 31, 2005

There's a hardcoded limit of 32 switchable "dynamic" lights in Source. And even then, a lot of the lightmaps come out pitch-black / glitchy. HL2 simply wasn't built for it, I guess.

Anyone watch that "Alan Wake" trailer? I believe that has real-time daylight cycles, and it looks really amazing.

infest at 18:53 on Sep 1, 2005

http://www.doom3world.org/phpbb2/viewtopic.php?t=12174
"Realtime day/night cycle - watch those shadows crawl round the walls!"

I just started reading some D3 SDK stuff to prepare for Q4 and saw this the yesterday. I haven't actually played it since I don't have D3 and I don't know if he 'hacked' the feature as you put it.

pyropowered at 05:16 on Sep 3, 2005

I entirely agree with you dave, but I really hope you suggest something to Valve(I doubt they will respond). Have you seen the day/light trailer for Stalker? you should have a look, its amazing...

smeerkat at 13:44 on Sep 3, 2005

A very cool idea. I have no doubt gaming companies are working on this, including Valve.

Azrael at 12:32 on Sep 5, 2005

Allan wake's dynamic lighting looks very good. Especially when combined with those day/night cycles. Im not sure if it is real time but it looks promising

Octavian at 20:59 on Sep 9, 2005

I'm with PCPro32.

CS rounds only last a few minutes each, so you could have the map reload every _howeverMany_ rounds and reload with a new skybox and sunsettings.

Of course you'd need 50 or 60 sky boxes.

Adam aka Egon at 17:07 on Sep 10, 2005

That's a clever idea! At least the best of the ones mentioned so far.

I think this whole idea of local time in game would be cool, but it would probably never be able to look/work very good using the Source engine.

qgpr at 16:49 on Sep 11, 2005

exactly what I thought Octavian, to make things simple you could have only 3-5 bsps to represent the change in time.

skinner at 21:35 on Sep 15, 2005

i'd just have a poo. Tht's it.
How's life dave - are you near alton towers?

I love this man

P

Frog at 22:06 on Sep 15, 2005

It would be pretty cool, but as Dave said, it would look pretty bad with the source engine

seems like there's been nothing new in the past week or so here :(

Mike at 20:48 on Sep 18, 2005

Problem is NOT the source engine, but rather the way the source engine renders LIGHT with a bit of work on valve's, or a modders part and it could be done, Lost Coast is a step in the right direction, yes dynamic lighting HAS been done in games but its usually poor(GTA) or really just for shadows (doom3) the Source engine is very good one of the best I think I like the way it renders normal maps(bumpmapping), models and textures much better than any engine currently out today, I mean serously Doom3=plastic, BUT it does have basic good dynamic lighting, now Source=Realistic STATC looking, once agian the 1 sun idea of Lost Coast is a step in the right direction, and valve said its taking things a step at a time, the HDR lighting (not just bloom) is valves first step of improving the engine, the next I'm guessing would be either dynamic lighting (like doom3) or something to do with physics (water anyone ;-) ), now that all been said(the way dave mentoned) were still a year or 2 before we see this in source, let alone any other games in such large scale

//Mike

uNsaiN at 20:33 on Sep 19, 2005

http://s2.putfile.com/videos/26010463625.avi
CryEngine 2

BitBurner at 23:41 on Sep 20, 2005

Operation Flashpoint had real time day/nite cycles. Not only that but a correct nite sky with stars in the place for the particular date in time. When you made your own missions all you needed was a starting date and time. I saw a time lasp video out of flashpoint when it was still in development and I was blown away by this feature.