Jump to content
TFC

Better compositing?

25 posts in this topic Last Reply

Highlighted Posts

Posted:
Last Online:  
 

Hey.

It's been nearly 20 years and SC4's graphics are still top notch. This is due to its approach to render the buildings and just compositing the BAT's (and mixing it with a small 3D engine). But technology, (both algorithms/softwares and hardware) have improved much. Many, if not all games have gone full 3D (but the cost for hyper-pseudo-realism like SC4 is still too high to pay). Have any of you BATters (like @Jasoncw) have thought about what could be improved in SC4's rendering ?

The main constraint of an trimetic orthographic view would still be needed ; but what could be added to the process ?

Ocean Quigley who worked on SC4 showed a few more layers that could be added to the 4 views by 4 zooms. http://oceanquigley.blogspot.com/2009/05/how-we-trashed-buildings-in-SimCity-4.html

Do you think that a depthmap or a normal map would improve the rendering ? A way to specify animation groups for the lighting ? Are there particular issues that are difficult to tacle when BATting ? (e.g. very circular building, or a lot of transparency)

I'm thinking of experimenting as a small coding project : would any good samaritan point me toward 2 or 3 buildings available in gmax format (not just the BAT rendered images) ?

  • Like 4
  • Yes 1

Share this post


Link to post
Share on other sites
Posted:
Last Online:  
 

Those techniques as described by Quigley could theoretically still work - it would be necessary to take a currently rendered model and edit each s3d (model) to have additional layers and textures for the effects wanted to be rendered on top of the current model. You would also need some mechanism to selectively display those effects i.e. turn them on/off. The latter I think is not possible except with night lighting - the rest (e.g. dilapidation) is in the exe.

And to be frank, the constraints he talked of are still there - memory usage mostly - not to speak of the work involved.  The game is constrained to its current engine - good as it is, its not truly 32bit color/alpha compliant.  So expecting big improvements is not a useful wish.

Better buildings etc are really in the domain of the 3d artists who know how to extract the best of the tools and materials used to produce the final models  - and we have a few around here who have already made creations way past the quality and beauty of the original MAXIS ones.

  • Like 2

Share this post


Link to post
Share on other sites
Posted:
Last Online:  
 

I think that what we should aspire to is to improve the alpha blending of SimCity 4. I wish we could take advantage of the alpha channel.

When I "force" the alpha blending that generates graphical errors and that is why I want to know if that has a solution or at least an explanation.

aajajsjjsqjsqsa.png

alalaq.png

The reason I do it is to make the FSH alpha channel work but it causes problems when close to other LODs.

Before (Maxis default)

al11a2a.png

After
al11ab.png

if I activate the "alpha test" the lod problem seems to be solved but the semi-transparency does not work 100% although it is a little better than the maxis one.

"Your method" = Alpha Test activated.

palmme.pngpalmme2222.pngpalmme222332.png

 

  • Like 2

Discord: JLeCoultre#9124

My Simtropolis BAT Thread

Share this post


Link to post
Share on other sites
Posted:
Last Online:  
 

Regardless of your options, they're still better than Maxis in terms of edge smoothing and maybe the preceived "resolution". That's why I personally slowly moving to better props provided by the community.

  • Yes 1

Share this post


Link to post
Share on other sites
Posted:
Last Online:  
 

Yeah the alpha blending stuff would be great. Even on regular buildings, the game would look much better. Then on objects with a lot of edges like the palm tree example, it would make a big difference, and then in buildings with glass that overlaps the background it would help a lot.

 

Another thing would be getting the in-game shadows to be the same orientation as the BAT shadows. The sun angle in BATs is different than the sun angle in the game. Normally this isn't noticeable but there are a lot of situations where the mismatch becomes really obvious. And even in situations where it's not, I think it's one of those things where the game would look better without anyone even noticing or understanding why.

 

An abandoned layer would be good because the way abandoned buildings look in the game is so silly and cartoonish (although also charming in that Maxisish kind of way). But actually BATing an abandoned version would be an immense amount of work.

