Jump to content

LEO, Framewerk, LUA. Where does one start?


Scott Richmond
 Share

Recommended Posts

I'm trying to get my head around all the modules LE now uses, and what role they could play in my game.

 

LEO

I'm loving LEO. All nice a OO and modular. So I'll keep using that as much as I can.

 

Framewerk

I'm not entirely sure I get Framewerk. What is its purpose? It looks like its a bunch of classes that help simplify the rendering aspect of the engine. But it also looks like it locks you into a pretty specific design philosophy. Why are some of you using Framewerk?

 

LUA

I've been reading most of the LUA threads that have popped up on the forum thus far and I really like the sound of it. I think I could have a good use for it. How does it integrate with a C++ codebase though? I did like the sound of models having an attached LUA script that can have classes such as Update() that is automatically run at every tick. How does that work?

 

Please excuse the non-specific questions, I am just trying to gain a grasp of the bigger picture here so I can make sure I am following a decent design for my programming.

Programmer, Modeller

Intel Core i7 930 @ 3.5GHz | GeForce 480 GTX | 6GB DDR3 RAM | Windows 7 Premium x64

Visual Studio 2008 | Photoshop CS3 | Maya 2009

Website: http://srichnet.info

Link to comment
Share on other sites

Framewerk handles all the effects. You can implement them yourself one at a time, but it is difficult, even for me, to get all of them working together. So most people just use Framewerk instead of struggling with basic rendering effects. It handles DOF, water, bloom, HDR, god rays, SSAO, and a bunch of other stuff, with simple on/off behavior.

 

Lua is quite new, and the integration with C++ is something we have to explore further. This will evolve, but I would not start writing a large amount of code in Lua just yet. I think it is possible to expose all your own C++ classes to Lua and call engine and C++ functions from the script, but we still need to work it out.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

Framewerk handles all the effects. You can implement them yourself one at a time, but it is difficult, even for me, to get all of them working together. So most people just use Framewerk instead of struggling with basic rendering effects. It handles DOF, water, bloom, HDR, god rays, SSAO, and a bunch of other stuff, with simple on/off behavior.

Aye I did see that in the Wiki. Though I worries me a bit that there is in fact just an on/off switch. How does one modify the features? For example, bloom/HDR appear to be a little too over-bright by default. I understand the idea is to simplify the whole process, but I do think I'll require at least a little customization.

 

Lua is quite new, and the integration with C++ is something we have to explore further. This will evolve, but I would not start writing a large amount of code in Lua just yet. I think it is possible to expose all your own C++ classes to Lua and call engine and C++ functions from the script, but we still need to work it out.

Ah I see. So for now it is a bit of a all or nothing affair unless you feel like digging into unknown territory.

How do you see things evolving though Josh? Do you have a 'perfect world' design paradigm or have you included LUA primarily as another language to use such as BlitzMax or C++?

Programmer, Modeller

Intel Core i7 930 @ 3.5GHz | GeForce 480 GTX | 6GB DDR3 RAM | Windows 7 Premium x64

Visual Studio 2008 | Photoshop CS3 | Maya 2009

Website: http://srichnet.info

Link to comment
Share on other sites

Aye I did see that in the Wiki. Though I worries me a bit that there is in fact just an on/off switch. How does one modify the features? For example, bloom/HDR appear to be a little too over-bright by default. I understand the idea is to simplify the whole process, but I do think I'll require at least a little customization.

That's why you have the source. :D

 

How do you see things evolving though Josh? Do you have a 'perfect world' design paradigm or have you included LUA primarily as another language to use such as BlitzMax or C++?

Lua is just another language to access all the same commands with as you do in C++, C#, or any of the other supported languages. However, it is a free easy to use popular language, so supporting it gains me a lot of new fans. It can also be used with other languages on a per-entity basis.

 

 

