Jump to content
  • entries
    38
  • comments
    119
  • views
    87,701

Engine Integrated Framework


Canardia

1,997 views

 Share

Josh talked about the new engine integrated Framework:

http://leadwerks.com/werkspace/index.php?/blog/1/entry-57-merry-christmas/

 

The engine integrated framework is the only way at the moment to have LUA and C++ code use the same framework instance.

This brings some great benefits over the old way how framework works:

1) You can have LUA scripts which access framework commands, and they work also in your C++ program. Earlier the LUA scripts could not access the framework commands of your C++ code, and you couldn't create a 2nd framework instance from LUA either, since it would have caused a big mess.

2) You can port framework to other languages much easier now, as you only need to port the C headers.

3) When framework is modified, you barely need to do anything to update your "other than BlitzMax or C/C++ code". In most cases the modifications and updates are only internal, so the interface doesn't change. In this case you don't need to do anything. In the case that the interface changes, you only need to update the changed interface commands.

 

Although the C/C++ framework source code will still remain, it is not needed at the moment (it will be needed later on when LE is ported to C++ (officially (for console ports), or inofficially (by source owners)). I think that now it will mostly serve as documentation how framework works internally.

 

At the same time framework will get a more object oriented environment also, since LEO needs to access it too.

Optimally, game developers would use LEO and Lua, as their syntax is almost identical (and can be made even more identical when Josh makes every Lua command OOP style). I say optimally, because with the combination of LEO and Lua you get the fastest possible code for a game with the biggest 3rd party library support (from LEO), and also the easiest, most interchangable and fastest to code code (from Lua).

 

GameLib 0.0.16.0 will also use the engine integrated framework, so it will bring another boost to C/C++(LEO) game development (and to BlitzMax and to other languages if the community would be more supportive in porting GameLib :) ). Although if the C++ game development accelerates even more in future, soon anyone not using C++ would be a fool and waste his time, and that's not a bad alternative either. I personally think that the world would be much more advanced if people would stop making new languages all the time (there are over 350), and focus on C++ only.

 Share

4 Comments


Recommended Comments

I also share this interest for the new integrated Framewerk. If I get some time, I could try porting GameLib, but that's somehow not in my order of priorities.

Also, encouraging words on new languages.

Link to comment

I just had a brilliant idea! Since porting source code seems to be a major handicap, why not make gamelib a DLL too? Then all languages could use it, as making the header file is much easier. It would be just as customizable as it is now in source code form, since all customizations have to be done using callbacks anyway (you don't want to modify the source code, since then you essentially throw yourself out from updates (the same applies for framewerk source code too)).

Link to comment

If GameLib gets compiled, I might get time to port it to C# and wrap it accordingly. Framework is now wrapped in C# too, and available for download.

Link to comment
Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...