Unreal Tournament Community SDK is an open source engine fork of the Unreal Engine 1.x with a modern development framework for Unreal Tournament. A thousand delays later we hit rock bottom and infinite possibilites at the same time with this community-propelled engine fork for one of the greatest 3D games of all time. We will never forget nor forgive what Epic Games did on the 14th December 2022.

Post news Report RSS Why no November Release?

As many might have noticed the release of the November Beta delayed and delayed since 31.10.2011. The simple reasons are: University, another Mod (Food Fight) I'm working on and, too name the most critical one, heavy problems with the implementation of my own Mesh Render System.

Posted by on

Why no November Release?



The Problem


As many might have noticed the release of the November Beta delayed and delayed since 31.10.2011. The simple reasons are: University, another Mod (Food Fight) I'm working on and, too name the frustrating one, heavy problems with the implementation of my own Mesh Render System.

So let me explain why Meshes makes it that difficult to be used for Particle Systems. In Build 250 (September Beta) I finally implemented Static Mesh Support, it worked fine and I intended to use the system for all mesh-based Emitters. That'd be: Mesh Emitters, Vertex Emitters, Beam Emitters, Spark Emitters and Ribbon Emitters. In fact these are actually the majority of all Emitters adapting the Static Mesh Support on the Particle Engine it made many things more difficult.

Emitters using the Mesh System


  • Mesh Emitters: are used to draw 3D Models extensively as Particles
  • Vertex Emitters: based on Mesh Emitters these render Sub Sprite Particles at the Vertices of a 3D Model (giving a volumetric appearence, simulating fog, HDR/Bloom)
  • Beam Emitters: each Particle consists of multiple Segments forming a Beam, Meshes are used for real Beam Emitters here, sprite-based Beam Emitters DO work currently
  • Spark Emitters: render stretched thin Particles giving the appearence of Sparks (example: sparking during welding)
  • Ribbon Emitters: similar to Beam Emitters, but the Segments behave like Ribbons (example: Skyrim's Healing Spell Effect in 3rd Person)

First I simply rendered a Static Mesh at the position of a particle. Worked fine. But when it comes to the critical property "Rotation", the C++ Function GetFrame (UT Public Source) makes life miserable as it's limiting the usage of any Mesh Instance on Actors. Even if passing a different Coordinate System to get arround the rotation issue, it tend to didn't work properly. So I wrote a dummy Actor that is spawned with each particle to be passed to the GetFrame function... well, even that tended to give problems (Critical Errors, using Actors which has to be avoided for performance reasons). Well and without control over Rotation each mesh-based Particle won't turn, spin or orient, which is even much more worse for Beam Emitters as they consist of linked Meshes. After frustration grew so much I stopped working on it and focussed back again on drawing a Mesh directly at the particle's position without a dummy Actor and ask for help now.

December Beta Preview


Thus there'll be no November Release and I hope that I will get around that major problem until the release of the December Release (end of December / early January). Instead the December release will feature a couple of more new features and a lot of bug fixes that were once planned for November Release:

  • Realtime editable Emitters (changing spawn rate of particles and more)
  • all Corona Emitters removed, all Sprite-based Emitters have the option to render the Sprites as Coronas instead
  • new SubUVEmitter (as seen in Unreal Engine 3.x)
  • working SpriteBeamEmitter (they don't rely on the Mesh issue)
  • LOD Support for Emitters
  • Attractor Support for Emitters
  • Wireframe Render Support for Particles
  • new HUD and Gametype specialized for game/mod development with minimalistic look and no weapon (ideal test environment)
  • fixed: floating point function generators (used in the Particle System for manipulating Size, Color, Brightness etc.)
  • fixed: serious game crash caused by the new LevelInfo when starting Game
  • fixed: not saving map after it has been newly created when having a sdkLevelInfo in the map
  • New SDK directory structure, makes it possible to install the SDK completely outside of the Unreal Tournament directory and prevents messing up your configuration files as the SDK will have it's own
  • Material Shader Support for Static Meshes (previously only working on BSP), Decorations and Pawns
Post comment Comments
Bolognius_Maximus
Bolognius_Maximus - - 619 comments

Wow, I hope you get passed all the problems. I'm currently having access violations with something I'm working on, memory leaks are also hidden somewhere in this horrific coding.

Reply Good karma Bad karma+3 votes
UT99_Shadow Author
UT99_Shadow - - 388 comments

Oh ok, tell me, maybe I'm able to help. Didn't know you're capable of C++ coding!?

Reply Good karma+1 vote
MysteriousShadow
MysteriousShadow - - 318 comments

I can wait for the next release.
But I can't wait to play the Food Fight, I hope you finish it soon.
Keep up the good work.

Reply Good karma Bad karma+1 vote
AmaroqDricaldari
AmaroqDricaldari - - 1,331 comments

When you finish the next release, can you make it also effect the game and not just the engine?

And a version for Unreal Gold would also be nice.

Reply Good karma Bad karma+1 vote
UT99_Shadow Author
UT99_Shadow - - 388 comments

I'm no arch-mage, I'm happy if I can fulfill the release of today with what I have!

Reply Good karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: