Screw DoomScript, Add LuaJIT
Posted: Sun Dec 28, 2014 12:31 pm
Hello Devs of Zdoom, I welcome you to take conideration in adding LuaJIT to ZDoom.
Heres why:
Do a proof of concept type thing, a rough draft if you will, see how it goes.
Heres why:
- DoomScript still hasn't happened.
- LuaJIT exists.
- Why, oh why, would you wanna put in so much work into making a shittier language? when this is already made, tested, stable, powerful, and fast?
- Theres no way you will get the power, speed, dynamicness, and the stability in DoomScript that LuaJIT has.
- There must be a good reason all these developers thought Lua was a good idea to add to their games: https://en.wikipedia.org/wiki/Category: ... ideo_games
- Very small footprint, both hard drive and memory usage.
- You still have complete control over what abilities people can do on your engine.
- Adding LuaJIT to ZDoom shouldn't be that hard.
- Curious about Lua's abilities? look what Garry's Mod did to the source engine.(the entire thing is built on Lua)
- Modders do not have to compile anything, and you could force them to keep everything open source(Lua can be compiled into bytecode if left unchecked)
- If you wanted, you can allow modders to load scripts during runtime, this means(in some cases) modders do not have to restart ZDoom to test changes.
- Take all the bullshit of each text lump and you could mash it into 1 language, seriously, why does each text lump have it's own special syntax? that's annoying, confusing, and just plain messy.
- SRB2 added Lua(not LuaJIT) and their modding capabilities surpassed that of anything ZDoom will ever dream of doing, and their modding scene is booming.
- I could go on and on...
- The syntax isn't C like(is this really a con?)
- Lua's dynamicness, if you don't set you're own standards on how modders should mod, can get messy.
- You'll have disable a lot of Lua stuff for security reasons, I'd sandbox a whitelist of Lua stuff myself.
- I did a benchmark of C, LuaJIT, Python, and Lua using a monty hall problem script, with a billion iterations.
- C = 13 seconds
- LuaJIT = 40 seconds
- Python&Lua = 1hour 30min(I stopped it at 1:30 becuase it was enough to get the point across)
More performance info on LuaJIT vs Lua can be found here: http://luajit.org/performance_x86.html
Do a proof of concept type thing, a rough draft if you will, see how it goes.