Jump to content

Entries in this blog

Leadwerks Game Engine demo released on Steam

A demo version of Leadwerks Game Engine has been released on Steam. If you've got a Steam account, you can now try the easiest way to make your own 3D games, free for fourteen days. Try out the sample maps that teach gameplay concepts, import some of your own artwork, or just play around with the editor and learning materials.     The full version of Leadwerks enables access to the Leadwerks Workshop, where you can download more than 70 items, including models, sounds, texture packs, and even games made with Leadwerks. It also allows publishing of your own items to Steam.   Try the Leadwerks Game Engine demo on Steam now.

Admin

Admin

SciFi Interior Construction Kit Released on Steam

In collaboration with Arteria3D, we are pleased to announce the release of the SciFi Interior Construction Kit for Leadwerks Game Engine on Steam. This DLC provides all the props and textures you need to create your own high-tech sci-fi game environments. All content is ready to use with Leadwerks Game Engine, with no tweaking or adjusting required. Objects are designed to be easily aligned so you can build your scene quickly and revise it as often as you like. The included objects can be reused in many different ways to create a variety of science-fiction themed environments.     Distributed through our Workshop game content system, the DLC contents appear immediately ready-to-use in Leadwerks upon purchase. Package Contents 25 environment models including panels, pipes, supports, machinery, with predefined physics shapes for each object.
56 materials with 1024x1024 textures, including model skins, with diffuse, normal, and specular maps for each.
Example scenes to demonstrate usage and provide ideas.
  Get the SciFi Interior Construction Kit now for just $9.99 on Steam, with a 10% launch discount during the first week of release.    

Admin

Admin

Blender exporter for Leadwerks now available

Leadwerks Software has released an official Blender exporter for the Leadwerks model format. This allows Blender artists to export their models to Leadwerks with automatic materials generation and full animation, without going through the FBX format. The Blender exporter comes as the fulfillment of a stretch goal reached during the Leadwerks for Linux Kickstarter campaign, which achieved over 200% its goal of $20,000.     The Leadwerks exporter for Blender can be downloaded on the Leadwerks forum. A free forum account is required.   About Leadwerks Software Leadwerks Software was founded in 2006 to build powerful game development tools that are easy to use. The company launched Leadwerks 3, their first multi-platform product, in April 2013 at the GDC expo. Last summer, the company conducted a successful Kickstarter campaign to bring Leadwerks to the Linux operating system, reaching over 200% of their goal in just six weeks. A concurrent Greenlight campaign for Steam was also successful, making Leadwerks the first 3D game engine approved for distribution on Steam.

Admin

Admin

Leadwerks Game Engine 3.2 Unveils Steam Workshop

Leadwerks Software today announced the release Leadwerks Game Engine 3.2, the newest version of their game development software on Steam. This update brings integration with Workshop, Steam’s system for user-generated content. The Leadwerks Workshop gives developers a head start by launching with more than 50 free packages of content ready to be used to make games.   “Leadwerks was created to give people who love games the freedom to create something of their own”, said Leadwerks CEO Josh. ”With version 3, we basically nailed the workflow. There’s always more features you can add, but we basically have the technology problem solved. Once you get to that point, the next thing that comes up is content. Developers need lots of content to choose from. The Leadwerks Workshop on Steam leverages our community so we can all collaborate more effectively.”   The Leadwerks Workshop has some features similar to existing stores like Turbosquid or the Unity Asset Store. You can browse and install various third-party model and texture packs. However, the Leadwerks Workshop takes collaboration a step further. Derivative works are supported, meaning items in the Workshop can be used to make new items that can be published. For example, it’s possible to take a gun from one author, mount it on a vehicle someone else made, and publish the assembly as a new item. “With traditional content stores, artists are always worried about people ripping off their work,” explains Josh. “This kind of flips the equation. Now you want people to reuse your work, because any derivative items they publish always link back to your original.”     Game content isn’t the only thing that can be distributed through the Leadwerks Workshop. Games themselves can be published to Steam via the Workshop, with no waiting period and no approval process. This allows developers to get their game in front of an audience and build a following, without going through the Greenlight process.   Leadwerks Game Engine 3.2 costs $99.99 on Steam, with a 25% discount during the 2014 Steam summer sale. About Leadwerks Software Leadwerks Software was founded in 2006 to build powerful game development tools that are easy to use. The company launched Leadwerks 3, their first multi-platform product, in April 2013 at the GDC expo. Last summer, the company conducted a successful Kickstarter campaign to bring Leadwerks to the Linux operating system, reaching over 200% of their goal in just six weeks. A concurrent Greenlight campaign for Steam was also successful, making Leadwerks the first 3D game engine approved for distribution on Steam.

Admin

Admin

Leadwerks Game Engine Launches in Ubuntu Software Center

