I dont have big understanding of Unreal Engines. I know the game script of Unreal is in some Cpp like language and I have heard they plan to move to Python. And they have few graphical tools, editors ...
I know that Quake logic is connected by few events to the engine (think, touch, prethink ...). How it is in Unreal?
I know that Quake physics is quite simplisitc, you just set movetype, solidtype attribues and touch, block event handlers. And if you want there is walk, setorigin, testpoint (??? testcontent ??? not sure about name) and traceline. How it is in Unreal?
How much is unreal sctipt just game logic like in quake?
In quake logic there are some broadcast/unicast messages, they most likely work even on net. Does Unreal have alternative?
One thing bothered me. How come there is more commercial games in Unreal than in Quake? Is it beceause of marketing, technology which fits that games better, ease of use, tools, available help (support), how graphics look like (first Unreal was looking MUCH better than other games in software) ...?
Differences in Quake and Unreal
unreal typically uses subtractive geometry, while quake uses additive geometry. generally this difference just means unreal editors crash on you more often. grr.
uscript is fairly different from qc. its fully object oriented rather than the procedural aproach used in qc (more like java than c++).
uscript's modularity permits runtime inheritance, like java, which is what provides support for mutators. While I've added support for mutator-type mods in FTE in the past, they're a pain to properly integrate. qc's dependancy upon globals is a major flaw in that regard.
additional functionality in unreal is provided by new classes rather than just new builtins, which provides much more context, such classes can be written in c++ code to provide stuff like socket apis.
uscript contains replication information. you configure various fields and they get replicated to the client automagically.
unreal was built with gamecode running clientside from the start.
uscript is fairly different from qc. its fully object oriented rather than the procedural aproach used in qc (more like java than c++).
uscript's modularity permits runtime inheritance, like java, which is what provides support for mutators. While I've added support for mutator-type mods in FTE in the past, they're a pain to properly integrate. qc's dependancy upon globals is a major flaw in that regard.
additional functionality in unreal is provided by new classes rather than just new builtins, which provides much more context, such classes can be written in c++ code to provide stuff like socket apis.
uscript contains replication information. you configure various fields and they get replicated to the client automagically.
unreal was built with gamecode running clientside from the start.
-
- Posts: 185
- Joined: Wed Apr 13, 2011 1:34 pm
Thank you very much for all the answers .
I read somewhere that to make one level for Doom it takes much less time than to make on for Quake. I am going to try to modify Qoole, so I can extrude faces (and post this modification, probably in form of patch or tutorial here) ... to make pillars and levels like in Doom Builder, level editor for Doom (not sure if other Doom editors do it similar way).
I dont know if I understand you correctly. Replication information is similar to those globals shared by clients and attribues shared by all entities?
I also heard that it is easier to make levels in subtractive geometry. I use Qoole.Spike wrote:unreal typically uses subtractive geometry ...
I read somewhere that to make one level for Doom it takes much less time than to make on for Quake. I am going to try to modify Qoole, so I can extrude faces (and post this modification, probably in form of patch or tutorial here) ... to make pillars and levels like in Doom Builder, level editor for Doom (not sure if other Doom editors do it similar way).
So new functionality is added by subclassing and not by delagation?Spike wrote:runtime inheritance, like java ... additional functionality in unreal is provided by new classes ..
On what principle these mutators worked?Spike wrote:...I've added support for mutator-type mods in FTE in the past ...
So it does not have delegation, does it?
Does QuakeC allows it with some modification (i doubt it has this interface by default)? Id really love to use languages like sql or prolog here (I dont want to do resolution at hand) .Spike wrote:additional functionality in unreal ... classes can be written in c++ code to provide stuff like socket apis.
Spike wrote:uscript contains replication information. you configure various fields and they get replicated to the client automagically.
I dont know if I understand you correctly. Replication information is similar to those globals shared by clients and attribues shared by all entities?
I heard they will use python instead of uscript, not user if it is true.Spike wrote:unreal was built with gamecode running clientside from the start.
-
- Posts: 185
- Joined: Wed Apr 13, 2011 1:34 pm
From what I know, somewhat similar. UnrealScript has both touch and untouch, QuakeC lacks the latter. UnrealScript also has ways of allowing you to say "do foo for 2 seconds, then do bar" without having to have a seperate functions for foo and bar and using think/nextthink to change between them.
Googling "unrealscript reference" will fill in the gaps of my knowledge. Also, note that it uses actor to mean entity.
It also supports state-based programming (most AI systems in games, including Quake, use this) at the language level, but note the caveats of this in the documentation...
Googling "unrealscript reference" will fill in the gaps of my knowledge. Also, note that it uses actor to mean entity.
It also supports state-based programming (most AI systems in games, including Quake, use this) at the language level, but note the caveats of this in the documentation...
Roaming status: Testing and documentation
There are jokes at Func_Msgboard about "carving levels" in Quake (reference to the Worldcraft "carve" feature). It is a tool you must use very carefully as there are invalid shapes (concave ones, I believe) that will crash map compilers.daemonicky wrote:I am going to try to modify Qoole, so I can extrude faces (and post this modification, probably in form of patch or tutorial here) ... to make pillars and levels like in Doom Builder, level editor for Doom (not sure if other Doom editors do it similar way).
Generally the "carve" jokes at Func are about the completely wrong way to make a map for Quake (that lead to heartbreak and such that generally only someone inexperienced would attempt to do).
Just saying, although you can carve maps out of a huge block, the Quake engine and the tools aren't really designed for the chaos that when ensue.
The night is young. How else can I annoy the world before sunsrise? Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
-
- Posts: 185
- Joined: Wed Apr 13, 2011 1:34 pm
I wish I did not. This language is soo complex, like Cpp. Gee, it even has goto .Lardarse wrote:Googling "unrealscript reference" will fill in the gaps of my knowledge.
They can iterate trough all collisions so it is procedural (foreach TouchingActors). It might be useful ...
States http://udn.epicgames.com/Three/UnrealSc ... tml#States in it looks nice to me. Overriding each event handler (think, touch, block ...) for each state (state implies behaviour so you write for each state new think, touch ...). I think this can be done by some scripting too ... this looks like syntactic sugar ... I mean, they just hoisted what would you otherwise do as a
Code: Select all
touch_function = { if (self.state = 1) { } else if (self.state == 2) {} }
Code: Select all
self.state1 = { self.touch = touch_function1 }
self.state2 = { self.touch = touch_function2 }
.
Cool. But it can be done by scripting language in Quake C. [/quote]Lardarse wrote: "do foo for 2 seconds, then do bar" without having to have a seperate functions for foo and bar and using think/nextthink to change between them.
Some CSG would be just fine in Quake editors. It would produce concave maps but concave maps can be converted into convex one. It is possible in general, but I do not know which editors or programs for Quake do that.Baker wrote:There are jokes at Func_Msgboard about "carving levels" in Quake ...
Yes. Quake supports only convex shapes see "Structure of Quake Levels" in http://www.bluesnews.com/abrash/chap64.shtml .Baker wrote:(in other words) "... also concave invalid shapes crash map compilers... "