If you're comfortable with C, you've got everything you need already to make a game. A problem we found is that people can get through the tutorials and understand everything, but still don't know how to structure a game. And my response has always been that I can't write their game for them. With Lua, yeah, to a degree I am writing your game for you. But everyone is writing functionality, and it's easy to mix and match components.

 

So it depends on your skill level. Some people use C++ and make games. Some people use BlitzMax and make games. Some people say they want to use C++, but they have trouble making anything with it, and are better off with Lua. Some people just like Lua because it is fun. My personal preference is BlitzMax, but I am finding Lua to be a lot of fun.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

That's why you have the source. :D

hehe, indeed. Any plans to expand of the Framewerk feature set. IE give the functions the ability to modify bloom, HDR, etc variable? Maybe I'll take Framewerk and do it myself, depending on how complex it turns out to be.

 

Lua is just another language to access all the same commands with as you do in C++, C#, or any of the other supported languages. However, it is a free easy to use popular language, so supporting it gains me a lot of new fans. It can also be used with other languages on a per-entity basis.

 

--snip--

 

If you're comfortable with C, you've got everything you need already to make a game. A problem we found is that people can get through the tutorials and understand everything, but still don't know how to structure a game. And my response has always been that I can't write their game for them. With Lua, yeah, to a degree I am writing your game for you. But everyone is writing functionality, and it's easy to mix and match components.

 

So it depends on your skill level. Some people use C++ and make games. Some people use BlitzMax and make games. Some people say they want to use C++, but they have trouble making anything with it, and are better off with Lua. Some people just like Lua because it is fun. My personal preference is BlitzMax, but I am finding Lua to be a lot of fun.

Aye, I won't pretend, I am only a year or so into C++ and I have little game development experience other than modding. But I think I'll stick to C++. I want to learn it because I want to apply it to other programming fields. And I think It'll be more rewarding in the long run.

 

That said, I'll still continue to dabble in LUA, but C++ looks to me my choice language.

 

Thanks for replying Josh.

Programmer, Modeller

Intel Core i7 930 @ 3.5GHz | GeForce 480 GTX | 6GB DDR3 RAM | Windows 7 Premium x64

Visual Studio 2008 | Photoshop CS3 | Maya 2009

Website: http://srichnet.info

Link to comment
Share on other sites

Excellent thread! I to somtimes have problems understanding the framewerk and what language is best to use ETC.

 

I would love to know and learn C++, but i am fulltime delphi programmer and i know (whilst i remain in the job i have been in for the last 7 years) ill be using delphi untill i retire or win the lottery! So i am still in the stages of choosing what language is best to learn for LE and the "hobbiest". I really dont think there is much point me "trying" to learn C++ for hobby use. Since 2.3 i had never touched lua, but so far i am really liking it! Its... free, simple and easy to underdstand and use. But it does concern me when i read above

Josh

This will evolve, but I would not start writing a large amount of code in Lua just yet.

 

But... i have downloaded blitzmax demo and really liking that, but just grudge to pay for the ide when i am finding lua so good and easy.

 

So i think its going to be either, lua or blitzmax. (fortunatly there doesnt seem to much between them from syntax POV)

 

on the question of framewerk, is it somthing i can just "include" and use bits from it, or do i have to use it in replacment?

 

Thanks

Andy

The good news about computers is that they do what you tell them to do. The bad news is that they do what you tell them to do.

 

Leadwerks Game-Ready 3D Models:https://sellfy.com/gib3d

Link to comment
Share on other sites

I'd say pick LUA. I think what Josh is saying is that his implementation is going to grow and change pretty rapidly so getting stuck into some serious project wouldn't be a best of ideas. But I think you'd be fine with it.

 

As for Framewerk. I'm checking it out now. Its looking like you can just plug her right in. Though, it does change the way you render so it may require a rewrite of your render code in the game loop.

Programmer, Modeller