Following completion of a successful Kickstarter campaign to bring Leadwerks’ game development software to Linux, Leadwerks and Canonical have joined forces to make Leadwerks Game Engine available in the Ubuntu Software Center. This provides Ubuntu users with a powerful tool for rapid game development.   Bringing Leadwerks Game Engine to Ubuntu also means that existing games can be more easily deployed for Ubuntu. The lineup of featured games on the Leadwerks website covers a diverse range of genres including strategy, action, and simulations. Michael Juliano, developer of the space combat simulation game Rogue System, says that he is now planning on Ubuntu support in his upcoming title due to the ease of deployment Leadwerks provides. “One of the reasons we chose Leadwerks was due to its strong support for Linux”, said Michael. “We’re definitely interested in bringing Rogue System to Ubuntu.”     Jono Bacon, community manager for Ubuntu, said that ”Canonical is delighted to be working with Josh at Leadwerks to help further Ubuntu and Linux and in general as a next generation platform not just for consuming games, but building a powerful community of games developers and content creators”. With 25 million users, Ubuntu is widely used by game developers and players alike who enjoy it’s open nature and long term vision of convergence.   Leadwerks Game Engine is a powerful and easy to use development tool for building 3D games. The software has recently grown in popularity due to its rapid development capabilities, royalty-free license, and strong support for C++ and Lua programming. Thanks to the quality of modern Linux graphics drivers from ATI and Nvidia, Leadwerks is able to deliver high-end 3D visuals on Ubuntu. An advanced deferred renderer provides realistic light and shadows on any machine supporting OpenGL 4.   About Leadwerks Software Leadwerks Software was founded in 2006 to build powerful game development tools that are easy to use. The company launched Leadwerks 3, their first multi-platform product, in April 2013 at the GDC expo. Last summer, the company conducted a successful Kickstarter campaign to bring Leadwerks to the Linux operating system, reaching over 200% of their goal in just six weeks. A concurrent Greenlight campaign for Steam was also successful, making Leadwerks the first 3D game engine approved for distribution on Steam.   About Canonical Canonical is the company behind Ubuntu and the leading provider of services for Ubuntu deployments in the enterprise. With global teams of developers, support staff and engineering centres, Canonical is uniquely positioned to help partners and customers make the most of Ubuntu. Canonical is a privately held company.   Ubuntu is a free, open-source platform for client, server and cloud computing. It is the most widely used Linux on the top 1000 websites by traffic, the reference platform for OpenStack deployments, the most popular guest OS on public clouds, and ships on PCs from Dell, Lenovo, HP and other brands. Since its launch in 2004, it has become the preferred choice for open desktop and scale-out computing, from Fortune 500 companies to hardware makers, content providers, software developers and consumers.

Admin

Admin

Leadwerks Gets Update for Workflow Enhancements, New Features

Leadwerks Game Engine on Steam and standalone versions have received a major update that include enhancements to the workflow and new features.   The FBX model importer will now auto-generate materials for imported models, and select the appropriate shader to use. This even works with animated models that use GPU skinning, so it's super easy to get new models into Leadwerks. Other enhancements include support for multi-track animations and animation sequence names.   Lua script post effects are now supported in the editor. This allows a greater range of plug and play post-processing effects. Scripts and shaders can be modified in real-time and the results are instantly visible, allowing you to fine tune the look and feel of your game.   Physics shapes can now be built into models for easy creation of physics. More advanced physics shapes can be created from constructive solid geometry brushes or auto-generated, but the new feature simplifies the task of defining physical geometry for most models.   A sharpen filter has been added to the built-in texture editor. Unlike paint programs like Photoshop and Gimp, the filter operates at every level of the mipmap chain. This means that fine details aren't washed out as the image is downsampled, and makes far away objects still look crisp and clear. Blurry stock photos can be easily transformed into beautiful game-ready textures, and the effect is adjustable so you can view the results instantly to get just the right look.   Controls for texture compression have been added, allowing you to select which DXT compression format to use, as well as support for the new DXTn compression format. This swizzles the blue and alpha channels in the texture to provide greater resolution for normal maps and eliminate the blocky artifacts compressed normal maps can experience.   Finally, the Linux build has received a refresh to update it to the visual style of Ubuntu 14.04. A new icon set makes Leadwerks for Ubuntu look sleek and professional just in time for its release in the Ubuntu Software Center:   All of these features help make Leadwerks the easiest way to make games that look amazing. Thousands of developers worldwide are using Leadwerks to create a diverse range of games, including first-person shooters, strategy games, and flight simulators.   About Leadwerks Leadwerks Software was founded in 2006 to build powerful game development tools that are easy to use. The company launched Leadwerks 3, their first multiplatform product, in April at the GDC 2013 expo. Last summer, the company conducted a successful Kickstarter campaign to being Leadwerks to the Linux operating system, reaching over 200% of their goal in just six weeks. A concurrent Greenlight campaign for Steam was also successful, making Leadwerks the first 3D game engine approved for distribution on Steam.

Admin

Admin

Leadwerks Standard Edition Brings C++ Game Development to Steam

