Making my own engine with LUA?

slayer20slayer20 Killed a man once. Join Date: 2007-12-13 Member: 63157Members, Reinforced - Shadow
This is what UWE did right? I want to know how I might start this...

I know this will be very hard and time consuming, but I would like to know what the first step might be in creating my own game engine with LUA.

What might I google to find tutorials on this?

Comments

  • remiremi remedy [blu.knight] Join Date: 2003-11-18 Member: 23112Members, Super Administrators, Forum Admins, NS2 Developer, NS2 Playtester
    edited July 2009
    Uh... they didn't create their engine with LUA. That would be crazy.

    LUA is a scripting engine. Scripting engines have their advantages, but a game engine needs to be fast and have a low footprint. You can't do that with a scripting language.

    What UW did is they wrote their own engine (I think in C++), and tied it into LUA and wrote all their game's logic in LUA. I have my misgivings about the speed of that as well, but it sounds like it has worked well for them, helped to speed up their development time, and will mean that NS is highly customizable.
  • slayer20slayer20 Killed a man once. Join Date: 2007-12-13 Member: 63157Members, Reinforced - Shadow
    Ah.

    So the LUA is used to make all the gameplay stuff like making a weapon and selecting what model it uses and changing how much ammo it holds? And the C++ is just used to render everything on the screen?

    This is somewhat confusing to me as I'm not sure what the differences are.
  • DawormDaworm Join Date: 2009-06-22 Member: 67900Members
    <!--quoteo(post=1719256:date=Jul 25 2009, 03:42 PM:name=slayer20)--><div class='quotetop'>QUOTE (slayer20 @ Jul 25 2009, 03:42 PM) <a href="index.php?act=findpost&pid=1719256"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Ah.

    So the LUA is used to make all the gameplay stuff like making a weapon and selecting what model it uses and changing how much ammo it holds? And the C++ is just used to render everything on the screen?

    This is somewhat confusing to me as I'm not sure what the differences are.<!--QuoteEnd--></div><!--QuoteEEnd-->
    C++ (assuming that is what's used) is the "base" language the game engine is built on. That is compiled in a way that you just install and it "works" (with or without bugs is another story entirely).

    LUA is another form of language that is used for scripting events in the game. Sure they could use C++ but then they would have to be compiled into the "core" of the program.
    Using whatever API setup that UWE build into the "core" of the program, you will use LUA to call on functions to render results on screen. Be it to respond to a key-input or make something happen when you reach a certain point on a map. Think of it (if you will) as the LUA controlling all the fluff on screen. What you see, HOW you see it (IE: fading cause you are dying? red button because you pressed a button?).

    You can (with licencing the engine) take the core engine from UWE, and write your own scripts and commands to have your own game, running on and using UWE's core engine. However that won't be free, you can mod NS2 for free yes: Add game-play features and elements, but to create and release your own paid game on said engine? Not possible unless you pay for rights to use the software in such a way.

    Feel free to code in LUA your own game-changing mods for a unique feel!!! :)
    I'm probably going to need some custom LUA for my map ideas I have so you learn and I'll hit you up :P
Sign In or Register to comment.