Jump to content
  • entries
    941
  • comments
    5,894
  • views
    871,135

About this blog

Learn about game development technology

Entries in this blog

Building a Collaborative Content Production Pipeline - Part One

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

Josh

Josh

Putting the finishing touches on Leadwerks for Linux

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

Josh

Josh

New beta update adds improved project updating, bug fixes

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

Josh

Josh

Linux update: Scene browser and hidden window contexts

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

Josh

Josh

Steam Launch Recap and Steam Dev Days

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

Josh

Josh

Leadwerks 3.1

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

Josh

Josh

Build a Killer Linux Gaming Machine for $430

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

Josh

Josh

Linux Graphics

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

Josh

Josh

A Red Letter Day

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

Josh

Josh

Leadwerks 3.0 Updated with Joint Motors

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

Josh

Josh

Day One

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

Josh

Josh

New Update Available

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

Josh

Josh

30% goal reached in less than 48 hours

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

Josh

Josh

Teaching Leadwerks

About a week ago we sent a survey out to Leadwerks 3 customers to get their feedback and plan our next leg of development. According to the results, the number one most important issue Leadwerkers care about is tutorials.   We've taken the following steps to build resources for Leadwerks user to learn from: The Leadwerks 3 tutorials database is available here. Anyone can submit a new article, but all articles must be approved by the staff before they appear visible. Without a process of a

Josh

Josh

Leadwerks 3 Gets Projected Shadows

We've got a Leadwerks 3 update coming out this week, with miscellaneous fixes and some new features.   The first are the addition of Import and Export buttons in the Project Manager. You can export an entire project to a zip file. You can import a project from either a Leadwerks project file (*.werk) or a zip file. This makes it easy to share projects and synchronize your work across different computers.   The second new feature is projected shadows. These allow characters and other ob

Josh

Josh

Leadwerks 3 Rendering Enhancements

Shadows in 3D games are important. Not only do they look good, but they communicate information about the 3D geometry of the scene. Leadwerks pioneered dynamic deferred lighting, with one of the first deferred renderers in the world on PC. However, fully dynamic lighting requires some pretty beefy hardware, and the reality of today's situation in computing hardware has to be considered when we are designing a platform for other people build commercial products on.   To support games that re

Josh

Josh

A fresh new look...or a blast from the past?

You may notice the website header looks a little different. Sleeker, cooler, more 2013ish. Well, it's actually a lot more classic Leadwerks than you might realize. Here's what Leadwerks.com looked like in 2005:

Josh

Josh

GDC Prepping

We're very busy this week, doing a lot of things that are out of the ordinary for us.   Leadwerks Software will be at booth #938 at GDC 2013 in San Francisco March 27-29. Come by our booth if you're in the neighborhood, play with the full software, watch our demo reel, and get a look at the world's first...well, you'll have to come see it for yourself.   If we get a chance, we'll stream some video from the event.   Here's our staging area.   Following the GDC, Chris will be focusing o

Josh

Josh

Open to the Public

The last few weeks have been interesting as we've been figuring out where Leadwerks 3 fits into the game development landscape.   The good: The feedback from the Leadwerks 3 users has been more positive than anything I've ever seen. People love using it. All the care and attention to the tools has really paid off. The return of constructive solid geometry is a huge win. At the upgrade pricing, we're doing a lot of sales. Leadwerks 3 makes more in a week than Leadwerks 2 made in a mont

Josh

Josh

Optimization

That was one crazy weekend! Things were hectic at times, but we managed to process all orders and get people started with Leadwerks for Android. Well, everyone except YouGroove. I've got to do some tests on a clean install of Windows, so I will figure out exactly what JRE to install, since that part can be confusing.   I uploaded new builds for Windows, Mac, and Android just now with performance improvements. Darkness Awaits is playable now on my Samsung Galaxy Tab 2, though I know I can

Josh

Josh

Launch Day

Well, starting with leaving my iMac's power cord at home, this has been a chaotic day, but we're getting it under control. Leadwerks 3 is a much bigger step beyond Leadwerks 2. We're no longer confined strictly to the PC platform, we've now got a C++ code base that can be used in many ways, and our new tools are really nice to use, if I do say so myself. It's also nice to sort of reconnect with our origins in the CSG editing tools. The feedback on this has been very positive, and I think it

Josh

Josh

Gameplay!

The Leadwerks community project "Midnight Salsa" was one of my favorite things that came out of Leadwerks 2. Watching the videos of everyone collaborating across the globe was really interesting, and with Aggror's leadership they did pull off what they set out to do: Make a playable zombie FPS. However, there were some weak points that showed me where I could put effort and have it be the most useful.   When you go through the first set of doors, a carefully placed light above the door shin

Josh

Josh

One Little Thing

A couple weeks ago I replaced the Object::SetHook() function with an Object::AddHook() function. The difference is subtle but significant. SetHook() supported a single hook function but AddHook() supports multiple hook functions for each hook ID, that will be called in sequence. Syntax AddHook(const int& hookid, void* hook) Example #include "App.h" using namespace Leadwerks; App::App() : window(NULL), context(NULL), world(NULL), camera(NULL) {} App::~App() { delete world; de

Josh

Josh

Unit Testing

I've spent the last few days writing simple examples for every single command in Leadwerks 3. Not only does this make the documentation more friendly, it also acts as a final test to make sure all the commands work the way they say they should. I make the C++ example and then Chris converts it to Lua (and tells me what I did wrong!).   I didn't realize it at first, but this really showcases the strength of API design of Leadwerks. Since you get full control over the execution and flow of a

Josh

Josh

It's Friday

...and that means one thing here at the lab.     I'm going to fix soooooooo many bugs tonight...  

Josh

Josh

×
×
  • Create New...