Jump to content

Recommended Posts

So you're making a pre-rendered background game...

 

Alright, not precisely what I expected, but not surprising. Technology has obviously advanced far and away over the last decade and since the last Infinity Engine game. If I could be so bold as to make some technical suggestions?

 

Store the backgrounds as BC7 textures as well as DXT, choose based upong platform. I know uncrompressed textures are going to seem important for what is essentially the main art being seen, but I'm also supposing there's no reason not to offer optimizations for memory, and that the actual background art will scale up to those wanting to play at, say, 2560x1600 or more. Heck, why not 4k or even 8k? Play it on a true Imax screen! Imagine the press demo :p

 

Regarding this, the actual game size will almost certainly end up being huge if you let things get out of hand. Baldur's Gate 2 was a fairly low resolution, and is still a decent size on the hard drive today. Streaming in art textures for areas via DXT or BC7 from, for example, the X-Zips compression format will help not only keep the game playable on ANYTHING, but keep the game a nice size to download as well. After all, you'll certainly be making the most sales digitally. Point being, compress as much as you can and decompress at runtime!

 

Another thing I'd consider is dynamic object integration and dynamic lighting. Characters and other objects need to sit in their environment, and can do so far better than a decade ago. Pre-calculated environment maps applying as both specular and diffuse terms to anything dynamic should sit very well. Point of interest based blending between the probes should help keep lighting smooth: http://t.co/1ya9BZ5F

 

And did I say dynamic lighting? I did, and why not. With most everything pre-calculated I'm wondering if Unity will allow you to load depth and normal maps from the environment as well. Enough to get dynamic lighting via deffered shading, from say spells and etc. onto the environment; all without actually spending great amount of GPU time on it. It could also easily be turned off, a good scalability feature.

 

The only other thing I could suggest, besides bloom/HDR which is not to be underestimated, (store the backgrounds in an HDR format!) is pre-calculated shadow maps. A single large shadow map per area should do, and you can pre-blur it! With the dynamic lighting this could bring character shadows casting realistically onto the environment, and environment shadows (higher frequency than those probes would handle) casting onto the characters. Of course, you could go even further, having point lights cast dynamic shadows as well. Since they sit in one place you could pre-calculate their shadow maps and blend with character shadows upon characters entering their influence. Since you're not actually calculating anything but per character shadows you could have nigh unlimited point lights casting shadows! (So long as they don't overlap).

 

Speaking of scalability, making characters and other dynamic things look pre-rendered would be quite a feat, and make the game more coherent. I know Unity has good post-AA built in, just selectable and there for you. But another key feature is, if you're going to have normal/spec maps, and you should as they look great and modders can handle that easily, then high frequency normal map AA is great. You can find a good example via Web-Gl here: http://selfshadow.com/sandbox/gloss.html and an overview here: http://advances.realtimerendering.com/s2012/Ubisoft/Rock-Solid%20Shading.pdf . Of course, maybe the Unity store already has this, or Lean mapping, I don't know. The Unity store has a lot of things.

 

Beyond that, all I can think of are a few other tricks. Screen space refraction and chromatic dispersion could be cool for spells and little stuff like flame affects. Standard reflection camera blended into water for character reflections? Maybe. Anyway, whether any of this strikes a chord or not I'd just like to say best of luck!

  • Like 1
Link to comment
Share on other sites

I am not completely new to technicalities you mentioned, but it still is a bit over my head.

 

What I do agree on is that the game should include high-res maps for those "screen resolutions of the future". Also, HUD should be compatible and scalable to whatever resolution one chooses.

 

Project Eternity can then age like a good wine. :)

Link to comment
Share on other sites

Continued.

 

Animations are important to any game, and since there's going to be no trouble storing or playing it ony any reasonable GPU 30hz pre-rendered animations should be a minimum. But there's no reason not to render out 60hz and even 120hz animations. As selectable options.

 

I would stress the characters being in full 3d; if just for the sake of eliminating all the animation artefacts from pre-rendered stuff that are going to inevitably crop up. A selectable character level of detail should keep the specs for the game wide ranging, and with no worry about backgrounds displaying up to 40 characters at once should be doable over a wide range of hardware.

 

And since I've mentioned dynamic lighting, why not store the lighting in different channels? True, the easiest way to create changes in lighting is just going to be full scene color correction. But you could do more by storing direct sun lighting in a channel, sky color lighting in a channel, and then albedo and all the bounces seperately. Each would then be changeable and tunable by hand to a degree. Very useful for transitions such as weather and day/night cycles.

 

Further it would be nice to see even the ground cover as transparent depth layers. Little details like characters feet disappearing behind tufts of grass are going to help a lot. Though I imagine you'd have to see to see whether the transition is going to be terribly noticeable, I suspect not though. It should be exactly the same as any characters foot clipping through grass today.

Edited by Frenetic Pony
  • Like 1
Link to comment
Share on other sites

And (most likely) lastly, I'm sitting here in a cafe with my laptop, bored with FTL (after hours and hours) and wishing I could play something that wasn't a flash or facebook game.

 

Push this onto WebGL if you can. Play in a browser, the first major, hardcore commercial game available as such. Why the heck not? Unity should have the capability, and you'll get a ton of press.

Edited by Frenetic Pony
Link to comment
Share on other sites

I think I just drooled a bit reading the opening post.

 

I hope all this is possible :)

 

*prays to the OEI Gods*

Edited by mstark
"What if a mid-life crisis is just getting halfway through the game and realising you put all your points into the wrong skill tree?"
Link to comment
Share on other sites

I could see dynamic lighting on the 3D models, though I don't think they could have mobile lighting like torches if the backgrounds are touched-up in Photoshop.

 

I suspect their art pipeline is:

* Create the models for the area.

* Place them down in a modeling program.

* Add lights.

* Render the background.

* Touch up in an editing program.

 

Then when it comes time to make maps, they'll do something like:

* Import the 2D art background.

* Add interactive 3D elements (e.g. chests, doors, creatures, etc.)

* Add lights for the 3D models.

* Add walkmesh, define blocking areas, etc.

Adam Miller - Neverwinter Nights Mods

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...