The Leadwerks Workshop has been evolving over the last year, and here I will talk about how it came about and where we are going with this.
What We've Learned
Use of the Leadwerks Workshop has increased since the last major revision. Encouraged by this, I have added additional tools that make it easier to make models game-ready, like convex decomposition and automatic hit boxes on character models. The Steam WebAPI has been very helpful and allowed me to create a nice web-based interface
A new update is available on the beta branch on Steam.
Changes
Temporary slowdown from last beta is fixed.
Bone picking behavior now matches default branch's original behavior (for compatibility with existing code).
All recently locked bug reports fixed.
Please see this note about updating C++ projects to accommodate the addition of the VHACD library.
A new update is available on the beta branch. This adds automatically generated hitboxes for animated characters, and a new tool to calculate physics shapes using convex decomposition.
Existing C++ projects require a small modification due to the addition of the VHACD library. The VHACD includes directory must be added to the project header search paths.
Visual Studio:
$(LeadwerksHeaderPath)\Libraries\VHACD\src\VHACD_Lib\inc
Code::Blocks:
$(LeadwerksPath)/Include/Libraries/
The limiting step on getting animated characters into Leadwerks is the creation of "hitboxes". Since vertex sknning is done entirely on the GPU, static boxes are attached to bones to approximate the shape of each limb. This works well and is efficient, but very tedious to set up. The zombie character pack, for example, would have been released much sooner if not for this task.
This morning I began with the intention of adding an option in the Model Editor to automatically calculate hit bo
Physics simulations typically require physical geometry to be provided in a series of convex hulls that approximate the shape of the object. This is because the intersection of two convex objects can be calculated fast enough for use in real-time simulations.
One solution for creating this type of physical geometry is to create a low-detail model of the object in a modeling program. However, this process can be tedious and is often overlooked by artists. Auto-generating this type of geome
You can now try out the new Workshop Browser by opting into the beta branch. This makes it simpler to install Workshop items, and allows you to browser, install, and uninstall items without having to switch to the Steam window.
The implementation of the Leadwerks Workshop has always been planned in two steps:
Initial implementation using the Steam interface.
Implementation of built-in interface in editor.
I've been working on the second part for a couple days, and the results are pretty awesome so far. A built-in browser lets you view all items in the Workshop, search, and sort by rating or date uploaded.
When you click on an item, you can view its detail view. Pressing the "Install" button wil
I'm pleased to say our very first character pack DLC is now available on Steam.
Originally, my plan was to just license third-party model packs and sell them on Steam, ready-to-use with Leadwerks. However, once I started acquiring content I ran into some problems.
The selection of usable character packs out there are pretty lacking, when you start examining them closely.
Artists often just wanted to sell "raw models" and were not interested in the final steps to make an item truly
I've added display pages to the games database, so you can now fill in more information about your game, receive comments, post a video, and add additional images if you wish:
http://www.leadwerks.com/werkspace/page/games/_/rogue-system-r17
In the future I will add a file upload option so you can distribute your games here if you want to. Some games in the Downloads section have received a pretty high number of downloads, even though they were hidden away and weren't promoted at all:
http
As described earlier, Oculus Rift support is now enabled on the beta branch on Steam!
Enabling VR To enable VR in any game, just add the Window::VRDisplay flag in the creation flags in the Window::Create() function:
Window* window = Window::Create("My VR Game",0,0,1024,768,Window::Titlebar|Window::VRDisplay);
Or in Lua:
local window = Window:Create("My VR Game",0,0,1024,768,Window.Titlebar + Window.VRDisplay)
(If you are using a Lua project, you must update the project to
As you probably noticed, I've been playing around with the Oculus Rift DK2 and it's really neat! With Klepto's help I was able to get it running and integrated into the engine very quickly. Beta support will be added soon so you can play with it yourself. Why is it beta? Because it is possible some behavior may change, particularly the way head rotation is handled. Also, it only works on Windows at this point. I'm waiting for OculusVR to add direct HMD rendering for Linux, because without
I ordered my Oculus Rift DK2 in the middle of August and it finally arrived two days ago. Here are my quick impressions.
Unboxing and Setup The box comes with a convenient carrying handle, so it makes a nice case. Upon opening it, the parts were pretty straightforward with no assembly required. There's an extra pair of lenses to extend the focal length or something like that, but I didn't use them.
Setup was pretty difficult. There's an excessive number of cords. A USB and HDMI cable p
An update is available on the beta branch. This fixes the picked triangle always returning 0 bug, and it adds a new dialog for managing Workshop add-ons on a project by project basis.
I tried to keep the addon management dialog unobtrusive, but I still didn't want the user to be confused if they subscribed to a new Workshop item and didn't see it show up. The dialog appears automatically if you have added a new item, but otherwise it will stay hidden unless you open it with the Workshop &g
The second Leadwerks Halloween Game Tournament is complete. Here's a review of the entries.
First up is HaydenMango's hack & slash game Rise of the Pumpkinheads. In this humorous and spooky action game you fight reanimated corpses with...wait for it...pumpkins for heads. You'll also encounter necromancers, and other enemies along your quest through the overgrown cemetery where a pumpkin infestation has taken root.
Next up is Midnight Patrol, a simple but fun shooter featuring
I've got my models and a little time to put this together, so I am starting on my Halloween Game Tournament entry now. This will be an exercise in speed-developing!
Basically, I just want to make a game where you fly a ship through an asteroid field shooting meteors. To spice things up, I'm going to add pumpkins that appear after the first level, and are attracted to your ship:
The game asset requirements are very simple. Here are my main models:
So now I'm going to a
It's the week of Halloween, and we've got a lot going on!
Halloween Game Tournament II The Leadwerks Halloween Game Tournament is nearly here. Rather than a competition, this is a co-opetition. Everyone who publishes an entry to the Workshop or forum gets a Leadwerks sticker. Any entries that are judged to be especially noteworthy get a Leadwerks T-shirt. Prizes are sitting here waiting to be shipped.
Leadwerks 3.3 Leadwerks 3.3 is in beta testing now. Among several new features is
The beta of Leadwerks 3.3 is now available on the beta branch on Steam.
Two new entity classes that extend the model class are present. Sprites are a quad that can face the camera, a specific direction, or can rotate around one axis. These are useful for lighting effects and the axis rotation is great for making laser beams or tracer rounds.
The Lensflare class extends the sprite class and adds a simple glow effect for lighting.
The editor now support shift-drag to select in the ma
The Workshop system is a great way to share content, but I've come across some limitations. Most of these have to do with the use a "virtual" file system (using Workshop package IDs).
Scripts and shaders can't be debugged because these systems expect a file path. With Workshop files, there is a file name and an ID number. This makes Shadmar's cool effects difficult to access, among other things.
Interdependent files are very difficult to work with, because when you upload them to the Wor
As I finish up the FPS Weapons Pack, I am struck by just how much work it takes to build a game, beyond the engine programming. I wrote Leadwerks, and it still took me several days to script the behavior of these weapons. I also had the advantage of being able to add new entity classes, as I needed two new entity types to complete the task: LensFlares and Sprites.
I like the flexibility of Leadwerks to make any type of game, and I think having an abstract 3D command set to do anything is r
The Leadwerks community tends to be a pretty mature, technically astute one. This is great because it's easy to get good feedback and help, but we do tend to suffer from a tendency to focus on low-level details. This can cause problems with it delays projects, sometimes infinitely. If all we do is keep reinventing the wheel we'll never get to the automobile.
Preparing the FPS weapons pack is giving me a chance to work on some high-level game behavior I don't get to do much. Sometimes we t
A launch option has been added to Leadwerks on Steam that allows you to launch the Leadwerks Game Player outside of the editor. When you launch Leadwerks Game Engine from Steam, a dialog box appears and lets you choose whether to run the editor or the Leadwerks Game Player. (If you just launch the app from a desktop or start menu shortcut, the editor is run automatically.) You can subscribe to other users' games in the Leadwerks Workshop on Steam, and play them by launching the game player.
I'm working to add weapon switching to the player script. A weapon in the map consists of two important parts. First, you need a pickup weapon that tells the player they have a certain item. Second, you need the visual weapon that is displayed onscreen, along with the various settings that make that weapon unique.
It's a simple thing to program, but I'm trying to make it as easy as possible for the user to manage, so people can add new weapons and have them work with no tinkering and adju
Based on the excellent sales of the SciFi Interior Model Pack, I was able to get a deal to sell a new pack of high-quality first-person weapons. The following items are included:
Pistol
Combat shotgun
MP5 Machne Gun
M4 Rifle
Grenade
Machete
Weapons are included as animated visual weapons, and as models that can be placed throughout the map to pick up.
Instead of just distributing raw models, I want to offer game-ready items that can just be dropped into your g
Since it's not a competition, I'm actually going to enter the game tournament and publish a simple game to the Workshop. The game will be a third-person corridor space shooter like Starfox in which you simply shoot and dodge meteors. There are two types of meteors flying at you; red ones can be shot, whereupon they break into smaller pieces that can still damage you. Gray ones cannot be shot, and must be avoided. The longer you live, the more points you get, and it just gets progressively ha
Here's an example of something called "derivative works" which is something the Leadwerks Workshop on Steam allows us to do.
Shadmar uploaded a model from Leadwerks 2 and added some special effects to it in the Workshop here:
http://steamcommunity.com/sharedfiles/filedetails/?id=312811332
I subscribed to the item, and used the model and sound to make my own Workshop item here:
http://steamcommunity.com/sharedfiles/filedetails/?id=312846032
When you load my item up in the editor