Jump to content
When a window in Vulkan resizes you have to manually delete the about a dozen objects and then recreate them with the new size. It's unbelievably complicated. They've pushed all the driver complexity onto the application, in an effort to simplify the job of writing drivers. I can see the advantage to this, because OpenGL drivers in the past were always inconsistent, but it is still shocking how many little details they expose in Vulkan. Just resizing a window and swapping the screen buffer invol
Two days and 823 lines of code later, I present to you the Vulkan triangle of awesomeness, running in our engine:
Here are my thoughts on Vulkan:
It's ridiculously verbose. You have to specify every little detail of the rasterizer, there's a million classes to create, and every little variable has to be exactly right. There's really no reason for this because 90% of the code is just something you copy and paste.
Shaders can use GLSL, which seems very weird, but it makes thin
The latest design of my OpenGL renderer using bindless textures has some problems, and although these can be resolved, I think I have hit the limit on how useful an initial OpenGL implementation will be for the new engine. I decided it was time to dive into the Vulkan API. This is sort of scary, because I feel like it sets me back quite a lot, but at the same time the work I do with this will carry forward much better. A Vulkan-based renderer can run on Windows, Linux, Mac, iOS, Android, PS4, an
A new update for Leadwerks Game Engine 4.6 is available on the default branch. This fixes a physics bug that would cause boxes to float into the air after the player stepped on them.
Subscribers can now download my current revision of the Turbo Game Engine design document in the private forum here:
Here are a few excerpts:
The document is still evolving so expect changes and updates.
Luawerks has been updated to 1.2.8, making some small adjustments and fixes to the system. If you have previously purchased Luawerks, this update is available for free on the Leadwerks Marketplace.
Following changes include:
Fixed GUI code for Leadwerks Game Engine 4.6
Removed the feature "allowfullscreenfromeditor" as it was causing conflicts with fullscreen.
Added ignoreeditorwinsettings bool setting to force the game to ignore editor launch settings.
My last NASA project is complete. There's a physics bug in Leadwerks 4.6 that will get resolved this weekend. Starting Monday I am going to focus on the new engine again and move us forward so we can release in 2020. I am really looking forward to getting back in the game.
Thought I'd show off what I've been working on this weekend. I have implemented procedural grass as found here at Outerra. There is still more work to be done on it but so far it looks promising.
The new game engine needs to roll out with some top-notch examples showing off what it can do. Here's what I want:
Offroad racing game
Space shoot-em-up side-scroller.
Side-scoller platformer similar to the Contra Playstation game.
Now what I can use your help with is finding good example games on YouTube or Steam that I can start designing these samples around. Post your ideas below!
Leadwerks Game Engine 4.6 is now available on Steam! This free update adds Steam peer-to-peer networking, lobbies, voice chat, and more. A new multiplayer game template makes it easy to get started with your own multiplayer games, adding new depth and interactivity to the fun.
We've also added over 100 bug fixes, making this the most stable release ever to build your game on!
New parameters for bet
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
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