Following the successful debut of Leadwerks Game Engine: Indie Edition on Steam, Leadwerks Software today announced the launch of Leadwerks Standard Edition. This DLC on Steam adds support for programming in modern C++11 with Microsoft’s Visual Studio 2013.   C++ is the game industry’s leading programming language, due in large part to its superior performance and flexibility. However, the language is sometimes considered to be too complicated for indie developers to take advantage of. Leadwerks solves this problem by focusing on a useful subset of the C++ language, and providing a simple command library that works the same in C++ and Lua. This makes C++ game development fast and easy to control.   Adding C++ support to Leadwerks Game Engine unlocks access to a massive amount of free third-party game libraries, which are typically written for C++. Indie game developers can include new libraries for physics, AI, and virtual reality into their Leadwerks projects without having to wait for the developers to add an official bridge. This lets indie developers take advantage of the newest technologies and provides a degree of control other languages can’t match.   Leadwerks is designed to make game development easy for Steam’s 75 million users. A new renderer built on OpenGL 4.0 provides advanced graphics at an affordable price. Built-in level design tools make map design easy for users who don’t happen to be expert artists. Game code can be written with Lua, an easy-to-learn script language, or modern C++11. Finally, the royalty-free license means game developers can publish commercial games and keep 100% of the profits, with no additional payments due, ever.   The Leadwerks Game Engine: Standard Edition DLC can be purchased on Steam for $99.   About Leadwerks Software Leadwerks Software was founded in 2006 to build game development tools that are powerful and easy to use. The company launched Leadwerks 3, their first multiplatform product, at GDC 2013. Last summer, the company conducted a successful Kickstarter campaign to being Leadwerks to the Linux operating system, reaching over 200% of their goal in just six weeks. A concurrent Greenlight campaign for Steam was also successful, making Leadwerks the first 3D game engine approved for distribution on Steam.

Admin

Admin

Leadwerks Game Engine on Steam gets plugin post-effects system

Leadwerks Game Engine on Steam has been updated with bug fixes and a host of new features that are now out of beta. Crowdsourcing Post-Processing Effects Although Leadwerks 2 featured an extensive set of post-processing effects, they were all hard-coded into the engine. This limited the ease with which new effects could be added, and caused all Leadwerks screenshots to look similar. In Leadwerks 3 we decided to implement a post-processing stack of shaders. You can attach post-processing effects to the scene root in the editor and move them around to get different appearances.  We're already seeing a greater diversity of looks and effects than what Leadwerks 2 could render. By effectively crowdsourcing post-effects, we're creating a stronger platform for innovation of new plug-in effects, from the realistic to the fantastic. The post-processing features are included in both the Indie and Standard editions of Leadwerks 3.1.       Built-In Screenshot and Video Publishing You can now publish screenshots and videos straight to your Steam profile from the Leadwerks Editor. To render a screenshot, select the Render > Render Screenshot menu item. After your image renders, press the Publish button to send it to Steam, where it will appear in your Steam profile and in the Leadwerks Community Hub. Improved Project Management Tools 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.    Leadwerks Game Engine is available on Steam for $99.

Admin

Admin

Leadwerks Adds Native Support for Steamworks SDK, Steam Controller

Leadwerks has added new features that allow users to take advantage of Steam features. Steamworks Integration Leadwerks now has native support for the Steamworks SDK. You can make your game ready to publish on Steam by calling Steamworks:Initialize(). This also enables the in-game overlay so you can take screenshots, chat with friends, and access the entire Steam community in-game. Screenshot Publishing The new screenshot publishing window allows you to upload rendered images directly to your online screenshots library, where it will show up on your Steam profile and the Leadwerks community hub. Steam Controller We've added native support for the new SteamOS Controller. You can get input from the controller and even send haptic feedback back to the device.     You can learn more about these new features in the documentation here.

Admin

Admin

Leadwerks Game Engine Arrives on Steam, Turns Players into Makers

After blasting through Greenlight in just 27 days, Leadwerks Software today announced the launch of Leadwerks Game Engine: Indie Edition, exclusively available on the Steam distribution platform. The arrival of Leadwerks adds 3D game development software to Valve’s lineup of creative and productivity tools.   Leadwerks is designed to make game development easy for Steam’s 65 million users, with a royalty-free license for making commercial products. A new renderer built on OpenGL 4.0 provides high-end graphics comparable with modern AAA games at an affordable price. Built-in level design tools based on constructive solid geometry make map design easy for users who aren’t expert artists. Game code is written with Lua, an easy-to-learn script language that also happens to be used in hundreds of commercial games like Crysis, Call of Duty, and World of Warcraft. Extensive documentation is provided, with examples to demonstrate every aspect of building a 3D game.   Leadwerks promises to provide an easy entry mode to overcome the console barrier that has traditionally kept indie game developers at a distance. Last summer the company raised over 200% of their funding goal on Kickstarter to add support for the Linux operating system. With Linux development nearly complete and the pending release of Valve’s Steam Machines, a disruptive alternative to traditional consoles, Leadwerks looks ready to provide an easy route to console publishing via Steam. The company is attending Steam Dev Days next week to learn more about SteamOS and Valve’s new hardware.   Leadwerks Game Engine: Indie Edition can be purchased on Steam for $99.

Admin

Admin

Leadwerks 3.1 Pre-orders Now Available, Indie Edition coming to Steam January 6th

Leadwerks 3.1 is nearly ready for release! In Leadwerks 3.0, we focused on making a solid cross-platform art pipeline and editor. In 3.1 we're adding graphics that go above and beyond the capabilities of Leadwerks 2.   New Features in 3.1 OpenGL 4.0 deferred renderer with up to 32x hardware MSAA.
Geometry and tessellation shaders.
Support for the Linux operating system, for both the engine AND editor.
  Leadwerks 3.1 is now available for pre-ordering in the Leadwerks store. Existing 3.0 customers can pre-order the upgrade to 3.1 for $99. New customers can pre-order Leadwerks 3.1 for $199. Order before January 6 and get the Indie Edition on Steam for free.   The upgrade to an OpenGL 4 deferred renderer is a big step. To make the process smoother and put Leadwerks in your hands sooner, we're rolling Leadwerks 3.1 out in stages.   "Leadwerks: Indie Edition" will be launched on Steam January 6th. This will be on Windows only, with support for Lua scripting. The following groups will receive a free Steam key to add this product to their Steam account: Leadwerks 3.0 customers who pre-order the upgrade to version 3.1.
New customers who pre-order Leadwerks 3.1.
All Kickstarter backers who backed Leadwerks for Linux for $49 or more. (Even if you don't run Windows, hold onto this as the Linux version on Steam will have special features.)
  Leadwerks 3.1 for Linux and Windows will be released together next, with the exact release date to be determined. Leadwerks 3.1 for Mac will follow this, with mobile add-ons for iOS and Android coming last. (There is no purchase necessary to upgrade the mobile add-ons from Leadwerks 3.0 to Leadwerks 3.1.)   Exemptions Leadwerks 3.1 beta testers will receive the 3.1 upgrade for free.
Leadwerks 3.0 customers who backed the Leadwerks for Linux Kickstarter project for $99 or more will receive the 3.1 upgrade for free.
Leadwerks 3.1 is a very strong product, with great graphics and a fantastic art pipeline. I'd like to thank all the users, both old and new, who offered their input on product design and the direction of the company. I can't wait to see what the community does with Leadwerks 3.1.

Josh

Josh

Leadwerks 3.0 Update Available

Leadwerks 3.0 has been updated with bug fixes and productivity enhancements. To get the update, run the Leadwerks Updater. Use the Project Manager to update your project with the latest files.   Resolved bug reports are listed in the Bug Report Forum. This release fixes a few issues including Android multitouch indexes sometimes not working right, sphere casting that was sometimes wrong, and several other small problems.   Some new enhancements have been made to improve productivity. Camera entities will now show a volume when selected, indicating their view frustum:   The asset browser now uses a solid background to indicate which file is selected. You can now use the arrow keys to navigate files in the asset browser, and the enter key will open the selected file:   In order to achieve compliance with UAC and other OS permission systems, Leadwerks will now store the program log and config file in the correct "AppData" folder. On Windows, this is "C:\Users\(USERNAME)\AppData\Local\Leadwerks". On OSX this is "Library/Application Support/Leadwerks". If you want to edit your config file by hand you must find it there. You do not need to manually move any files, as the editor will automatically copy your config file to the correct location.   The default location for projects has been moved to the user's Documents directory. This will not affect your existing installation, as the editor will read your current projects path from your configuration file. If you wish, you can change the default projects path in the Options dialog, under the Paths tab.

Josh

Josh

Leadwerks 3.1 Enters Beta; Heading to Steam Dev Days

Leadwerks 3.1 has entered the beta testing phase on schedule according to our development plan laid out in the Leadwerks for Linux Kickstarter campaign. Supporters who chose the SUPER BACKER reward have been granted access to try the early builds of Leadwerks for Linux.   We chose to use the excellent Code::Blocks IDE for Linux development. Beta testers can access the full Leadwerks API to program graphics, physics, and gameplay, along with a few new functions like Camera::SetMultisampleMode(), which sets the render antialiasing level.     Although the beta is not a complete finished product, we've already learned a lot about building high-end graphics for Linux. First of all, the Linux OpenGL drivers for ATI and Nvidia hardware are fine. We've encountered no graphics drivers bugs (so far). This may be due to the streamlined nature of OpenGL 4, as it removes a lot of legacy functionality. Whatever the cause, OpenGL drivers for Linux work great, much better than Windows drivers did a few years ago in the dark days between OpenGL 2 and 3.   The biggest remaining challenge is to get the editor running in Linux. We anticipate two difficult parts to this. First, although we have a GUI abstraction layer that uses GTK on Linux, we expect some amount of fiddling to be necessary to make it work right. Second, the case-sensitive nature of the Linux file system will cause issues that need to be dealt with since there are many placed where our editor stores file names in lower-case format. This will require a lot of effort to resolve, but it's not any harder than some of the other issues we have dealt with so far in the development of Leadwerks for Linux. The benefits of having a Linux game editor with a native look and feel will make it worth the extra effort it takes. Steam Dev Days Leadwerks founder Josh has been invited and will be attending Steam Dev Days in Seattle, Washington. Steam Dev Days is a two-day game developer’s conference where professionals can meet in a relaxed, off the record environment. Developers will share their design and industry expertise, participate in roundtable discussions and attend lectures by industry veterans on topics ranging from game economies to VR, Linux/OpenGL, user-generated content and more. Developers will also have direct access to Valve’s Steam Team, and will be given a chance to test-drive and provide feedback on Steam OS, prototype Steam Machines and Steam Controllers. 

Admin

Admin

Success!

You did it! Leadwerks 3.1 is coming to Linux. As traditional gaming platforms are becoming more and more restrictive, software developers, hardware vendors, open-source coders, and gamers are working together to build a better future for gaming on the open platform Linux. I count myself fortunate to have found my place in this movement, and am very grateful that over 700 Linux gamers believed in this idea. What now? I'm driving over to the IGDA Summit today to sit in on a few sessions. Then I'm going to take a much-needed couple of days off and we'll hit the ground coding Monday morning. There's a lot of work to do before December, but our requirements are very clearly defined and the major technical hurdles have been knocked out. I have a pretty open development process and enjoy explaining the cool stuff we implement, so you'll be updated at every step along the way.  It's clear that the visual GUI designer stretch goal is something many people would like to have. The idea could probably use more refinement, and I'm not going to make spur-of-the-moment development decisions, but the feature is a very good candidate for future development.   Physical items will be shipped in August. I'll post an update here when items begin shipping. A poll will be sent out to gather shirt sizes and any other needed information.   For near-daily updates you can add Leadwerks on social networks: Facebook: http://www.facebook.com/Leadwerks
Twitter: http://www.twitter.com/Leadwerks
Google+: http://plus.google.com/105110099393641532044
YouTube: http://www.youtube.com/Leadwerks
  Once again because it can not be said enough, thank you for backing this project. This is a win for not only the Linux operating system, but for PC gaming, which is finally getting the priority it deserves on Linux. Acknowledgements The following organizations helped achieve this outcome: HackerLab
SARTA
OUYA
Canonical
Valve
  And of course, thank you to Kickstarter for providing the platform to support this funding model.

Josh

Josh

Procedural Terrain

I wanted to add some default procedural generation tools in the Leadwerks 3.1 terrain editor. The goal is to let the user input a few parameters to control the appearance of their terrain and auto-generate a landscape that looks good without requiring a lot of touch-up work. Programmers commonly rely on two methods for terrain heightmap generation, Perlin noise and fractal noise. Perlin noise produces a soft rolling appearance. The problem is that Perlin noise heightmaps look nothing like real-life terrain:   Fractal noise provides a better appearance, but it still looks "stylized" instead of realistic:   To get realistic procedural terrains, a more complex algorithm was needed. After a few days of experimentation, I found the optimal sequence of filters to combine to get realistic results. We start with a Voronoi diagram. The math here is tricky, but we end up with a grid of geometric primitives that meet at the edges. This gives is large rough features and ridge lines that look approximately like real mountains:   Of course, real mountains do not have perfectly straight edges. A perturbation filter is added to make the edges a little bit "wavy", like an underwater effect. It gets rid of the perfectly straight edges without losing the defining features of the height map:   The next step is to add some low-frequency Perlin noise. This gives the entire landscape some large hills that add variation to the height, instead of just having a field of perfectly shaped mountains. The mixture of this filter can be used to control how hilly or mountainous the terrain appears:   We next blend in some Fractal noise, to roughen the landscape up a bit and add some high frequency details:   Finally, we use thermal and hydraulic erosion to add realistic weathering of our terrain. Thermal erosion works by reducing the harshness of steep cliffs, and letting material fall down and settle. Hydraulic erosion simulates thousands of raindrops falling on the landscape and carrying material away. This gives beautiful rivulets that appear as finger-life projections in the height map: Rather than relying on conventional hydraulic erosion algorithms, I created my own technique designed specifically to bring out the appearance of those features.   Here is an animation of the entire process:   And in the renderer, the results look like the image below. All the parameters can be adjusted to vary the appearance, and then you can go in with the manual tools and sculpt the terrain as desired.   The new landscape has ridges, mountains, and realistic erosion. Compare this to the Perlin and fractal landscapes at the top of this article. It's also interesting that the right combination of roughness and sharp features gives a much better appearance to the texture blending algorithm.

Josh

Josh

Leadwerks at Cereal Hack 3

Leadwerks is a prize sponsor for Cereal Hack 3 at the Sacramento HackerLab. I stopped by in the morning to listen to the pitches and say hi. Here are a few photos from the event:        

Josh

Josh

New Kickstarter rewards added, with international shipping

I've added new rewards including international shipping for our T-Shirt and sticker, as well as an indie team and professional site license. A lot of people have been asking for international shipping for the T-shirt and sticker rewards, but I wanted to make sure I knew what the shipping would cost first. It's a good thing I checked because it costs $16.75 to ship. The good news is its a flat rate for any country, so I can rely on that cost when I price things. To sweeten the deal, I am including the Leadwerks sticker in all international orders.

Josh

Josh

Stretch goals revealed for Leadwerks for Linux Kickstarter campaign

I'm pleased to announce the full stretch goals for the Leadwerks for Linux Kickstarter campaign:   $26,000 - Android + Ouya for All: We will provide all backers who pledged $100 or more with Android support. We’ll also add support for OUYA, the Android-based open game console. This will let you build games for Android and OUYA, without ever leaving the Linux operating system.   $30,000 - Blender integration: We want to integrate Leadwerks with the free 3D modeling package Blender. We’ll start with a Blender exporter that saves a model and all materials ready-to-use in Leadwerks, and look for other Blender features we can put to work in our engine.   $35,000 - 64-bit Builds: We’ll provide 64-bit builds of the Leadwerks engine library, along with the 32-bit library. (We decided to provide this for Linux by default. The stretch goal is for 64-bit builds on Windows and Mac.)   $45,000 - Visual GUI Editor: We want to build a fully integrated GUI editor right into Leadwerks. This will let you create game menus with buttons, sliders, switches, and more, in a fully skinnable GUI system. GUI elements will even integrate with our flowgraph system, so you can visually attach GUI elements to scripted events and C++ callbacks.   $55,000 - Oculus Rift + Omni in Linux: We want to integrate the great virtual reality headset Oculus Rift with Leadwerks, all running natively in Linux. We’ll even include support for the Omni VR treadmill, so Linux developers can create the full VR experience.   $85,000 - Broaden Your World: We’ll implement full 64-bit floating point math and streaming terrain data to create worlds beyond the limits of 32-bit floating point precision. Want to create detailed worlds ten times bigger than Crysis maps? We can make it happen.   $150,000 - Choose Two Flavors of Linux: Variety is the spice of life, and Linux is baked with plenty of it! We’ll work with the top two distros backers choose to provide full Leadwerks integration and ongoing support for two years.   $200,000 - Plugin-Free 3D Web Games: We’ll work with asm.js to compile Leadwerks in web-ready format so you can distribute 3D web games for supported browsers, with no proprietary plugins required.

Josh

Josh

A first look at the terrain editor

I'm starting to get terrain integrated into the Leadwerks 3 editor. For the most part, it stays pretty close to the design of the terrain tools in Leadwerks 2, and you should have no trouble figuring it out. I'm implementing the critical features first: This will be added into version 3.0 before the release of 3.1.     As I described in my previous blog, my goal is to take all the lessons learned from Leadwerks 2 and come up with something more refined and powerful.

Josh

Josh

You did it! Native game development is coming to Linux

In just three weeks, the Linux community has successfully funded the development of Leadwerks for Linux. This means we're going to bring Leadwerks 3.1 to Linux, with native support for developing Linux games...so Linux games can now be completely free from Windows. Greenlight It's been an amazing few weeks. During this time, we also successfully completed our Greenlight campaign to make Leadwerks available on Steam and take advantage of features like the Steam Workshop. You can see from the graph below that our campaign did better than any other software in Steam we had data for. The votes look like they would have gone a lot higher, but Valve approved us early!  Megatextures I also had a chance to prototype the major feature of Leadwerks 3.1 I was most concerned about. I wanted to implement a new terrain system that would remove the limitations of our old one, and thought that a technique I call "dynamic megatextures" would be a good solution. Basically, this works like id Software's megatexture technology, only the virtual textures are generated on-the-fly rather than being paged from the hard drive. This means the entire terrain can be uniquely textured, but it doesn't require the hard drive space megatextures usually need:    Getting that knocked out of the way makes me confident we can deliver Leadwerks 3.1 for Linux according to our original vision.   Congratulations, Linux community! I'm happy to make Linux a core part of our company's focus moving forward.

Admin

Admin

Virtual Texture Terrain

The Leadwerks 2 terrain system was expansive and very fast, which allowed rendering of huge landscapes. However, it had some limitations. Texture splatting was done in real-time in the pixel shader. Because of the limitations of hardware texture units, only four texture units per terrain were supported. This limited the ability of the artist to make terrains with a lot of variation. The landscapes were beautiful, but somewhat monotonous.   With the Leadwerks 3 terrain system, I wanted to retain the advantages of terrain in Leadwerks 2, but overcome some of the limitations. There were three different approaches we could use to increase the number of terrain textures. Increase the number of textures used in the shader.
Allow up to four textures per terrain chunk. These would be determined either programmatically based on which texture layers were in use on that section, or defined by the artist.
Implement a virtual texture system like id Software used in the game "Rage".
  Since Leadwerks 3 runs on mobile devices as well as PC and Mac, we couldn't use any more texture units than we had before, so the first option was out. The second option is how Crysis handles terrain layers. If you start painting layers in the Crysis editor, you will see when "old" layers disappear as you paint new ones on. This struck me as a bad approach because it would either involve the engine "guessing" which layers should have priority, or involve a tedious process of user-defined layers for each terrain chunk.   A virtual texturing approach seemed liked the ideal choice. Basically, this would render near sections of the terrain at a high resolution, and far sections of the terrain at low resolutions, with a shader that chose between them. If done correctly, the result should be the same as using one impossibly huge texture (like 1,048,576 x 1,048,576 pixels) at a much lower memory cost. However, there were some serious challenges to be overcome, so much so that I added a disclaimer in our Kickstarter campaign basically saying "this might not work".. Previous Work id Software pioneered this technique with the game Rage (a previous implementation was in Quake Wars). However, id's "megatexture" technique had some serious downsides. First, the data size requirements of storing completely unique textures for the entire world were prohibitive. "Rage" takes about 20 gigs of hard drive space, with terrains much smaller than the size I wanted to be able to use. The second problem with id's approach is that both games using this technique have some pretty blurry textures in the foreground, although the unique texturing looks beautiful from a distance.    I decided to overcome the data size problem by dynamically generating the megatexture data, rather than storing in on the hard drive. This involves a pre-rendering step where layers are rendered to the terrain virtual textures, and then the virtual textures are applied to the terrain. Since id's art pipeline was basically just conventional texture splatting combined with "stamps" (decals), I didn't see any reason to permanently store that data. I did not have a simple solution to the blurry texture problem, so I just went ahead and started implementing my idea, with the understanding that the texture resolution issue could kill it.   I had two prior examples to work from. One was a blog from a developer at Frictional Games (Amnesia: The Dark Descent and Penumbra). The other was a presentation describing the technique's use in the game Halo Wars. In both of these games, a fixed camera distance could be relied on, which made the job of adjusting texture resolution much easier. Leadwerks, on the other hand, is a general-purpose game engine for making any kind of game. Would it be possible to write an implementation that would provide acceptable texture resolution for everything from flight sims to first-person shooters? I had no idea if it would work, but I went forward anyway. Implementation Because both Frictional Games and id had split the terrain into "cells" and used a texture for each section, I tried that approach first. Our terrain already gets split up and rendered in identical chunks, but I needed smaller pieces for the near sections. I adjusted the algorithm to render the nearest chunks in smaller pieces. I then allocated a 2048x2048 texture for each inner section, and used a 1024x1024 texture for each outer section:    The memory requirements of this approach can be calculated as follows: 1024 * 1024 * 4 * 12 = 50331648 bytes 2048 * 2048 * 4 * 8 = 134217728 Total = 184549376 bytes = 176 megabytes   176 megs is a lot of texture data. In addition, the texture resolution wasn't even that good at near distances. You can see my attempt with this approach in the image below. The red area is beyond the virtual texture range, and only uses a single low-res baked texture. The draw distance was low, the memory consumption high, and the resolution was too low.     This was a failure, and I thought maybe this technique was just impractical for anything but very controlled cases in certain games. I wasn't ready to give up yet without trying one last approach. Instead of allocating textures for a grid section, I tried creating a radiating series of textures extending away from the camera:     The resulting resolution wasn't great, but the memory consumption was a lot lower, and terrain texturing was now completely decoupled from the terrain geometry. I found by adjusting the distances at which the texture switches, I could get a pretty good resolution in the foreground. I was using only three texture stages, so I increased the number to six and found I could get a good resolution at all distances, using just six 1024x1024 textures. The memory consumption for this was just 24 megabytes, a very reasonable number. Since the texturing is independent from terrain geometry, the user can fine-tune the texture distances to accommodate flight sims, RPGs, or whatever kind of game they are making.     The last step was to add some padding around each virtual texture, so the virtual textures did not have to be complete redrawn each time the camera moves. I used a value of 0.25 the size of the texture range so the various virtual textures only get redrawn once in a while. Advantages of Virtual Textures First, because the terrain shader only has to perform a few lookups each pixel with almost no math, the new terrain shader runs much faster than the old one. When the bottleneck for most games is the pixel fillrate, this will make Leadwerks 3 games faster. Second, this allows us to use any number of texture layers on a terrain, with virtually no difference in rendering speed. This gives artists the flexibility to paint anything they want on the terrain, without worrying about budgets and constraints. A third advantage is that this allows the addition of "stamps", which are decals rendered directly into the virtual texture. This allows you to add craters, clumps of rocks, and other details directly onto the terrain. The cost of rendering them in is negligible, and the resulting virtual texture runs at the exact same speed, no matter how much detail you pack into it. Below you can see a simple example. The smiley face is baked into the virtual texture, not rendered on top of the terrain:  Conclusion The texture resolution problem I feared might make this approach impossible was solved by using a graduated series of six textures radiating out around the camera. I plan to implement some reasonable default settings, and it's only a minor hassle for the user to adjust the virtual texture draw distances beyond that.  Rendering the virtual textures dynamically eliminates the high space requirements of id's megatexture technique, and also gets rid of the problems of paging texture data dynamically from the hard drive. At the same time, most of the flexibility of the megatexture technique is retained.   Having the ability to paint terrain with any number of texture layers, plus the added stamping feature gives the artist a lot more flexibility than our old technique offered, and it even runs faster than the old terrain. This removes a major source of uncertainty from the development of Leadwerks 3.1 and turned out to be one of my favorite features in the new engine.

Josh

Josh

Leadwerks gets the Greenlight for Steam

Leadwerks has been successfully Greenlit for Steam, meaning we can integrate great features like the Steam Workshop and Valve file formats right into our game engine! Thank you so much to everyone who voted.   We saw an incredible response from the Steam Linux community, both here and on our Kickstarter campaign for Linux support, which is nearly 85% funded. If the campaign reaches the first stretch goal, we're throwing in Android and OUYA support for everyone who pledged $100 or more to the campaign.   Valve is one of my earliest influence in design and coding, and I'm really excited to be working more closely with them in the near future. Again, I sound like a broken record, but a big THANK YOU to the Steam, Linux, and Leadwerks communities!

Josh

Josh

Greenlight Status

I wanted to post an update on our Steam Greenlight campaign. Basically, we're doing better than most of the top compaigns did during the same time frame. However, because items in Greenlight are never removed, they slowly accumulate votes over time. Some of the software in Greenlight has been there for almost a year, and we've only been in there about three weeks. So their number of votes will be higher than ours for a while, even if we are accumulating votes much faster.   The campaign got enough votes early on that I'm pretty confident it will succeed, but it's going to take a couple of months to build up enough votes to pass other items that have been sitting around for a long time. If I had designed the system, I would have done 30-day runs and just picked the top items each month. It's like if one item gets 3000 votes in one week, it's still rated lower than something that has built up 5000 votes over the course of a year.   As a game developer, the lesson here might be to get your title into Greenlight as soon as possible, since it will take time to build up votes.

Josh

Josh

Leadwerks on OUYA

Last weekend I attended an OUYA game jam and got to play around with the OUYA dev kit for the first time. My goal was to see if I could get Leadwerks running on it over the weekend. I had problems with the USB driver, but compiling went smoothly: I didn't have any problems with controller latency, but did not finish mapping the controls or updating our project to use some newer functions we need. In the end, I had to manually copy the compiled .apk file to the device to deploy it. All in all, it was a good proof of concept. As we now pass the 60% mark, we're ready to unveil our first stretch goal. We want to put OUYA development in the hands of every Leadwerks developer, so we're making that our first stretch goal. There's still a lot of work to be done, but my tests last weekend prototyping Leadwerks on OUYA proved it was possible. When our campaign reaches the $26,000 mark, we will provide all backers who pledged $100 or more with OUYA support, delivered at the time Leadwerks for Linux is ready. This will let you build games for OUYA and Android, without ever leaving the Linux operating system. Although the OUYA is new and the firmware still has a few rough spots, it's a lot of fun deploying games straight to your big-screen TV, and we've already prototyped it. We're looking forward to bringing OUYA game development to Linux users.   http://www.youtube.com/watch?v=uTQ8h-1rnZg

Josh

Josh

50% reached in less than one week; Work on Leadwerks for Linux begins

Wow! We crossed the 50% mark in less than a week. At this point, the campaign has shown enough strength that I am willing to begin allocating resources to the development of Leadwerks for Linux. (To be clear, we will only deliver a Linux product if the entire target amount is met.) Kickstarter has been fantastic because it allows us to gauge demand before we do the hard work of supporting a new operating system, so we can figure out in advance whether it's worthwhile. Fortunately, it appears there's a lot of Linux users (and people who would like to move to Linux) who want native game development tools for Linux.     We're able to develop Leadwerks for Linux at a relatively low cost because our game engine and editor were designed from the start to be cross-platform compatible. We abstract away any OS-specific code. When porting to a new platform, we just need to replace those OS-specific bits, and past a certain point the rest of the engine will just work. The image below shows how I visualize the code base:     It's interesting that as popular technology is becoming more locked-down, from the Windows 8 closed app store to the increasing DRM requirements of the new consoles, people are responding by showing a new interest in open systems like Linux and Valve's upcoming SteamBox. I'm a hardcore PC gamer, and it's disappointing to me how Microsoft has treated games on Windows like an unwanted child for so long. Games could be the niche Linux uses to gain greater market share. Many people have told me that Leadwerks running natively on Linux would be the last application they need to stop dual-booting and switch completely over to Linux.   So let's make it happen!

Josh

Josh

×