quote:
Original post by Kylotan
All I''m really seeing then, is "scripts are good for your development team / modders" and "scripts can be good where a data-driven model would be too complex" perhaps. Nobody is finding using a higher level language to have a significant positive effect on the actual development of the main code then?[...]
If by "main code" you mean the "engine" (graphics, sound, input, etc), then you are correct. Scripting languages are usually used for game logic and not the processor intensive parts(the engine).
quote:
Original post by Magmai Kai Holmlor
[...]Most Quake mods are done using dll extentions. The bot AI is the only significant item that uses the scripts (and it''s ignored, because interpretted C is probably the last choice one would make for writing AI scripts).
Quake 1 had a scripting language called Quake C, (don''t remeber quake 2 modding), and Quake 3 has an X86 assembly VM (it might not get used, but it is there and the Mod SDK includes tools for compiling the mod code to it). Also, the Unreal engine uses scripting almost exclusively for all game logic. Many RTS games include some form of scripting for the single-player campaign, and almost all cRPG games use some form of scripting for much of the logic and data.
Half-Life used a DLL for modding, and I found it to be much more difficult than modding Quake 1. It has a fairly simple object hierarchy, but with all the single inheritence it isn''t easy to know what functions any object has available.
Since scripting languages are usually less complex(and higher level) than full languages, it is generally easier to figure out what code does and modify it.
Since a scripting langauge is usually interpreted, it isn''t too hard to build an editor into the game, which allows modifying the logic in realtime, which should decrease the time it takes to to fix logic errors since you can see the result almost instantly you know if its fixed, and if not you can change something and see the effect almost instantly again. If you hardcode the logic, it can take a long time to fix, especially if compile times get long. With compilation taking 1 minute, that means it will take at least 1 minute to test even the smallest of changes.
Also, as has been discussed in threads on Lisp, it often takes less lines of code to produce a given effect in a higher-leve language. Since there are less lines, there is a smaller area to search when a bug shows itself, and there is less are to make a mistake.
Yes, scripting is essentially just a more flexible form of data-driven design.
"Walk not the trodden path, for it has borne it's burden." -John, Flying Monk