Quote: David Haley wrote:
I'm not sure it's appropriate to proceed like those studies.
The "time" part of the "time/loc" measurement was how much time they spent implementing new features as the specification evolved on them.
IMNSHO a grammar is "better" ("simpler", "more powerful", "more concise", ...) if you can write and maintain a functionally equivalent program with less programmer time.
Quote: Nick Gammon wrote:
For one thing, each language has different facilities (sets in Python were mentioned), so some sort of "common" interface would have to use the lowest-common-denominator that is provided by all languages (eg. you can forget sets).
Wouldn't the actual language interpretation be left to the embedded parser you're linking against? So if you don't write any script functions that require a set to be passed to them, you don't need to know if the language supports sets or not?
Quote: Nick Gammon wrote:
The MMORPG game "World Of Warcraft", which (claims to) have over 8 million subscribers, each paying around $US 15 per month (work that out!) chose Lua as its scripting language.
They've sold over 8 million boxes which is a good enough metric for me.
However, WoW is developed by Blizzard. I have no confidence in their programming team :(
WoW is King of the MMORPG heap because Blizzard spent more marketing dollars on it than most of the competition have so far grossed. Add to that it's Warcraft (a recognizable name) and the network effect (ie. I'm on WoW so I'm going to get all my RL friends onto the same shard). It would be more of an anomaly if it wasn't #1 for market share.
On a side note, Garry's Mod (for HL2) also uses Lua.
Sid Meier's Civilization 4 from Firaxis Games uses Python. EVE Online from Crowd Control Productions/White Wolf uses Stackless Python. Vampire the Masquerade: Bloodlines and Return to the Temple of Elemental Evil from Troika use Python.
Of course, Firaxis make good games but they aren't very good programmers. EVE is four years and something old and I think that demonstrates something. Troika died the one true and final death some time ago... but VtM:B is still being patched by the community to fix bugs that were present when the company ceased operations and the source code reverted to the parent publisher. That's impressive in my book BUT it doesn't really matter what language it was scripted in, just that it had a scripting language.
(Garry's Mod and VtM:B are both built over Valve's Source Engine.)
Quote: Nick Gammon wrote:
Now, Blizzard is big enough to write their own language, or spend weeks evaluating the various languages available.
So was Bethesda when they wrote Morrowind, Bioware when they engendered NWScript and Gas Powered Games for Skrit (the declarative(!) language underlying the original Dungeon Siege).
I call all three languages abominations :P
Quote: Nick Gammon wrote:
One supposes that they compared Lua to Python, Perl, TCL, Java, and all the other possible languages, plus the option of developing an in-house one. Surely the fact that they chose Lua says something about the language?
One hopes. Unfortunately, being a games developer on a time table, it is just as likely they drew names out of a hat or picked the language the developers were most familiar with.
The Mozilla Foundation has all of their plugins (.xpi) written in JavaScript... primarily because that was the cheapest language to implement when it came time to extending the client ($0.00 as they had it already, they just needed to add functions for scripting the rest of the window).
If you choose to write the new client (and open the source) then if anyone feels the need to add Python (Ruby, Perl, Tcl, Java, Smalltalk, PHP, VBScript, C#, Ada, Fortran) support, they can.
Quote: Nick Gammon wrote:
Like I said before, it is hard to import existing things (except simple ones) without providing equivalent script routines to what is currently available. And do to that, the overall design has to be similar, so we are getting back to a clone then.
Most of my timers/triggers/aliases/etc... don't involve scripting. They're simple Send-to various places or recolouring. I'd hope they could be converted programmatically to the new system if/when it's written and I migrate :)
Quote: Nick Gammon wrote:
My objective is always to have code that runs fast - I grew up with PCs - if I can call them that - that ran at 1 Mhz and had 256 bytes of memory, so writing code that is compact and fast is pretty-well second nature to me.
Err. Weren't Altair 8800s clocked at 4MHz or so? And the "PC" (IBM 8086) was 8MHz/256KB?
Quote: David Haley wrote:
Seems to me that this would require some degree of cooperation with the MUD server.
Cooperation would make it easier (MXP already has the potential). It could be done without, provided you have triggers for every inventory interaction &c..
Further to that, the ability for Mud developers to produce their own plugins that possibly made the client semi-graphical ... like MXP on steroids and better integrated at each end :-/
Legend Entertainment made text adventure games once upon a time that had a static image for each room and images for each item. That's more than most muds would want and the Pueblo image stuff / MXP can theoretically do that already but it's something to think about.
Throw the current room description into a pane (with image?), put the current list of people in the room into another pane, items on the ground into YA pane (or different section of previous pane), redirect chat to chat pane, combat to combat pane... could be interesting? |