Intel Core i7 930 @ 3.5GHz | GeForce 480 GTX | 6GB DDR3 RAM | Windows 7 Premium x64

Visual Studio 2008 | Photoshop CS3 | Maya 2009

Website: http://srichnet.info

Link to comment
Share on other sites

I'd say pick LUA. I think what Josh is saying is that his implementation is going to grow and change pretty rapidly so getting stuck into some serious project wouldn't be a best of ideas. But I think you'd be fine with it.

 

Ahh right i get you, thats sounds good then, one thing i am yet to understand though is. If i write my complete game in lua? How do i "build" it to an exe file?

 

As for Framewerk. I'm checking it out now. Its looking like you can just plug her right in. Though, it does change the way you render so it may require a rewrite of your render code in the game loop.

 

Yeh.. i have used it before but im sure i found it was very "one way game oriented" like for FPS games. But i may be wrong.

 

Thanks

Andy

The good news about computers is that they do what you tell them to do. The bad news is that they do what you tell them to do.

 

Leadwerks Game-Ready 3D Models:https://sellfy.com/gib3d

Link to comment
Share on other sites

I think you just create an ultra basic boot strap exe via C++. The video above shows that you can load LUA scripts from a C++ environment, so I'll bet its as simple as a line of code.

 

With Framewerk, yeah I dunno. It cuts the rendering up into 3 layers, or phases, I think. It looks nice but I think I'd rather have some control over stuff like Bloom and HDR.

 

EDIT: That said, looking at some of the render code in Framewerk. It looks rather complex. I think I'd ruin myself if I tried to implement my own solution to that at this point hah.

Programmer, Modeller

Intel Core i7 930 @ 3.5GHz | GeForce 480 GTX | 6GB DDR3 RAM | Windows 7 Premium x64

Visual Studio 2008 | Photoshop CS3 | Maya 2009

Website: http://srichnet.info

Link to comment
Share on other sites

I wouldn't say it's only for FPS, since also flight simulators, train simulators, submarine simulators, golf simulators, horse simulators, MMO, RPG, RTS, and all kind of games which need a realistic looking environment can use it.

 

Maybe some commands for changing some shader settings could be added, but if the default values are correct and give a realistic looking scene, there is not much need for them either. I think many players don't want too much special effects either, if they give no benefit to the gameplay, but only lower FPS.

Ryzen 9 RX 6800M ■ 16GB XF8 Windows 11 ■
Ultra ■ LE 2.53DWS 5.6  Reaper ■ C/C++ C# ■ Fortran 2008 ■ Story ■
■ Homepage: https://canardia.com ■

Link to comment
Share on other sites

I wouldn't say it's only for FPS, since also flight simulators, train simulators, submarine simulators, golf simulators, horse simulators, MMO, RPG, RTS, and all kind of games which need a realistic looking environment can use it.

 

Maybe some commands for changing some shader settings could be added, but if the default values are correct and give a realistic looking scene, there is not much need for them either. I think many players don't want too much special effects either, if they give no benefit to the gameplay, but only lower FPS.

 

ahh right, well like i said, it was only somthing i thought.

 

I realise now that maybe i was thinking more towards gamelib.

 

Anwyays. im not knocking it as it does save an awful lot of time and does an excellent job with the effects.

 

Andy

The good news about computers is that they do what you tell them to do. The bad news is that they do what you tell them to do.

 

Leadwerks Game-Ready 3D Models:https://sellfy.com/gib3d

Link to comment
Share on other sites

I wouldn't say it's only for FPS, since also flight simulators, train simulators, submarine simulators, golf simulators, horse simulators, MMO, RPG, RTS, and all kind of games which need a realistic looking environment can use it.

 

Maybe some commands for changing some shader settings could be added, but if the default values are correct and give a realistic looking scene, there is not much need for them either. I think many players don't want too much special effects either, if they give no benefit to the gameplay, but only lower FPS.

