An update to the Linux build of the Leadwerks editor has been posted. This resolves a few UI issues:
The way the scene browser tree renders is changed to eliminate visual artifacts.
Some scroll bar behavior bugs are fixed.
The popup menu that appears when you right-click on an entity in the scene browser now contains an "Add to flow graph" menu item.
This odd UI bug is fixed.
Double-clicking on items in the scene or asset browser trees will collapse/expand that item if it has chi
Previously, I talked about my plan for Leadwerks for the next 6-12 months:
Leadwerks Editor
Adding new tools to make life easier.
Refining the workflow to eliminate any remaining"sticky" points.
Bug fixes, to make it a super slick and polished experience.
The Engine
New features in graphics, physics, networking, etc.
Performance optimization.
Improved compatibility across all OpenGL 4 hardware.
Third-Party Technologies
Blender, SteamOS, Steam Workshop, vir
Back when Leadwerks 2 was first launched, it was just a BlitzMax programming SDK, intended to be a modern replacement for Blitz3D. It turned out Blitz users generally did not want it, and instead the audience it attracted was C++ programmers who like graphics. A visual editor was introduced and it was made as good as possible for a product that started with the intention of just being a programming SDK.
Leadwerks 3.0 was launched with a strong emphasis on the tools that Leadwerks 2 lacked,
Previously, I described the goals and philosophy that were guiding my design of our implementation of the Leadwerks Workshop on Steam. To review, the goals were:
1. Frictionless sharing of items within the community.
2. Protection of intellectual property rights.
3. Tracking of the chain-of-authorship and support for derivative works.
In this update I will talk more specifically about how our implementation meets these goals.
Our implementation of the Steam Workshop allows Leadwerks
As the maker of a game engine primarily aimed at Indie game developers, I have the opportunity to observe behavior of many individuals working together. This allows me to observe interactions from a perspective the individual participants in the system sometimes can't see.
There are many steps in game development, that can be performed by people with different skill sets. The workflow for Leadwerks is designed on this premise. At its simplest, Leadwerks can be used as a visual design tool
I'm happy to say that Leadwerks now supports the entire process of making games natively on Linux. Let's take a quick tour through the process.
First, we create a new project in the project wizard. The project wizard will detect project templates (you can make your own) and let you make a game based on Lua script, or on a combination of C++ and script:
Step two is to make your game. Fortunately, you've got everything you need built into a single integrated editor, including script and s
Following my previous update about correcting file path cases, I am now able to load all our maps in Leadwerks. The power of this tool running natively on Linux is starting to show:
The next step is to implement a file system watcher to detect file changes. Leadwerks automatically monitors the current project directory, and will reload assets whenever the file changes. This allows you to keep an image open in an image editor like GIMP, and any time you save your changes will be refle
I've made two major improvements to the editor UI this week. The scene tree is now fully functional, and objects can be dragged around in the scene hierarchy:
Models and prefabs can now be dragged into the viewports from the asset browser, so the editor is near fully functional now.
The X11 windowing system cannot create an OpenGL rendering context on a hidden window. (The same happens on OSX.) On OSX I did a cheesy hack whereby the asset editor windows (the model, texture, material, etc. e
A new update is available on the beta branch on Steam. To avoid confusion with outdated projects, the project's status will now be displayed in the project manager. If the project is older than the template folder, a warning icon will be displayed. In addition, the script editor will now warn once about an out-of-date project before running.
The FBX converter has been updated to fix the following issues:
Second UV coordinate set was not always being saved.
Some FBX files exporte
On Monday, Leadwerks Game Engine: Indie Edition was finally launched on Steam. Before the Kickstarter campaign there was a Greenlight campaign to put Leadwerks on Steam, which it got through in just 27 days. Based on the success of the Kickstarter campaign, I decided to delay the Steam launch and try to get Linux done in time. However, there was one serious deadline I could not miss, and that was the Steam Dev Days conference next week. I knew we needed to have an actual product on Steam by then
It's December, which means Leadwerks for Linux is nearly here! Last week I had to get into more depth with our tutorials. We're creating a series of maps that demonstrate simple game mechanics. The goal is to show how to set up game interactions by attaching scripts to objects and connecting them in the flowgraph editor, without getting into any actual programming. These lessons center around a first-person shooter, but are applicable to many types of games.
I had to get my hands dirty i
An update has been posted with the following fixes:
http://www.leadwerks.com/werkspace/topic/7847-undo-does-not-refresh-gizmos/
http://www.leadwerks.com/werkspace/topic/7842-bsp-mesh-export/
Things have gone so remarkably smoothly so far in the process of building Leadwerks Linux, that it makes sense we would encounter some issues sooner or later. In this update I will talk about some of the challenges recently encountered.
GDB
I was able to get GDB to debug an application built with the Leadwerks static library, in this case our editor. It took me a while to realize you have to hit "continue" once or twice when the application starts, because GDB pauses the program when it conn
Compiling Leadwerks on Linux using the Code::Blocks IDE wasn't very hard. I particularly like the way Code::Blocks handles files in projects. Instead of creating your own "fake" file system in the project explorer, you just add the folder or files you want, and they are organized in a hierarchy that matches the file system.
I found the X windowing system to be extremely easy to work with. I've implemented windowed OpenGL contexts on Windows, OSX, iOS, and Android, and Linux was by far the mo
Several people have asked me for my hardware recommendations for a new Linux gaming machine. I get rather frustrated by PC manufacturers who load computers up with expensive Intel CPUs and extra RAM you don't need, and then forget to include a graphics card. Or they proclaim PC gaming is not dead and proudly announce their "gaming machine" with a shoddy GPU, that costs more than my first car. I've been building my own PCs since high school, and I know you can build a PC with superior performa
The OpenGL 4 renderer for Leadwerks 3.1 is well underway. I began implementing deferred lighting in earnest last Friday. Previous work included setting up MSAA on deferred buffers, as well as implementation of the Leadwerks Buffer class, which functions as a thin wrapper around OpenGL FBOs (frame buffer objects). The engine already tracks relationships between objects and lights, and this system was able to be used to provide a list of shadow-casting objects for each point and spot light.
Last week Valve founder and CEO Gabe Newell took to the stage at LinuxCon and proclaimed that "Linux is the future of gaming". Gabe talked about Linux gaming capabilities and promised to unveil something "on the hardware side" the following week. Today, Valve announced the upcoming release of SteamOS, a living-room operating system designed specifically to compete directly with the XBox, Playstation, and Wii console ecosystems. SteamOS will being openness to the console gaming world. This will h
Leadwerks 3.0 has been updated with bug fixes and new support for joint motors. Hinge and slider joints can have an optional motor enabled that will rotate or move the joint to a specified orientation, at a speed determined by the new Joint::SetMotorSpeed command. This is great for making doors, elevators, as well as complex machinery made possible by the speed and stability of Newton Dynamics, the physics library powering Leadwerks (as well as the Amnesia series).
All joints can also have
All stickers have been shipped, and they look absolutely fantastic:
I've never been a "sticker on my laptop" kind of guy, but I am putting one of these on mine as soon as I get home.
Physical items are a little different from getting software to customers. With software, there is at most a delay of a couple hours between the time I have it ready to go, and the customer is using it. I did not anticipate much of a turnover time for the shirts, and I still don't have all the ones I need
A bug fix patch has been uploaded. Run the Leadwerks updater to download the new files. You may need to update projects (see File > Project Manager) and recompiled.
Recent bug fixes can be viewed here:
http://www.leadwerks.com/werkspace/forum/80-bug-reports/
Additionally, the following improvements were made:
Physics interpolation will be much smoother now.
Character controller was adjusted, works great on terrain.
A bug in the PhysicsSetRotation() command was fixed, though
A new update to Leadwerks 3.0 is now available. Registered developers can run the Leadwerks updater to download and install the patch. This update adds terrain, bug fixes, and a few small feature enhancements.
Our new terrain system, described in our Kickstarter campaign to bring Leadwerks to the Linux operating system, is based on a unique "dynamic megatextures" approach. This technique renders sections of the terrain into virtual textures and places them around the camera. The terrain pre
Compatibility testing for the new terrain system ended up taking an entire week. Most of the problems revolved around OpenGL ES and some iOS driver bugs. Once I got it running on iOS, Android was able to run it with only one small change. The quality settings in this video are lowered for mobile, but the new Google Nexus 7 can actually handle quite a lot, at an impressive 1920x1200 resolution! With a price tag of only $200, this is a great choice for an Android tablet.
After a much-needed vacation I'm back, and ready to rock.
IGDA Summit Everything at the IGDA Summit was mobile, mobile, mobile. Based on this kind of behavior in the industry, you'll have to forgive me for thinking at one time that mobile was the next big thing. There's two problems:
Perhaps half the companies there were support services to help you monetize your app. I haven't heard the word "monetize" so much since the height of the Social boom, when people had huge numbers of free users
A maintenance update has been uploaded. You can run the Leadwerks updater to get only the changed files since your last update. See the bug reports forum for recently resolved issues.
One new command has been added:
static std::string FileSystem::GetAppDataPath()
This will return the application read/write directory for storing settings, high score tables, etc. In order for this to work, you need to update your project. (Open the Project Manager, select your project, and press t
I'm writing this as we're a few dollars away from the mythic 30% target that has been claimed to be a "tipping point" past which Kickstarter campaigns reach critical mass. I'm not going to go into any detail about that because I don't want to jinx it, but so far I am blown away by the response. We put this up Sunday in advance of contacting bloggers, so nobody really knew about it the first day. It's Tuesday morning and we're presently at 29%.
I've heard a number of people point out that