A winter layer would be interesting, although it would be difficult to come up with the right standards (winter is different in different places). I guess you would have to put an option in the game's UI for using or not using the winter layer during winter time, so that people building tropical cities always use summer. The winter layer may have snow included in the BAT, but it would also remove the leaves from plants that are included in the BAT. One of my favorite things about the original SimCity is the weather. This would be easy to BAT, it would just be hiding leaves off plants, swapping grass textures, and modeling a bit of snow sometimes. It would double the amount of exporting to do. It's actually possible to do this right now with timed props, and I've done it before to make christmas themed lighting appear around christmas time, but making winter versions streamlined and standard is a different story.

A point to make about the layers though is that they wouldn't really work the way that Ocean Quigley was imagining them. His system was very clever, but it only works when you're rendering with the bad rendering of the time period. In Gmax and the Maxis buildings, there isn't any actual lighting or shadows or reflections or anything like that, it's all faked. This is good for his system because changing one part of the building has no visual impact on the rest of the building. Since then we've moved onto the Mental Ray rendering engine, which uses ray tracing for lighting. So there are actual rays of light bouncing around, all objects are reflective. So for example if you added white snow to a roof, then suddenly in the render the white snow is reflecting a ton of light onto the nearby facade and so it would be brighter. Instead of nitelites just being a yellow overlay nitelites are actual bright objects producing light which gets cast places and reflected in nearby surfaces. So for that reason, SimFox came up with the "TruNite" method for night, which is to skip the masking and layering system that Quigley imagined, and instead just rerender the entire building. In the game engine it's still layering, but visually the night render completely replaces the day render instead of just overlaying on it. So doing things like having the night windows mask being reused for broken/boarded up windows can't be done anymore, the BATer would instead BAT those elements into a new separate abandonment version/render.

 

Some kind of depth map would be interesting. idk if this is possible in any way whatsoever (not just to implement in the game but in general), but it would be nice if there was some kind of depth map that described the distance between the LOD and the building itself, in such a way that the in-game shadows would be able to fall onto buildings. It would probably be possible to have the game cast shadows onto the building's LODs, since it does it with the 3d ground I imagine it could do it to the 3d LODs as well. The problem is that the LODs correspond so loosely to the actual buildings that it would look really weird and sloppy. In far out zooms (like zoom 2 or 3), the shadow problems wouldn't be too noticeable and cities would look a lot more natural but the rest of the time it would just look like the shadows were glitching out. But I don't think it's possible to map depth onto those LOD shapes in such a way that it would contain the actual building's 3d info well enough to have shadows appear to conform to the building.

Otherwise depth maps or normal maps wouldn't have any impact because there's not any lighting in the game. The building's shadows is one of the previous rotation's pre-rendered image rotated and stretched a certain way and then layed out on the ground. Here's an example, which isn't strictly precise but you can see how it works. I made the image to illustrate why the reverse shadow problem happens with BATs that have improperly made underground sections (the red part in the example is underground). And again the visual location of the building and the actual location of the LODs are so wildly different that even if the game engine supported lights and you added a light in, the visual effect would probably be really weird and glitchy looking.

 

Something which would be cool but which is definitely impossible would be in-game reflections. For very reflective buildings, faking the effect acceptably well ranges from very hard to impossible. It's done by BATing things for the glass to reflect (I do the roads that would be next to the lot, and then a generic mosiac of in-game screenshots for the rest), and then setting these things to be not be visible to the rendering camera. The result is that in the game the pre-rendered building has generic stuff being reflected in the windows. Even if you added a layer mask for reflections (this is basically how cities skylines does reflections), in a fixed view isometric game the effect would be the same as just overlaying a generic reflection image, which is worse than what we can already do in the BAT itself.

 

Getting the game to use better compression and color stuff would be nice, but I don't know anything about that stuff to have any real input. And to be honest it's actually pretty good, normally you can't notice the difference between uncompressed preview renders and what's in the game. But it's the kind of thing that would be an improvement, and once it was done it wouldn't add more work for BATers, the export would just have better visual quality. But like I said I don't know anything about this area.

 

I feel like what eventually should be done is just someone making a new city simulator game that uses isometric graphics. And then an importer tool which would de-FSH and otherwise convert BATs so that we could keep using the content, while making the kind of city sim that we want to see.

 

