Jump to content
This is something I typed up for some colleagues and I thought it might be useful info for C++ programmers.
To create an object:
shared_ptr<TypeID> type = make_shared<TypeID>(constructor args…)
This is pretty verbose, so I always do this:
auto type = make_shared<TypeID>(constructor args…)
When all references to the shared pointer are gone, the object is instantly deleted. There’s no garbage collection pauses, and deletion is always instant:
auto thing = m
An update is available on the beta branch on Steam with a few bug fixes.
I'm going to release 4.6 with the current features because a lot of bugs have been fixed since 4.5 and we're overdue for an official release. 4.7 will add a new vehicle system, character crouching physics, and some other things, and will be out later this year.
I have not gone in several years because everything we were doing revolved around Steam, and it just didn't seem very important. But this year I had some business to attend to so I spent the last three days in San Francisco.
I still have a lot of friends in the game industry, and the reaction to my plans for the new engine was very positive. A few years ago people would have groaned at the idea of another engine, but it seems they are now bored with technology and very open to something new
Workshop car "Turbo car for Le 4.6 free" - Uploaded in the Workshop
Better optimization for the workshop car released. And possibility to custom the car, feel the difference of the configuration when driving.
For Le 4.6. with world:update(4) added to the main script
Here is a demo video about the new optimization:
Here are the properties that allow to change the car:
- The Drive Factor makes the car drive feeling more or less heavy: With a
I have taken up my project called Pawn, inspired by that chess piece that has the lowest rank in an army that seeks to defeat another in this strategy board game.
The game aims to solve puzzles with the character who from my point of view looks like a pawn, at least in his round head. Where you will have to find out how to open a door and things like that.
At the moment the mesh has no animations, and will have them in the future, for now I'm going to focus my efforts on
A new update is available on the beta branch on Steam. This adds numerous bug fixes. The Linux build of the editor is compiled with Ubuntu 16.04 and the engine libraries and executables are compiled with Ubuntu 18.04. Linux users, please let me know how this works for you.
An update is now available on the beta branch on Steam that includes all recently solved bug reports. The Linux build is performed with Ubuntu 18.04.
Don't forget to join the Discord video chat this Saturday at 9:00 AM PST.
We made it! Between The Realities coming back in new, revised demo-version!
You can download it here, right now:
Watch our fantastic trailer!
In this weekend, Jonathan will finally return to Target City...
In the revised demo version of Between The Realities.
I decided to release the source/project for my GUIEditor.
its an unfinished project and not at all optimized, although it is usable.
you mite have to upgrade the source project to the latest version.
written in c++.
the project includes some custom gui scripts found in /Scripts/GUI/Custom.
and a FileDialog i designed using widgets.
A new update is available for Leadwerks Game Engine 4.6 beta. This fixes many bugs.
Slow kinematic joint rotation
Heightmap import flipped
Map switching crashes in VR
Project Manager cancel button bug
The Zone DLC map failing to load
Ball joints not working
Take a look at the bug reports forum to see all the recent fixes in the engine and documentation.
This is a full update, with new builds for Windows and Linux, for C++ and Lua games. You
Finishing this today, I'm happy to publish this: https://steamcommunity.com/sharedfiles/filedetails/?id=1662222417
The car is funny to drive, the prefabs is ready-to-use but feel free to change the script variables to test it.
Drop the prefabs in the map, it uses the classical FPSPlayer from Leadwerks.
The car is based on joints: 4 wheels, 4 damper and 2 Hinges for the directions.
The script incorporates smoothing damping modifications to get the car stable; modifications on
I'm in DC this week helping the folks at NASA wrap up some projects. I'm going to move back to a supportive role and focus on development of Leadwerks 4.6 and the new engine, and I am helping them to hire some programmers to replace me. We found some very talented people who I am confident will do a fantastic job, and I can't wait to see what they create using Leadwerks Game Engine.
I helped a team using Leadwerks at NASA get through some big milestones and expand. I hope that someday soon
Previously I talked about array textures acting as "bindless" textures, but there is an actual OpenGL extension that allows a shader to access any texture without the stupid texture binding / slot convention that limits OpenGL 4.0 shaders to a minimum of 16 textures. Implemenation was surprisingly easy, although Mac hardware apparently does not support this extension. When combined with the multi-draw commands in OpenGL 4.3, and some other tricks, it is possible to render multiple sets of object
Here is my configuration, it works fine Hope this help!
The clustered forward renderer in Leadwerks 5 / Turbo Game Engine required me to implement a texture array to store all shadow maps in. Since all shadow maps are packed into a single 3D texture, the shader can access all required textures outside of the number of available texture units, which only gives 16 guaranteed slots.
I realized I could use this same technique to pack all scene textures into a few arrays and completely eliminate the overhead of binding different textures. In order to
Leadwerks 5 / Turbo makes extensive use of multithreading. Consequently, the API is stateless and more explicit. There is no such thing as a "current" world or context. Instead, you explicitly pass these variables to the appropriate commands.
One interesting aspect of this design is code like that below works perfectly fine. See if you can work through it and understand what's going on:
int main(int argc, const char *argv)
//Create a model ;)
auto box = CreateBox(nullptr);
It turns out GLTF is actually three different file formats. 😫 Textures can be loaded from external files, embedded in a binary .glb file, but they can also be saved in an ASCII GLTF files using base64 encoding. Having three different ways to store textures is not a good design decision, but at least it's better than the disaster called Collada. (Note to Khronos: If your file format specification has more pages than a Tom Clancy novel it probably sucks.)
Our GLTF loader now supports files wi
The Leadwerks API has standard Boolean functions that detect when the end user has pressed a key. While this is very simple and easy to understand, the issue comes when you wish to support binding of actions. Instead calling functions when a certain key was pressed or held, a better way to detect key events is to assign a key to an action. (e.g: Is the Jump key pressed). In Luawerks, I've written an action script in which returns the window call if the key defined in the user's settings is hit.
"My Return" would imply that I've been away for some time. To be honest here, I've been using the Leadwerks editor since before it was an official "game engine". Before you would use it to create your items to then import into another game engine. I've been always interested in creating games, since the late 90's. I remember using a few other older editors whose names I've long forgotten with the sands of time. I have always wanted to create an RPG, as that's my favorite genre of games. So the n
Some of the Leadwerks Game Engine design was originally developed to run on PC and mobile. In order to supported multiple renderers (OpenGL and OpenGLES) I implemented a system that uses an abstract base class with an API-specific class derived from that:
All OpenGL code was contained in the OpenGLTexture class. This worked fine, and theoretically it would have allowed us to support multiple renderers within one build, like OpenGL and Direc