Leadwerks Game Engine is the easiest way to build 3D games. With a rapid development pipeline, support for Lua and C++ programming, and plenty of learning materials, Leadwerks is the perfect way to learn to make games.

Post news Report RSS Leadwerks 3 update adds editor features and workflow enhancements

We've released a new update for Leadwerks 3 that adds new features and workflow enhancements to our cross-platform game engine for building games with C++ and Lua.

Posted by on

We've released a new update for Leadwerks 3 that adds new features and workflow enhancements to our cross-platform game engine for building games with C++ and Lua.

This update brings the addition of lightmapping across curved surfaces with smooth groups. The image below is a set of lightmapped CSG brushes, not mesh lighting. You can read a detailed account of our implementation of this feature here.

Posted Image

The project manager now includes an "Update" button, so you can easily update your project any time we modify files in the template folders. Although we tested with no problems, it is recommended you back up your project before using this feature. The editor will make a copy of any overwritten files, as an added precaution.

Posted Image

You've now got full control over all the features and settings in the Leadwerks editor, through the new Options dialog. This gives you control over various program behaviors and settings. You can toggle grid snapping, control the snap angle, and lots of other stuff.

Posted Image

As we use the editor more and hear about the community's experience, it allows us to refine our tools more. One of the more subtle but we made is in the properties editor. One of the annoyances I experienced was when setting a property like mass or position when an entire hierarchy of entities was selected. Obviously I didn't want to set the mass for every single bone in a character, but how to tell the editor that? I went through all the properties, and for ones that the user is unlikely to want set, I made the following rule: If the entity has a selected parent anywhere in the hierarchy, it gets ignored when properties are retrieved and applied. (Other things like color will still work uniformily.) Just try it, and you'll see. It speeds up editing dramatically.

In a similar vein, we finally solved the problem of "too many selection widgets", We only display the top-most control widget for each group of selected objects. Again, it's easier for you to just try it and see than for me to explain in detail. If we did our job right, you might not even notice because the editor will just do what you want without any thought.

You've also got control over the color scheme, and can use it to customize the look and feel of the 3D viewports and code editor.

Posted Image

On Windows we fixed an annoyance that triggered menu shortcuts when the user tried to copy and paste in text fields. This tended to happen in the properties editor. We're working to resolve the same issue in the Cocoa UI for Mac.

I'm a big fan of the 3ds max Max Script system, so in the output panel we've added a real-time Lua console:

Posted Image

You can type Lua commands in and interact with Leadwerks in real-time. Just for fun, try pasting in this line of code and see what happens:
for i=0,10 do a = Model:Box(); a:SetColor(math.random(0,1),math.random(0,1),math.random(0,1)); a:SetPosition(i*2,0,0); end
You can't create objects the editor will recognize (yet), but it's fun to play with and should give you an idea of where we're going with the editor.

This is an important update that includes new features and enhancements that improve usability and workflow. Thank you for your feedback. It's great to see all the activity that is taking place as people learn Leadwerks 3.

Post comment Comments
MrMazure
MrMazure - - 223 comments

your engine's name always make me laugh when I see it because werks sounds like an accidental misspell of works, but aside of that nice work for the smoothing groups lightmapping.

Reply Good karma Bad karma+2 votes
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: