Jump to content
  • entries
    942
  • comments
    5,897
  • views
    874,197

About this blog

Learn about game development technology

Entries in this blog

Full Steam Ahead

The standalone version of Leadwerks is no longer being updated. If you have a license for Leadwerks 3.1+ standalone version, you can exchange your registration key for the Steam version. Please contact support and include your Leadwerks registration key.   The Steam edition of Leadwerks can be run online or in offline mode, and can make games that are published to Steam, or published as standalones without requiring Steam. Leadwerks on Steam also includes access to the Leadwerks Workshop vi

Josh

Josh

Selective File Inclusion (Beta)

A new update on the beta branch on Steam adds selective file inclusion on publishing a project. This works by scanning map files and building a list of required files, and only packing up files that are actually used in your game. Here's how it works: All map files are always included, and scanned for required files. All script files are always included, and scanned for required files. Included prefab files are scanned for required files. Included model files are scanned for require

Josh

Josh

Beta update available

A new update is available on the beta branch.   The FPS player script has been fixed to allow throwing of objects when he is not holding a weapon.   The script flowgraph system's behavior with prefabs has been changed. Script connections between prefabs will no longer be locked in the prefab file, and can be made in the map itself. The map version has been incremented, and maps saved with the new format will not load until you update or recompile your game. The changes in this system may

Josh

Josh

Collapsing Models

I frequently come across models that have an excessive hierarchy of unnecessary limbs. This causes rendering to be slower and memory usage to be higher than it needs to be. If great numbers of the model are used in the scene, these problems can be significant. The windmill model below contains a pretty complex hierarchy.     A new tool is being added in the model editor to collapse all limbs of a model into a single object. Select the Tools > Collapse menu item and your model will be

Josh

Josh

Merry Christmas, and another beta update

Merry Christmas! Here's an update on the beta branch. The previous update was mistakingly supplied with the Debug DLL for Windows. This has been fixed. (Good thing we have a branch for testing!) The internals of the Workshop system have been completely rewritten to support Workshop items in any folder. The editor will also no longer download Workshop items at startup, but instead wait until you install them in your project. Workshop items will not be automatically updated, but will dis

Josh

Josh

Beta Update available

Two new commands are available: System::CountGraphicsModes System::GetGraphicsMode   This allows you to view available graphics resolutions and choose one.   Fullscreen windows now work on Linux.   The "Go To" menu item in the scene browser will also recenter the flowgraph editor, if it is open and the selected object has been added to the map flowgraph.

Josh

Josh

The Workshop

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

Josh

Josh

Convex Decomposition Made Useful

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

Josh

Josh

Workshop Browser Preview

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

Josh

Josh

Say Goodbye to Hitboxes

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

Josh

Josh

Character Matters

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

Josh

Josh

FPS Weapons Pack on the way

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

Josh

Josh

Oculus Rift support now available [beta]

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

Josh

Josh

Initial VR Implementation

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

Josh

Josh

24 Hours with the Rift DK2

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

Josh

Josh

Beta update adds per-project AddOns management

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

Josh

Josh

Halloween Game Tournament Roundup

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

Josh

Josh

"Pumpkins in Space" worklog

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

Josh

Josh

Halloween Week is Here!

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

Josh

Josh

Game Scripting is Hard

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

Josh

Josh

Leadwerks 3.3 Beta now available on beta branch

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

Josh

Josh

Workshop Design

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

Josh

Josh

Low-level vs. high-level

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

Josh

Josh

Weapon switching logic

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

Josh

Josh

New beta update available

A new update is available with the following changes:   Player collision against terrains is now working really nicely. In general, the player controller has become very solid and accurate. It's also quite a bit faster than before.   An experimental feature lets you make CSG brushes the child of another object and check a "shape hint" option in the physics properties. This will use any attached CSG brushes to build a new compound convex hull for that model. This is best used to make pref

Josh

Josh

×
×
  • Create New...