The Spark Engine
Hugh
CameramanSan Francisco, CA Join Date: 2010-04-18 Member: 71444NS2 Developer, NS2 Playtester, Reinforced - Silver, Reinforced - Onos, WC 2013 - Shadow, Subnautica Developer, Pistachionauts
<div class="IPBDescription">What makes it tick?</div>Hi everyone!
In the future, I want to do a video that informs people about the technical aspects of the Spark engine. The problem is I'm no expert on engines or programming in general! Right now the only thing I think I know is that it (quite uniquely?) only uses dynamic lighting.
So I was hoping that you, yes you reading this post, could tell me what you've heard/what you know about Spark in its current build.
What makes it different to other engines, like Source, UT3, Frostbite, the original goldsource, etc etc?
What are some unique aspects of it? Common aspects? Quirks?
Any help would be much appreciated!
In the future, I want to do a video that informs people about the technical aspects of the Spark engine. The problem is I'm no expert on engines or programming in general! Right now the only thing I think I know is that it (quite uniquely?) only uses dynamic lighting.
So I was hoping that you, yes you reading this post, could tell me what you've heard/what you know about Spark in its current build.
What makes it different to other engines, like Source, UT3, Frostbite, the original goldsource, etc etc?
What are some unique aspects of it? Common aspects? Quirks?
Any help would be much appreciated!
Comments
Normal Mapping
Occlusion Culling
Post-Processing
Some engines that are 'next gen' still do not have Dynamic Lighting and have to have their maps pre-compiled for lighting info.
Engine currently lacks (as of build 151):
Motion Blur
Anti-Aliasing
Stereoscopic Mode (3D Vision)
Proper Multi-GPU support.
I'mma go with clocks!
Nanites
nano-clocks?
nano-time
the on the fly loading and stuff fis cool. An editor that is realtime/what you see is what you get (well not entirely true, but it is all still in early development)
real-time occlusion culling (don't think anyone else has implemented this..!)
<a href="http://www.unknownworlds.com/ns2/news/2009/03/occlusion_culling" target="_blank">http://www.unknownworlds.com/ns2/news/2009...clusion_culling</a>
<a href="http://www.unknownworlds.com/ns2/news/2010/3/friday_update_level_processing" target="_blank">http://www.unknownworlds.com/ns2/news/2010...evel_processing</a>
this also looks to be playing with the top dogs
<a href="http://www.unknownworlds.com/ns2/news/2009/10/anatomy_of_a_scene" target="_blank">http://www.unknownworlds.com/ns2/news/2009...tomy_of_a_scene</a>
edit: imagine this together with tessellation and displacement mapping *droool*
which would also create publicity by putting NS2 on the DX11 games-list, among the 20 (or so) games already there
<a href="http://en.wikipedia.org/wiki/List_of_games_with_DirectX_11_support" target="_blank">http://en.wikipedia.org/wiki/List_of_games...ectX_11_support</a>
then there's the whole LUA part, where the whole game-part of the "ns2 package" is virtually separate from the engine-part, think only a handful other games have done this
haven't you read the blog?
or are you looking for some new info from the devs?
Also that multi-processor support is not in either (I am guessing it will go in later?) is very interesting, because I have a core2 duo laptop, that will surely mean a big improvement!
Also that multi-processor support is not in either (I am guessing it will go in later?) is very interesting, because I have a core2 duo laptop, that will surely mean a big improvement!<!--QuoteEnd--></div><!--QuoteEEnd-->
multi-PROCESSOR or multi-CORE ? (i actually don't know if the OS makes this transparent to the application or not...)
i believe multicore support is already in, since it uses both my cores to 80-95%
can someone with 3-6 cores log their CPU-usage?
i believe multicore support is already in, since it uses both my cores to 80-95%
can someone with 3-6 cores log their CPU-usage?<!--QuoteEnd--></div><!--QuoteEEnd-->
Basically the same thing as far as applications are concerned. Windows/BIOS is the one that needs to worry about making multiple physically processors work together properly.
That application just needs to worry about making multiple threads for those processors to utilize.
Really, we should just say multi-threaded instead.
Also as has been mentioned, the fact that the actual game play that is NS2 is coded entirely in LUA is rather rare. I mean even tho I have some slight suspicions that it will serve to splinter the community given how easily NS2 will be possible to mod. I also realize the potential of NS2 being a source for 100 games in 1. I mean just look at what the thousands of average Joe's have managed to do with G-mod during the years it's been out.
I for one can't wait for NS2-Wiremod :D
Dude, Spark has <b>dynamic</b> occlusion culling! <a href="http://www.unknownworlds.com/ns2/2009/3/occlusion_culling" target="_blank">Real-time occlusion culling.</a>
Which, btw, makes it ideal for a minecraft mod.
I want to change assets on the fly!!, it would save so much time. Unfortunately i can's run the game and editor at the same time or my CPU may reach out and slap me. Actually my ram maxes out and i freeze. Maybe i need to visit new egg soon ehh?
From memory it all used pre-compiled visboxes though, which tended to require a fair amount of massaging in certain cases to avoid bits of the map that didn't murder your computer.
--Scythe--
So (at risk of sounding like a tard) I assume that the dynamic occlusion culling in Spark is similar to Frostbite and Cry2 engines, and can be contrasted with Source (which requires the Vis tool). Does anyone know how UT3 occlusion works?
Common themes seem to be a lack of pre-compiling (map geometry, no static lighting etc) and excellent tools.
<!--quoteo(post=1802453:date=Oct 23 2010, 09:16 AM:name=NS2HD)--><div class='quotetop'>QUOTE (NS2HD @ Oct 23 2010, 09:16 AM) <a href="index.php?act=findpost&pid=1802453"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->I assume that the dynamic occlusion culling in Spark is similar to Frostbite and Cry2 engines<!--QuoteEnd--></div><!--QuoteEEnd-->
link to this info plz?
lol no I meant that as a question. I am assuming... Because I do not know. I 'assume' that these engines would not have pre-generated VIS style occlusion because of the destructible nature of the environments, thus I can draw a loose link between them and Spark when I make the video. But I of course I could be dead wrong!
Pre-compiled.
but searching wikipedia gives the HPL engine 2
<a href="http://en.wikipedia.org/wiki/HPL_Engine#HPL_Engine_2" target="_blank">http://en.wikipedia.org/wiki/HPL_Engine#HPL_Engine_2</a>
dunno the exact realtion between RT-OC and CHC.
CHC seems to be a part of UWE's implementation.
(interesting that both are indie devs....)
and other visible stuff.
but it depends on which people you want to see it
--Scythe--<!--QuoteEnd--></div><!--QuoteEEnd-->
Every engine does something different. Some use pre-computation which means you have a lower run-time cost. Spark does theirs dynamically, which will allow them to have much more dynamic scenes, and possibly better results, at the cost of a higher run time cost.
*Edit* Also, I guess I'll add that yes, perhaps using the CHC++ algorithm is unique to UWE's implementation as it's relatively new (roughly 2 years old). However, other engines implement other algorithms, which work best for them in their specific cases.
One of the things I am most interested in is the lighting. Specifically, that there is only dynamic lighting in Spark. Does anyone know of any other engines that do this? I assume that Cryengine 2 does... Any others? I'd be very interested to know if there are any other corridor-bound games running on dynamic-only lighting.
Does anyone know what kind of performance hit an engine takes when it opts for only dynamic lights? Has it become less of an issue with modern GPUs, or remained the same?
and 99% sure it was the first with dynamic lighting
but yea, pretty much any advanced title since then has dynamic lighting afaik...