UDK

So, Jetha and John asked me to come in and make a basic AI for their game project, which is uses the UDK for it's engine.

I have never used UDK before, "this will be fun, it's going to be better than TorqueScript" I tell myself, having been burned by engine scripting languages before.

My opinion of UnrealScript 3? Pretty good! it's weird working with everything in what seems like a global namespace, but it's quite well documented (had a little bit of trouble trying to get the player's controller), the way it handles states is interesting (in the good way, I swear!). Given that how the Level Editor handles, I think it's a signed distance field based boolean operation based geometry editor (demo scene, much? :D), for level editing, at least, which is freaking sweet. It makes me want to make a loading screen a level loader that displays a section of the level geometry being generated by the level's geometry boolean operation list, one operation at a time, but that is for when I actually know how to implement signed distance fields in OpenGL buffers; an idea for a later time.

The use of WorldInfo and LevelInfo seems pretty sweet to me, but it feels weird not declaring scripts that are depended on and it just working; it's awesome, but feels slightly off at the same time. Having all nonstatic parts of the level extend Actor is only weird until I remember that my entire framework is based on all renderable objects being Entitys (pot, meet kettle. >_>)

The way Unreal handles data is making me reconsider how to store my scenegraph in CHD's framework; with every data-type innately also being a single linked list in unreal, I realised that CHD isn't really using std::vector in the right way, particularly in the renderer, where it's just using them as a single linked list anyway, rendering one after another.

From what I have heard, Unreal 4 will drop UnrealScript and use C++ as a scripting language. While I see the benefits, it seems like a step backwards if we have to do all the pointer chasing and double declaring of C++ after the Java-C# like experience of UnrealScript3; having seen the declaration character based mess that is .Net based C++, it doesn't seem like a step forward to me.

Eh, at least Unreal 4's lighting engine looks FREAKING AMAZING. The more ComputeShader based lighting effects that will pop up given time, the more that I get excited for how DAMN PRETTY everything will look in the next couple of years when people figure out how to handle the next gen of consoles.