Harwin on 19/3/2005 at 20:23
I've seen some comments back and forth about how much UnrealScript works in the game.
For instance:
Quote:
The Trigger Script tool translates the Unreal Script into a friendly, easy to manipulate editor, but every line of "trigger script" has some Unreal Script behind it, which is probably saved in a .uc file somewhere.
Not true. The Trigger Script tool has ZERO Unreal Script behind it. It translates into our own scripting byte code which while theoretically user-editable has no text->binary compiler except that provided by the trigger script browser itself.
UCC's from other versions of Unreal WILL NOT WORK with our property system.
There is little to no (I think no, but I could be wrong) UnrealScript usage in the game *EXCEPT* for defining properties. That's why if you export Garrett.uc there's a lot there... but none of it code, all of it property definitions.
Some comments:
1. We added our own property system everywhere for a lot of reasons for designer flexibility. This makes existing UCC compilers fail.
2. The new property system DOES support UnrealScript (or did, no guarantees now), however, we basically ditched UnrealScript because it although in theory designers could work with it, it really wanted programmers, and we wanted a designer-centric scripting language (that's why there's precious little flow-control in trigger script)
3. I'm pretty sure in order to save memory I stripped out some of the UnrealScript functionality (it added a fair number of bytes per object (which is more than just actors) ).
All of these together mean that it wasn't worth releasing UCC because it was highly unlikely to do anything useful. (I'm not sure we call into it at all)
scumble on 19/3/2005 at 20:40
Thanks Harwin. Just out of interest, how much of the Unreal base is actually left?
Random on 20/3/2005 at 08:40
It sounds like Epic is implementing a similar system in the Unreal 3 engine, so next to no programmer input is required.
Harwin on 21/3/2005 at 18:35
Quote Posted by scumble
Thanks Harwin. Just out of interest, how much of the Unreal base is actually left?
That depends. Our property system and much of our loading code just builds on top of their code. It would have taken a lot more work to rewrite all that as well. Certainly the editor is largely their code. And the skeletal animation system. But other than that core, most everything else is all our own stuff.
Also, our last code drop from them was a prerelease version of an engine. It just got too hard to do additional merges of their changes with our codebase. So there's been some inevitable divergence even in "their code" as they fixed bugs and added features one way and we went another, even though we started from a common base.