Jump to content
  • entries
    941
  • comments
    5,894
  • views
    866,500

About this blog

Learn about game development technology

Entries in this blog

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

Open Invitation to Shiva Users

I was sorry to hear the news of Stonetrip's liquidation earlier this month. Shiva3D pioneered multi-platform publishing, and I enjoyed killing zombies in "The Hunt". I know that many of you are wondering what to do next. So, let me just get it out on the table that Leadwerks might be an option for your team.   We just released Leadwerks 3, our first cross-platform product for mobile. Leadwerks 3 is completely redesigned to accelerate developer productivity with new advances in tools and wo

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

Post-GDC Wrapup

I'm back home now, relaxing after a long week away. And what a week it was! I got my lecture out of the way on Monday. I felt like I was pretty well prepared, but some acoustical problems in the hall really made it very difficult to concentrate, plus I was pretty nervous about talking in front of about 600 people. I did it though, and hope to do another one next year. The recorded lecture should be available in the GDC vault. During my talk, I described my experience as a PC developer,

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

Editor Documentation

I got the editor documentation written pretty quickly. It was hard to start, but once I figured out how I wanted to lay out the information, it all started flowing pretty easily.   Documentation in Leadwerks Engine 2 was a weakness, especially in stuff other than the programming reference. This is unfortunate, because I have come to see documentation as the final product. Everything in the development cycle leads up to the ability to write good documentation.   Good documentation starts w

Josh

Josh

Day 877

Development of Leadwerks 3 was (theoretically) completed today. We still have a lot of testing and bug hunting to do, but all features for release are written.   This is where it started: http://www.leadwerks.com/werkspace/blog/1/entry-500-day-1/

Josh

Josh

One Last Thing

In this blog I'm going to explain the evolution of the entity and physics system in Leadwerks 3.   In Leadwerks Engine 2, physics bodies and character controllers are both separate entity classes. If you want a model to be physically interactive, you parent it to a body entity. If you want a model to walk around with physics, you parent it to a character controller body.   In Leadwerks 3 I decided to give physics properties to all entities. This means all entities can use commands like Ge

Josh

Josh

Happy New Year

Today I added the visible guides in the editor for point and spot lights. I also tested out the new FBX converter, recompiled with the 2012 FBX SDK. It works. (There are no file format changes in the 2013 FBX SDK, so this will load everything.) Our character models still have to be rescaled, so I added a resize option in the model editor. That way models can be resized and the model file saved, so you don't have to rescale a model every single time you place it in the editor. Having models

Josh

Josh

Docs

I spent the day manually setting entry categories in the new documentation database. This was needed to make the docs actually use the nice breadcrumb bar in the website header. Our content management system doesn't exactly support hierarchical pages, so some clever PHP scripting was used to make it work. The whole point is simply to make navigation easier, and it works well. I also wrote some PHP code that does a search and replace with class names, so class names are always links to the pa

Josh

Josh

Ubuntu is probably the future of PC gaming

Here's something I've been thinking about. What do you think?   Apple Locking down OSX. No optical drive. The Mac software shelf at Fry's is now obsolete. Mac App Store. Gatekeeper only allows "signed" applications, by default. [*]Miniaturization of computer hardware, at the cost of graphical performance. [*]Move to non-upgradable hardware (glued-in memory). [*]Moving away from file system access (iCloud). [*]Hardware is expensive, and will always be a luxury item.   W

Josh

Josh

Merry Christmas, and a look at our new headquarters

I hope everyone is having an awesome Christmas week. I'm taking a break from coding to show you our new office we moved into in November at the Sacramento Hacker Lab.   All decked out for Christmas:   Chris is pretending to work, but he's not fooling me:   So we changed the arrangement to make a reverse mullet. (Party in the front, business in the back):   The kitchen provides energy, both in the form of food and alcohol:   The common area:   The room-temperature beer flo

Josh

Josh

Progress

Here's my list of things left to do: Documentation Undo system Get character models for Darkness Awaits Prepare the super secret special surprise for deployment   Undo functionality is my absolute least favorite thing to program, and I also want to get some more real-world testing done before implementing it, so it comes last. This evening I will start on the docs, in earnest.   I hope everyone is having a good near-Christmas week.

Josh

Josh

Import Model Scaling

I got tired of rescaling some models every time I created a new instance of them in the Leadwerks 3 editor, so I added an option to resize the model file itself to the proper dimensions. Double-click the model thumbnail in the asset browser to open it in the model editor. Then select the Tools > Resize menu item. The Resize Model dialog will appear with options to scale by a percentage, or fit to a specific size. For convenience, you can choose the units to use, including centimeters, met

Josh

Josh

Last Minute Improvements

We decided to make one last minute change to the material editor. The texture list is a bit easier to work with now:   Looking pretty nice on Mac, too:   We're also working on our character models for Darkness Awaits, as well as a super secret special surprise...

Josh

Josh

What light through yonder Windows breaks?

This is the final output of Leadwerks 3 on Windows.   When you choose "Windows" in the Publish dialog, a few options appear. Press OK and your game's installer is created.   The installer looks like this. You can replace the installer images with your own if you like:

Josh

Josh

From concept to final product

I'm working on project creation, management, and publishing right now. This is necessary because it automates some steps that would otherwise be very time-consuming.   When you create a project, you can choose the language and the platforms you want it to run on:   You can switch between projects to reload all assets and change the working directory:   You can export a project into a zip file, give it to someone else, and they can easily import it back from the zip, and have it availa

Josh

Josh

iOS 6 Blues

Apple's problems in iOS 6 aren't limited to maps. Their OpenGL drivers in iOS 6 are absolutely non-functional.   First I was experiencing a BAD_EXC_ACCESS error when rendering certain surfaces. Feedback on the Apple dev forum suggests I am not alone in this. I took a guess and switched my position vertex buffers to use vec4s instead of vec3s, and it appears to have solved that problem (even though both should be fine).   Second, all 3D objects just stopped appearing, completely. I've deb

Josh

Josh

×
×
  • Create New...