In my opinion the HDR and Bloom has been way over-blown in a number of scenes I've seen. I prefer a more subtle effect. Its a subjective thing I realise.

 

Just a quick one - How do you get Framewerk to run windowed?

Programmer, Modeller

Intel Core i7 930 @ 3.5GHz | GeForce 480 GTX | 6GB DDR3 RAM | Windows 7 Premium x64

Visual Studio 2008 | Photoshop CS3 | Maya 2009

Website: http://srichnet.info

Link to comment
Share on other sites

Framewerk doesn't create the graphics window, so it's up to you if you use fullscreen or windowed mode.

Graphics(800,500); // windowed
Graphics(1920,1080,32); // fullHD fullscreen

Ryzen 9 RX 6800M ■ 16GB XF8 Windows 11 ■
Ultra ■ LE 2.53DWS 5.6  Reaper ■ C/C++ C# ■ Fortran 2008 ■ Story ■
■ Homepage: https://canardia.com ■

Link to comment
Share on other sites

Framewerk doesn't create the graphics window, so it's up to you if you use fullscreen or windowed mode.

Graphics(800,500); // windowed
Graphics(1920,1080,32); // fullHD fullscreen

 

I just assumed 'Graphics' was part of Framewerk. But running in 800, 600 put me into full-screen, where are you delimiting windowed/full-screen?

Programmer, Modeller

Intel Core i7 930 @ 3.5GHz | GeForce 480 GTX | 6GB DDR3 RAM | Windows 7 Premium x64

Visual Studio 2008 | Photoshop CS3 | Maya 2009

Website: http://srichnet.info

Link to comment
Share on other sites

I just assumed 'Graphics' was part of Framewerk. But running in 800, 600 put me into full-screen, where are you delimiting windowed/full-screen?

 

I think this makes it see where the change is:

 

Graphics(800,500,0); // <-- 0 is windowed

Graphics(1920,1080,32); // fullHD fullscreen

The good news about computers is that they do what you tell them to do. The bad news is that they do what you tell them to do.

 

Leadwerks Game-Ready 3D Models:https://sellfy.com/gib3d

Link to comment
Share on other sites

Guest Red Ocktober

DJ... try Graphics(800,600,0)... a zero in the last (third) arg should force windowed mode...

 

ooops...Andy got it in there a microsecond before me... ;)

 

definitely a good thread... Maclebee and Marleys Ghost have taken the ball and really been running with this stuff... they've been putting up lots of good info...

 

on the language front... well... i tend not to focus too much on any one programming language... the logic is the driving force for me... even though i'm a relative lua lightweight, switching between c++, BlitzMAX, LUA, is not an issue (i have a fond spot for Delphi as well... i did a four year 9 to 5 stint with a so called Fortune 500 company based on being able to code using Delphi... plus, Delphi produces such compact exes)...

 

The Framewerk logic is the one i've chosen to follow... whether in c++, BlitzMAX, or LUA... i've found it to be pretty well organized and easy to implement across the board...

 

 

 

--Mike

Link to comment
Share on other sites

I wouldn't say it's only for FPS, since also flight simulators, train simulators, submarine simulators, golf simulators, horse simulators, MMO, RPG, RTS, and all kind of games which need a realistic looking environment can use it.

 

Maybe some commands for changing some shader settings could be added, but if the default values are correct and give a realistic looking scene, there is not much need for them either. I think many players don't want too much special effects either, if they give no benefit to the gameplay, but only lower FPS.

 

 

Agreed. I'm currently using Framewerk in my space simulator. All that Framewerk really does is reduce the amount of rendering code you have to write and I feel in no way you have to take serious considerations when designing your game. It almost does plug right in.

 

On top of that, I tried writing combined postprocessing effects and it was absolutely horrid. I love how Framewerk relieved that burden. I do agree some more control over the effects Framewerk provides would be a welcome addition.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   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.

 Share

×
×
  • Create New...