lua vs v8

Started by
13 comments, last by DejaimeNeto 10 years, 4 months ago

I'm been working on a engine for about 3 years, but had a break from it for some months now. Diving back into it now and I'm going to embed some scripting language for it. I thought I had decided on JavaScript with V8, but now I'm thinking maybe I want to use Lua instead. I'm having trouble making up my mind.

I'm intrested to hear from people using either of them and why you chose the one you did. Does someone know of some engines that uses either of them that I can look at some examples on how it used?

Advertisement
Cryengine use lua for scripting and it's written in c++. Source code not for free though

UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32

--
GREAT QUOTES:
I can do ALL things through Christ - Jesus Christ
--
Logic will get you from A-Z, imagination gets you everywhere - Albert Einstein
--
The problems of the world cannot be solved by skeptics or cynics whose horizons are limited by the obvious realities. - John F. Kennedy

Lua is used more widely for scripting, so there's a lot of knowlege and third-party systems for making integration easier. For myself I'd actually prefer javascript (ecmascript, actually) -- there's nothing wrong with Lua though, I just feel that ecmascript is a more useful skillset all-around. Unfortunately the knowlege and tooling for integrating v8 isn't really there, so you're on your own for the most part. To its benefit, ecmascript is also easy for people with a background in flash or front-end web development to 'transition' to, which could be a way to differentiate your engine from all the rest.

throw table_exception("(? ???)? ? ???");

I'm interested in the same topic and made some research.

First of all, v8 is faster than pure Lua but slower than LuaJIT. I know that both Lua and LuaJIT successfully implemented in different engines and games. I haven't heard of a decent engine\game that implements v8 though.

Lua is a very cute language, I had some experience with it. Its widely used in games, so there should be a lot support for it.

JavaScript on the other side is getting very popular now because of web developers who uses it, node.js. So consider this if you are planning to find people who have experience in JavaScript. However there are no documented experience of using v8 as a game scripting language, so consider this as well.

my 2 cents

I would love to change the world, but they won’t give me the source code.

I've been googling a bit the last days too. I like the syntax better for js than lua. That might be because I use abit of js at work though? :p Performance shouldn't be that cruisal for a scripting language so I don't think I will base my decission on that.

I found this link:

http://www.moddb.com/games/rogue-reborn/news/rogue-reborn-googles-v8-and-implementation

Here is what I read

http://create.tpsitulsa.com/blog/2009/01/29/v8-objects/

I think its the closest article to game dev I found when I looked for this topic.

Of course you have the original Google tutorial

https://developers.google.com/v8/embed

I would love to change the world, but they won’t give me the source code.

Lua is very easy to implement and to bind to other languages. I'm guessing that's a large reason as to why it's mainly used in AAA games. It's also a small footprint which I've heard Javascript engines are not compared to Lua.

Does it make sense to use stuff like node.js in the scripts to write a server all in js? I've never used node.js before so not sure how it would work, but a friend of mine said that could work?

One of the big plus points of Lua is that it's extremely lightweight, much more so than any JS engine. That combined with the easy deployment and reasonably good integration support make for a compelling package.

SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.

Nanook,

Node.js is just a software platform written in C, C++ and JavaScript. The core of node.js is written in C and C++ with bindings to JavaScript. And yes, it is possible to create a web server entirely with node.js. I'm not going to say you should do that before I'll know what your needs are.

As for scripting, I wanted to create scripting engine with JavaScript, simply because I love JavaScript, but I assume its easier and more common to use Lua because it was already tested and proved to work. And I agree with previous comments, Lua is very lightweight.

I would love to change the world, but they won’t give me the source code.

This topic is closed to new replies.

Advertisement