[INFO] REVEALED - The Packages !
Posted: Sun Jan 11, 2009 2:04 pm
Ok boys 'n girls, time to reveal some information about the package structure, about which many are really curious...
xtCore.u
General Description:
This really is the heart of the package. It contains major functions, base classes, icon textures, utils, tools and so on.
Updates for this pack will be the most difficult ones, because they're deeply rooted in the system of the pack.
It's also one of the packages associated with a DLL-File.
xtFXPack.u
General Description:
The general Effects/Shader Pack. It also holds effects like the Lensflares, Dynamic Coronas, Procedural Coronas, Advanced Sprite Actors, Advanced Projectors and all that stuff.
xtGameplay.u
General Description:
That's the pack where all the Game/AI/Gameplay Magick happens. It contains completely rewritten AI-Classes, allows external AI-Scripting, new advanced Game Types and Game Tools (like Checkpoints or something).
xtTechDemos.u
General Description:
The package concerned with all testing stuff. This one holds tech demo menu classes (yes tech demos will feature their own menu), tech demo objects, machine detection code, tools and stuff.
xtThelemaPhysics.u
General Description:
Ok this is the Pack providing all the advanced physical actors with some physics ownage ! It has new collision code, vehicle code, Hinge/Constraint/Joint/SeeSaw Support (mostly used for vehicles now). The UScript Physics Engine derives directly from the MainUtil containing hundreds of physics and math functions (Quaternion Support, Sim Quarternion Support / Advanced Rotation, Advanced Vector Routines, Interpolation, Revolution Support, Advanced Attachment Support etc.)
As development goes on, it might be native too, like featuring PhysX Support or something, but I'm not really sure about that this time.
xtUnrealCine.u
General Description:
This one contains all files for making ingame movies. Gameinfos, some hud fun, special scripted actors, extended pawns to work as "actors", a scene manager (for special effects), subtitle support and so on.
xtUnrealEnigma.u
General Description:
One of the main packages, next to xtCore and xtThelemaPhysics. It holds nearly ALL stuff concerning the particle engines.
Yes particle engineS. When I was completely rewriting my whole old system I thought of making all stuff more seperate so that everything only does what it has to do. Currently there 6 different Sub-Engines (!) featured by the UnrealEnigma Particle Engine as I call it. There might be a 7th one too, being completely native and for high performance and special effects.
Sub Particle Engine 1 - xtElementSubParticleEngine:
One of the very specialized Sub Engines. It's the root class for all Beam Emitters and Emitters whose Particles are able to interact with each other (on a low level, don't expect per pixel collision with each particle !). Example: Emitters whose Particles are changing their abilities during a changed condition (changed zone, touching something etc).
Sub Particle Engine 2 - xtHermitSubParticleEngine:
Root class for the most specialized Emitters. Subclassed Emitters are completely tailored to their main task, like WeatherEmitters, ProjectileEmitters. They're small and fast, because they only do what they're aimed for. Hermit comes from greek and means "(the) only one" or "eremite".
Sub Particle Engine 3 - xtCrystalViewSubParticleEngine:
A Sub Particle Engine completely Canvas based ! It draws particles using the canvas only, giving some... special abilities It's slightly related to the xtMonotypeParticleEngine.
Sub Particle Engine 4 - xtXSubParticleEngine:
This really is the most important one of all of the sub engines. It features common Base Emitters like SpriteEmitter, MeshEmitter, FogEmitter and Corona/LensflareEmitters, being the probably most used Sub Engine. The X simply stands for the huge amount of possibilities powered by this Sub Engine.
Now for Sub Particle Engines that are as special as an own kind of basic particle engine...
(Sub) Particle Engine 5 - xtHydraRootParticleEngine:
It is it's own root class because it differs much from the other concepts. Instead of one emitter these ones are thought to be build up by multiple different emitters. It strictly uses only templates and predefined data to save performance. However this shouldn't be compared with a Emitter Combiner, it's straight up it's own Emitter made off by multiple different ones. The templates and "real" emitters are Objects and no Actors, the HydraEmitter itself generates complex Particle Effects out of templates. Each HydraEmitter can hold up to 16 different Sub Emitters. The HydraEmitters directly derive from the Main Util.
It is sightly related to the xtMonotypeParticleEngine and the xtCrystalViewSubParticleEngine. You should use this for quick cool effects, instead of messing around with an Emitter Combiner. What it cannot do: Combining Beam Emitters with Sprite Emitters with Weather Emitters and so on (hope the principle is clear).
(Sub) Particle Engine 6 - xtMonotypeParticleEngine:
At first: Monotype doesn't have much to do with the term of "mono". It's from an art technique called the same way, that is used to draw on glass, metal, screens, acryl instead of drawing on paper. Well this engine draws particles as 2D Objects directly on screen being used for menu effects, cursor effects and so on.
Currently I'm thinking of seperating these Sub Engines too... but that would mean just MORE packages mh
Sub Engines 1 - 5 are deriving from xtRootParticleEngine.
Sub Engines 6 derives from the CanvasUtil.
Perpose of so many packages: Since the Unreal Engine features managing recourses by modular scripting and design developers are giving the possibilities to keep their possibly needed updates small. That's my goal too. For example: If I just want to update vehicle code, why then send all the other stuff again, if it would be in one whole file, which would be very stupid
xtVehicles.u
General Description:
Just advanced vehicle code, the vehicles and textures.
xtCore.u
General Description:
This really is the heart of the package. It contains major functions, base classes, icon textures, utils, tools and so on.
Updates for this pack will be the most difficult ones, because they're deeply rooted in the system of the pack.
It's also one of the packages associated with a DLL-File.
xtFXPack.u
General Description:
The general Effects/Shader Pack. It also holds effects like the Lensflares, Dynamic Coronas, Procedural Coronas, Advanced Sprite Actors, Advanced Projectors and all that stuff.
xtGameplay.u
General Description:
That's the pack where all the Game/AI/Gameplay Magick happens. It contains completely rewritten AI-Classes, allows external AI-Scripting, new advanced Game Types and Game Tools (like Checkpoints or something).
xtTechDemos.u
General Description:
The package concerned with all testing stuff. This one holds tech demo menu classes (yes tech demos will feature their own menu), tech demo objects, machine detection code, tools and stuff.
xtThelemaPhysics.u
General Description:
Ok this is the Pack providing all the advanced physical actors with some physics ownage ! It has new collision code, vehicle code, Hinge/Constraint/Joint/SeeSaw Support (mostly used for vehicles now). The UScript Physics Engine derives directly from the MainUtil containing hundreds of physics and math functions (Quaternion Support, Sim Quarternion Support / Advanced Rotation, Advanced Vector Routines, Interpolation, Revolution Support, Advanced Attachment Support etc.)
As development goes on, it might be native too, like featuring PhysX Support or something, but I'm not really sure about that this time.
xtUnrealCine.u
General Description:
This one contains all files for making ingame movies. Gameinfos, some hud fun, special scripted actors, extended pawns to work as "actors", a scene manager (for special effects), subtitle support and so on.
xtUnrealEnigma.u
General Description:
One of the main packages, next to xtCore and xtThelemaPhysics. It holds nearly ALL stuff concerning the particle engines.
Yes particle engineS. When I was completely rewriting my whole old system I thought of making all stuff more seperate so that everything only does what it has to do. Currently there 6 different Sub-Engines (!) featured by the UnrealEnigma Particle Engine as I call it. There might be a 7th one too, being completely native and for high performance and special effects.
Sub Particle Engine 1 - xtElementSubParticleEngine:
One of the very specialized Sub Engines. It's the root class for all Beam Emitters and Emitters whose Particles are able to interact with each other (on a low level, don't expect per pixel collision with each particle !). Example: Emitters whose Particles are changing their abilities during a changed condition (changed zone, touching something etc).
Sub Particle Engine 2 - xtHermitSubParticleEngine:
Root class for the most specialized Emitters. Subclassed Emitters are completely tailored to their main task, like WeatherEmitters, ProjectileEmitters. They're small and fast, because they only do what they're aimed for. Hermit comes from greek and means "(the) only one" or "eremite".
Sub Particle Engine 3 - xtCrystalViewSubParticleEngine:
A Sub Particle Engine completely Canvas based ! It draws particles using the canvas only, giving some... special abilities It's slightly related to the xtMonotypeParticleEngine.
Sub Particle Engine 4 - xtXSubParticleEngine:
This really is the most important one of all of the sub engines. It features common Base Emitters like SpriteEmitter, MeshEmitter, FogEmitter and Corona/LensflareEmitters, being the probably most used Sub Engine. The X simply stands for the huge amount of possibilities powered by this Sub Engine.
Now for Sub Particle Engines that are as special as an own kind of basic particle engine...
(Sub) Particle Engine 5 - xtHydraRootParticleEngine:
It is it's own root class because it differs much from the other concepts. Instead of one emitter these ones are thought to be build up by multiple different emitters. It strictly uses only templates and predefined data to save performance. However this shouldn't be compared with a Emitter Combiner, it's straight up it's own Emitter made off by multiple different ones. The templates and "real" emitters are Objects and no Actors, the HydraEmitter itself generates complex Particle Effects out of templates. Each HydraEmitter can hold up to 16 different Sub Emitters. The HydraEmitters directly derive from the Main Util.
It is sightly related to the xtMonotypeParticleEngine and the xtCrystalViewSubParticleEngine. You should use this for quick cool effects, instead of messing around with an Emitter Combiner. What it cannot do: Combining Beam Emitters with Sprite Emitters with Weather Emitters and so on (hope the principle is clear).
(Sub) Particle Engine 6 - xtMonotypeParticleEngine:
At first: Monotype doesn't have much to do with the term of "mono". It's from an art technique called the same way, that is used to draw on glass, metal, screens, acryl instead of drawing on paper. Well this engine draws particles as 2D Objects directly on screen being used for menu effects, cursor effects and so on.
Currently I'm thinking of seperating these Sub Engines too... but that would mean just MORE packages mh
Sub Engines 1 - 5 are deriving from xtRootParticleEngine.
Sub Engines 6 derives from the CanvasUtil.
Perpose of so many packages: Since the Unreal Engine features managing recourses by modular scripting and design developers are giving the possibilities to keep their possibly needed updates small. That's my goal too. For example: If I just want to update vehicle code, why then send all the other stuff again, if it would be in one whole file, which would be very stupid
xtVehicles.u
General Description:
Just advanced vehicle code, the vehicles and textures.