Jump to content
catch22

Version Life Cycle (and cost)

Recommended Posts

[/font][/color]

Leadwerks 3 had to be written from scratch in C++ because the previous engine was too limited. There's not really anything I would change about the design now, and I don't see that happening in the next ten years.

[/font][/color]

Leadwerks 3 is a new product, not an upgrade to Leadwerks 2.

Supporting two renderers would take a lot of time, compromise what I can do with the GL4 renderer, and provide a pretty questionable benefit. Everything being sold today supports OpenGL 4, even Intel graphics, and the GL4 drivers are much more reliable than older ones due to the simplified specification.

 

..that is partly truth..it is truth provided that target audience are people who are equipped with latest hardware..it is truth to say that from engine standpoint..from standpoint of game/application developer its a big no no, as it radically cutting down available user base. It was the same claim during LE2.x time..and i have had first hand experience where i could have 45-50% more units sold if renderer could go slightly lower than its specs at the time..most of people here developing casual, small scale games, and their audience cant be just high end hardware..if they want to make any money, they must cover wide audience as possible..simple as it is..with locked down renderer to one OGL flavor, its not really going to work that way..

Share this post


Link to post
with locked down renderer to one OGL flavor, its not really going to work that way
The renderer is actually an abstract class. See the GraphicsDriver class. It is possible to replace this with a DirectX renderer, an OpenGL 1 renderer, or a software renderer, and the rest of the engine won't even know there is a difference.

 

When it comes to graphics, people buy Leadwerks because they want the latest technology. I don't make any money by crippling the renderer. The hardware situation in PC gaming was pretty bad a few years ago, but thanks to Intel HD graphics that is changing. Every computer being sold today has a pretty good minimum spec, so PCs today are more like the console world.

Share this post


Link to post

[/font][/color]The renderer is actually an abstract class. See the GraphicsDriver class. It is possible to replace this with a DirectX renderer, an OpenGL 1 renderer, or a software renderer, and the rest of the engine won't even know there is a difference.

 

When it comes to graphics, people buy Leadwerks because they want the latest technology. I don't make any money by crippling the renderer. The hardware situation in PC gaming was pretty bad a few years ago, but thanks to Intel HD graphics that is changing. Every computer being sold today has a pretty good minimum spec, so PCs today are more like the console world.

 

To be honest, I'm not so sure that someone could make a game with LE3 as it currently stands. I don't get that great of performance with just a few lights and zero AI. I don't have the best rig at the moment, but much better than the average gamer. Sauerbraten is a great example of high performance and great graphics quality on really, really low performance hardware.

Share this post


Link to post

It's about a effort versus reward. If a few minutes of zipping up and password protecting files deters the majority of people from ripping off my stuff, it's worth it to me. It's certainly way better than providing models, textures and music in their original format openly.

 

But I'm under no delusion that it works against everyone. In fact, I know some programs can take models and textures directly from memory as you're running them. Plus there are forums where people love writing programs that extract such data from game files, as a personal challenge.

 

I have found a topic that will help you with people no longer easy stealing your models.

 

Josh:

Our file system actually can read zip archives and treats them as a file system. This is how games are deployed. It's an unofficial feature, but you just call Package::Load( zipname ) and it automatically creates a virtual file system the file read commands work with,

 

And:

 

Josh:

Passwords are supported:

Quote

 

Package* Package::Load(const std::string& path, const std::string& password, const bool regist=true)

 

The last parameter registers it as a virtual file system the file commands automatically load files from.

 

Josh:

Basically, the zip file name creates an extra folder. So if you have a file in a zip called "Materials.zip" you would load Materials/filename.mat.

 

Hope it helps a bit ;)

Share this post


Link to post

Ah, I forgot about that. Thank you. It's an unofficial feature and so that's why I didn't find it in the documentation.

Share this post


Link to post
To be honest, I'm not so sure that someone could make a game with LE3 as it currently stands. I don't get that great of performance with just a few lights and zero AI. I don't have the best rig at the moment, but much better than the average gamer. Sauerbraten is a great example of high performance and great graphics quality on really, really low performance hardware.
A deferred renderer always has lower initial frame rates than a forward renderer because it is rendering to a "fat" gbuffer. However, as your number of lights increase, a deferred renderer will scale better than a forward renderer because the renderer is decoupled from scene complexity. Saurbraten is a lightmapped renderer based on the original Quake engine. It's going to always run faster, but won't provide realistic accurate lighting, and the workflow is a lot slower due to the need to constantly recalculate static lighting. Not having to tune fake lighting to avoid all the visual glitches that can arise is one of the great things about having a uniform lighting model like Leadwerks does.

 

To increase performance you can lower the lighting quality and disable antialiasing. Running in release mode will always run a lot faster, and your in-game framerate will also be faster than the editor, since the CSG geometry is collapsed.

 

For advanced optimization, making static geometry can greatly reduce the number of shadow renders:

http://www.leadwerks.com/werkspace/page/Leadwerks_2_tutorials/_/artwork/indoor-lighting-optimization-r18

 

In the example AI map, I have one big point light in the main room that only casts static shadows. It never re-renders its shadow during the game, and it just provides a little extra visual definition of the scene without any cost.

Share this post


Link to post

So I purchased the engine on steam and forgot I still have a GTX 200 series :P

 

Aaaand now I get to buy a new graphics card! Whee to justification!

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

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.

×
×
  • Create New...