Something which might already be possible or even have been done already for all I know would be changing the game's color overlays based on the season. The game does the dawn dusk cycle doing this. And it's easy to just straightup edit the color values (that's all the DarkNite modds are). Night would have to stay the same to be consistent with nitelites. But the daytime overlay could be changed so that the color during the day would change during the seasons, maybe being a bit cool in the winter and a bit warm in the summer, and maybe desaturated in the fall. And then like other seasonal things you'd need a UI button to turn it off.

 

For something unrelated to graphics, I would like it a lot if a .dll was made that did a few things things. First, would be to ignore the property which lots have which determine what zone they grow on. Then would be to change the default setting for that, allowing us to set which growth stages grow on which zone densities. And then, unlock the unused zones, to add intermediate densities, overall allowing us more fine grained control over which stages grow on which densities. The problem with the game now is that low density residential zoning is actually pretty high density in real life (densely packed single family houses like you see in Chicago or even Tokyo), medium density is basically Manhattan levels of residential density, and high density residential in the game barely exists in real life except for in small amounts in a small number of real life cities. I'd like to be able to build rowhouse neighborhoods without having it turn into Manhattan, or zone for an apartment building without a 20 story apartment tower growing, etc.

  • Like 2
  • Yes 1

patreon.png    PATREON    •    MIPRO    •    MY BAT & TUTORIAL THREAD

Share this post


Link to post
Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     

    Thanks for the first batch of answers :)

    More building layers

    More layers (for abandoned, winter) would be cool, but there's the question of the memory footprint and on the more time-consuming creation time. If some props/assets could be integrated at runtime, it could improve the reusability of things. You do have a really good point about trees.

    Another completly different approach is using some kind of decals/splatting. I don't know how it would fare with the lighting.

    Transparency

    I'm assuming that BATs don't use alphas then ? Yeah, a modern engine should be able to handle an alpha channel. The main problem with transparency is that you have to be able to either use an OIT algorithm (Order Independant Transparency) which is not trivial for 3D engine, especially if you want quality and performances OR use alpha compositing. Alpha compositing require that you do the composition from the farthest to the closest object and that means sorting all the transparent triangles. I think that with an orthographic camera, most of the sorting is already provided statically (top most building are "farther" than bottom ones) but there might be some inconsistencies (e.g. the dinosaurs shown in the first reply). With a depth map attached to the building, and using some kind of layer-depth image (LDI) comparison, I think that this could be resolved. Of course, it doesn't prevent 2 buildings from intersecting, but 99% of the assets are delimited inside their zoning/footprint anyway.

    Colors

    What's the problem with colors ? Aren't they 32 bits images ?

    Image format

    Yeah, I think the current image format is lossless, so more rendering quality seems out of the equation. But lossless compression has improved a lot during the last 20 years so even using a generic format like WebP may cut the memory footprint by 30/50%. And using more specialized technics, I think you could get a much higher gain (e.g. most buildings use a repeated pattern like windows, that could probably be automatically compressed)

    Normal maps

    I'm still not sure if normal mapping could be useful. Probably not to incorporate details (cause you've got already all the details due to the raytracing rendering applied on a billboard) but it might help if we relax the constrains applied to the direct lighting / shadowing.

    Color grading / filters

    Yeah, color grading induced by seasons and weather could be really cool. I think Maxis' approach with the night lighting was definitly a really good idea. You seem to imply that the move toward mental ray broke this approach ? So IIUC nite mods were designed to generate the correct night version by diffing between a realistic mental ray version and the maxis's blue filter ? I guess Maxis's filters color ALL the pixel the sameway, so the lighted windows are also blue tinted ? Was that a problem ? Maybe an image mask to indicate was should be colored by a filter might avoid that ?

    Animations

     

    No idea if there's currently a way to animate lighting. Another topic is animating the billboard polygonal outline: it might be an approach to get more realistic vegetation.

    Direct lighting, shadows and reflections

    Fun story about the way prerendered direct lighting and the sun position in the engine aren't the same. I wonder if they just missed it ?

    Both shadows and reflections are hard in a classic 3D engine. Reflection on box-like buildings is hard because it means we may see the back of other buildings (and this time, the lighting MUST be coherent). Reflections on a round tower is super hard because it would mean non-canonical orthographic projections. Maybe using hemi-octohedral fakey billboard could work (afterall, reflections would be distant and probably noisy)?

    Shadows require at least a good 3D model. Would the sun be moving in the sky ? Damn, there are some difficulties here. Maybe recasting the shadow would be doable performance-wise (all rays are // in a orthometric engine, and the buildings are low poly).

    On that note, I wonder if the BATs (billboards images) should or (even are currently) projected on the different faces of the 3D model?

    Continuous zoom

    I think that it would not be that hard to implement a bicubic filter to DOWNSAMPLE the buildings in realtime thus allowing to avoid both the LOD's AND allow for continious zoom/unzoom.

    8 orientations

    Since we have way more VRAM, producing 8 orientations for the building and allowing the placement of BAT on a 8 directions grid should also be possible. It does imply changes in the gameplay (things I don't want to discuss in this thread :P ; same as for the density of zoning (which could be taken care with a limit on the numbers of floors, just like real cities do)).

    • Thanks 1

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     
    3 hours ago, Jasoncw said:

    Another thing would be getting the in-game shadows to be the same orientation as the BAT shadows. The sun angle in BATs is different than the sun angle in the game. Normally this isn't noticeable but there are a lot of situations where the mismatch becomes really obvious. And even in situations where it's not, I think it's one of those things where the game would look better without anyone even noticing or understanding why.

    I have made a fix for this - but its not in general release because the change is in the Lighting exemplar which is used in Day/Night Mods. Its best done by editing the one you currently use. The Exemplar  is found inside Simcity1_dat or whatever Day/Night mod you use - which changes night colors.

    The fix changes the Sun Direction to 53degrees from the 67.5 default. This matches the ones used in Bat4max and gmax. Other values have also been used in some older bats.

    Shadows.png.da40ada27a6d744514397baed08b9a41.png

    43 minutes ago, TFC said:

    I'm assuming that BATs don't use alphas then ?

    Yes they do - but only as a cutout mechanism and for night lighting (depending on how they were made). This is why older bats in particular can look chunky at their edges. The cutout is 1bit alpha from Gmax, and I believe 4bit alpha from Bat4Max (I don't know for sure). Night lighting from gmax is 4 bit alpha as an additive to the base BAT, in Bat4max this is entirely baked into the Night render - and consequently can be made very pretty and realistic, but does not adapt to day/night cycles like Maxis does. Also the color settings in Bat4max are different from gmax - smoother but cooler. 

     

    43 minutes ago, TFC said:

    Colors

    What's the problem with colors ? Aren't they 32 bits images ?

    Image format

    Yeah, I think the current image format is lossless, so more rendering quality seems out of the equation.

    These need to be taken together because they influence one another. The FSH format predominantly used is not lossless - in fact the compression is quite severe but generally, because gradients are slight, can 'pretend'  to look OK.  Compression results in files typically 1/4 the size and often much smaller. Remember this was 2003 - it had to fit on one CD.

    The DXT1 format 1bit alpha, and the DXT3 format 4bits alpha both take 4x4 blocks of pixels and encode that into 2 dominant colors, and interpolate to 4 resultants to which all pixels are mapped and the result stored.  The internal engine is DirectX based hence 32bit color (from that era DirectX 7/8). On decompression (hardware supported in DirectX) everything is re-expanded to 32bit. It also support rendering to 16 bit displays (with dithering).

    However along the way to making the FSH we've effectively gone down to A4R5G6B5 in terms of color bit resolution, and after decompression some colors will not be correct. In most cases no-one will notice. When color matching you do. Also if there is a sharp color boundary in the middle of a 4x4 block then it may be borked completely (it just defeats the algorithm and one color will win).

    So this is why with current file types and tools color quality is compromised a bit.  If you can get 32bit images in, I expect the game will use it. (but it really hasn't been tested extensively). The cost is bigger files, probably higher memory usage and the work necessary to create the files. Small objects with fiddly edges probably would benefit most.  (much like HD over SD)

     ~

    Overall though I think its important to distinguish between what we can do with the current executable and what we can't. Its a 2.5D prerendered environment for BATS, terrain and water are textures over a terrain mesh, automata and other S3d models are rendered real time 3D without shadows!, shadows are a calculated mesh overlaid on the framebuffer, animations are texture/frame based, and the whole has to work in a 30fps budget with extensive simulation calculations on 1 thread. Effects are hard coded. Many assumptions are built in to allow simplification. We can't get at the engine directly.

    This means for us that everything improvement will need to be done with textures, models, existing settings and techniques that we have now or can deduce from the outside.  Stuff may be possible with .dlls but there is little expertise and even less knowledge about true internals. Anything else needs a new exe -  and we've been whistling for that for years.

    Gameplay is the prime goal of SC4. Anyone who has built software anything useful will know - everything is subject to tradeoff. True 3D to the resolution/color demands many expect today needs serious grunt and entirely different architecture. Many have failed. SC4 endures because it set a high standard for the time and seems in general to have traded off the right things to succeed and survive.

     

    • Like 2

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    In case we can improve the alpha blending used by SimCity 4, the BATs exported in 3dsmax will be the only beneficiaries of the improvement (And I have more than a thousand BATs ready to export xD). 

    I suspect those parameters are set by rendlx.dlx or SC4Utilities.dlu when you export the LOD in GMAX. For SimCity 4 all pixels are fully opaque or transparent, leading to aliasing (“jaggies”).

    fijaddoq.png

    defafaa.png 

    This means that the alpha channels of the BATs exported with 3dsmax are not fully used, but that does not mean that they are not used or can be used.

    https://docs.unity3d.com/Manual/SL-Blend.html

    askjakaksaka.png

    @rivit The problem with that method is that there are cases where the shadows are torn or just moved from the position they should be (I'll add images tomorrow). The FSH compression is something that gives me a lot of headaches since I export things in HD. I am looking for a way to make fshwrite.exe (included in BAT4MAX) not compress the fsh but it is more complicated than I thought (I think you (rivit) or @Null 45 are the only people capable of helping me solve this "problem"..

    As far as I understand the animations of the pedestrians are sprites put in a fsh I am quite interested in improving them (I have a lot of rigged 3d characters) but I don't know how to do it.

     


    Discord: JLeCoultre#9124

    My Simtropolis BAT Thread

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

     

    1 hour ago, Barroco Hispano said:

    This means that the alpha channels of the BATs exported with 3dsmax are not fully used, but that does not mean that they are not used or can be used.

    1 or 4 bit alpha as exported is certainly not using all of the Bat4Max (or gmax for that matter) rendered alpha. The alpha you show there looks like its a DXT3 FSH so that has only 16 distinct alpha values.

    The only way you will get better is probably to use the A8R8G8B8 format as input to SC4. Given the lack of control over fshwrite.exe in the bat4max scripts any experiments probably need to be with objects that do not need a FSH larger than 256x256 after rendering. i.e. do not need multiple textures to be sliced and diced. It should be possible then to save the screen renders for each view + zoom as bitmaps and then use something like GoFSH to encode them as FSH. I've no idea how well SC4 will respond to this though.

    Alignment issues between color and alpha are not caused by compression per se - although color fringes can occur when a minority of pixels in a 4x4block are transparent. Compression takes what its given so I would expect the misalignment to more likely be in the maths somewhere in the rendering scripts. 

    1 hour ago, Barroco Hispano said:

    As far as I understand the animations of the pedestrians are sprites put in a fsh I am quite interested in improving them (I have a lot of rigged 3d characters) but I don't know how to do it.

     

    Sprite Animations are stored zoom by zoom, frame by frame, row by row in textures - these have a dedicated group. Almost all of them are in SimCity2.dat.  If you use FSHxDAT in GoFSH you can export/view/edit/load these textures. However you need to be able to deduce the anim frame size and framerate to know how to render them correctly onto each bitmap. I suspect its going to be fiddly trial and error.  There are anim exemplars in Simcity1.dat that probably have that info.  

    So to me it sounds a bit like: rig your models to run a certain anim for x frames in Max, save each frame for one view (64x64 is more than big enough), arrange those frames sequentially in photoshop for one zoom, then resize (halve) and repeat for each zoom needed and make up the FSH.  Easier said than done, of course. There are bound to be complications.

    • Like 1
    • Thanks 1

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    @rivit I complain about the compression of the base color but not of the alpha channel because at the end of the day it is the fault of SimCity 4 since it only recognizes the black or white pixels. Right now I am manually inserting the zoom 6 fsh but it takes a long time, and if I can't find a way to automate it, I will never be able to export all the cars I have. 

    A8R8G8B8 format works perfectly in SimCity 4.

    yyhdthddf.png

    The animations seem quite complicated to do.

    About normal maps, right now I use them to bake them into the diffuse map and thus make the texture look somewhat bumpy.

    normallslslsl.png

    rocknormmaa.png

    • Like 1

    Discord: JLeCoultre#9124

    My Simtropolis BAT Thread

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     

    @rivit Just to precise the original post: I was trying to brainstorm what could be added to a new engine (that is constrained by the same kind of approach as SC4). (My original intend may have been lost in translation as I'm not native english speaker :) ) Note that some of the leads you all mention may also work for a mod but as you said, without producing a new .exe, possibilities are limited.

    In a way, I think a true successor of SC4 should really focus on the asset pipeline. More than rendering tricks, it's the possibility of using a really huge database of buildings (BATs that have been made during the last 15 years) that would matter !

    • Like 1

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    Since this was a work done for hire (i.e. by employees of Maxis/EA), and was created after 1978, copyright lasts for 95 yrs.

    • Like 1
    • Haha 1

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     
    4 hours ago, TFC said:

    I was trying to brainstorm what could be added to a new engine

    my apologies 

    3 hours ago, twalsh102 said:

    copyright lasts for 95 yrs.

    Anyone got tips for making time machines?

    • Like 1
    • Haha 1

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     

    Other possibility is to bankrupt EA and acquire the IP (and code)

    • Like 1
    • Haha 1

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    Our last resort would be making a DLL file or manually patch the exe. You still need the original exe first but we have some codes in a repository and the user can patch the exe themselves using a tool. This won't remove the validity function so it should be fine, legally.

    What do you think? Sorry for my words.

    • Like 1

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    Personally, I think the only reason to make a new city simulator with pre-rendered graphics would be to reuse all of the custom content we've made for SC4.

    Video game graphics have recently started incorporating real time raytracing.

    Back over 15 years ago, when SC4 first came out, with the computers we had, we had to leave our BATs to render overnight because it took so much computing power to render. Even just doing a preview render of one frame of one building could take 20 minutes. Today we have Cities Skylines, where the graphics are similar but more advanced than gmax's rendering, and we're rendering an entire city's worth of buildings many times per second, while doing the simulation at the same time.

    And now we make BATs with raytracing with mental ray for SC4. Except for really complicated BATs it often only takes a few minutes to make a preview render. For some of my BATs it only takes a few seconds. And these scenes aren't optimized in any way, and mental ray is an old and not very good renderer. Minecraft is being updated to support raytracing. And there's an upcoming game called "Viking City Builder" which while being simpler (both in terms of the visuals and the simulation) than a full on modern city sim, supports raytracing and has very impressive graphics. So I think in the near future we'll be able to have a city simulator with ray tracing, even though it would have some compromises. It would probably have a SC4ish simulation, and run at a lower resolution and a low framerate, and would probably have a grainy/noisy look (resolving noise is what takes rendering time), but it wouldn't look quite as good as our current pre-rendered buildings, but glass would reflect its actual surroundings and buildings would cast accurate shadows on the streets and surrounding buildings.

    • Like 2

    patreon.png    PATREON    •    MIPRO    •    MY BAT & TUTORIAL THREAD

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     
    6 hours ago, Jasoncw said:

    Personally, I think the only reason to make a new city simulator with pre-rendered graphics would be to reuse all of the custom content we've made for SC4.

    Video game graphics have recently started incorporating real time raytracing.

    Back over 15 years ago, when SC4 first came out, with the computers we had, we had to leave our BATs to render overnight because it took so much computing power to render. Even just doing a preview render of one frame of one building could take 20 minutes. Today we have Cities Skylines, where the graphics are similar but more advanced than gmax's rendering, and we're rendering an entire city's worth of buildings many times per second, while doing the simulation at the same time.

    And now we make BATs with raytracing with mental ray for SC4. Except for really complicated BATs it often only takes a few minutes to make a preview render. For some of my BATs it only takes a few seconds. And these scenes aren't optimized in any way, and mental ray is an old and not very good renderer. Minecraft is being updated to support raytracing. And there's an upcoming game called "Viking City Builder" which while being simpler (both in terms of the visuals and the simulation) than a full on modern city sim, supports raytracing and has very impressive graphics. So I think in the near future we'll be able to have a city simulator with ray tracing, even though it would have some compromises. It would probably have a SC4ish simulation, and run at a lower resolution and a low framerate, and would probably have a grainy/noisy look (resolving noise is what takes rendering time), but it wouldn't look quite as good as our current pre-rendered buildings, but glass would reflect its actual surroundings and buildings would cast accurate shadows on the streets and surrounding buildings.

    I do really support raytracing in SimCity 4 (or its 3D clone)!

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    I would bet on ray tracing on the water material.

    One of the reasons I'm not interested in creating content for Skylines is that I have to optimize the geometry a lot. SimCity 4 is one of the few games that I know of where you don't need to do that.

     


    Discord: JLeCoultre#9124

    My Simtropolis BAT Thread

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     

    A real time pathtracer is not out of the equation, but currently, even with a really good GPU, you won't be able to even have non-noisy images if you were to raytrace just the 3D models as grey boxes. The real problem is that your BATs are just too high quality for realtime raytracing. As you said, some of the simplest BAT you have, render in a few seconds... Remember that the only global illumination computed comes from the sun and not the environnement (other buildings).. and it's just one building that is probably already occupying a good chunk of your memory. RTracing will progressively be included in game engine, but it still is ~7/10 years before we'll be able to have the computing power to prototype a full path traced engine.

    The main blocking issue is really : can there be some kind of unilluminated billboard texture (similar to BATs) that can be lighted in realtime whatever the position of the sun (maybe it's as simple as a normal map baked by mentalray). If a solution is found to that specific problem, a lot of things we mention previously could be simpler to implement.

    Share this post


    Link to post
    Share on other sites
    Posted:
    Last Online:  
     

    For having billboards that interact with lighting, the main issue is that the visual location of the building is too far away from the actual location of the billboard. You could make the LOD match the geometry of the building but then you're just back to it being a a standard 3d model with a typical normal map.

    I've seen some stuff recently that used pre-rendered scenes and then used a depth render and some magic.

     

     

    I want to say that some Resident Evil games (with the pre-rendered backgrounds) also use a depth pass to do lighting effects in the game.

    I'm guessing that with some wizardry stuff like this could be done for a city sim game, but it's all way beyond my knowledge. At least though it seems like it doesn't require anything special from the artists, just rendering more passes.

    • Like 1
    • Yes 1

    patreon.png    PATREON    •    MIPRO    •    MY BAT & TUTORIAL THREAD

    Share this post


    Link to post
    Share on other sites
  • Original Poster
  • Posted:
    Last Online:  
     

    Funny because I was researching Pillars of Eternity's engine this week. To my knowledge it's Unity, but it produces one of the most advanced 2D rendering.

    Another engine that's worth to look at is the one behind Stasis (& the other games this dev made)

    Back in the days, there were also the games from the Commando series (and the game engine behind Desperados too, which was custom made).

    • Like 1

    Share this post


    Link to post
    Share on other sites

    Sign In or register to comment...

    To comment in reply, you must be a community member

    Sign In  

    Already have an account? Sign in here.

    Sign In Now

    Create an Account  

    Sign up to join our friendly community. It's easy!  

    Register a New Account


    ×

    Thank You for the Continued Support!

    Simtropolis depends on donations to fund site maintenance costs.
    Without your support, we just would not be in our 24th year online!  You really help make this a great community. *:thumb:

    But we still need your support to stay online. If you're able to, please consider a donation to help us stay up and running. This helps sustain a platform where we can share our community creations for years to come.

    Make a Donation, Get a Gift!

    Expand your city with the best from the Simtropolis Exchange.
    Make a Donation and get one or all three discs today!

    STEX Collections

    By way of a "Thank You" gift, we'd like to send you our STEX Collector's DVD. It's some of the best buildings, lots, maps and mods collected for you over the years. Check out the STEX Collections for more info.

    Each donation helps keep Simtropolis online, open and free!

    Thank you for reading and enjoy the site!

    More About STEX Collections