Jump to content
  • entries
    941
  • comments
    5,894
  • views
    868,006

About this blog

Learn about game development technology

Entries in this blog

More lighting improvements

In Leadwerks Engine 2.3, two rendering paths are used for point lights. One uses a depth cubemap (for shader model 4 hardware). The SM3 fallback uses an unwrapped cubemap on a flat texture. On SM4 hardware, a depth cubemap was used because it allowed a point light to be rendered in one pass. However, when implementing my double-buffered technique for point lights, some problems arose. As a result, I changed the renderer to draw point lights as a series of six pyramidal volumes. This is how

Josh

Josh

Lighting optimizations in version 2.31

I got the volume intersection tests working, and it won't be hard to extend this to make trigger and fluid volumes. The image below shows a point light divided up into six volumes. Each pyramidal volume represents the camera frustum of one face of the shadow cubemap. In version 2.3 and earlier, whenever an object moves within the spherical volume of the point light, the shadow is considered invalidated, and all six faces of the shadowmap are redrawn. This is why point lights are so expensive

Josh

Josh

OnLive Lives?

When OnLive was first announced, I thought it couldn't ever work, because of latency issues. After my recent networking work, I think it might actually be feasible. We had fast enough response times that we could play lagless games with server-controlled physics, which is similar to the way OnLive works. A lot of our tests were performed with intercontinental connections, and of course those will have significant latency. We found that when playing within 1000 miles of the server latency wa

Josh

Josh

Design Problem

I finished the collision editor, and now came across a pretty significant design issue. The approach the main editor has always taken is that by the time assets get into it, they are finished and ready for usage. Now I am making it so the model editor can change the structure of a model, save it, and have the main editor reload all instances of it. However, the Lua class scripts cause some problems with this. If I load a model with it's script enabled, the script might delete limbs fromt he

Josh

Josh

January 25, 2010

The networking code is pretty much done, but I don't think it's quite ready to release. We're redesigning the site to integrate the forum and community features together with the whole site, and an official documentation section is being created. In the meantime, I am going to start the model editor. This will be an app to replace the "Model Viewer" which will allow viewing and resaving of .gmf files. It will also include some editing features so you can adjust some of your meshes that might

Josh

Josh

XBox

Last week I was researching the XBox and PS3 platforms. An XBox version of Leadwerks is technically feasible, and though the cost is considerable, it's not a barrier we can't cross. However, obtaining the development license from Microsoft will be much harder. Basically, they are unlikely to sell a development license until this engine has gained more users and had a couple of commercial games released. So we'll just keep improving and building momentum, with the eventual goal of expanding to th

Josh

Josh

Next up...

There sure is a lot to do around here!   -Character animation example. I want to get the soldier model up and running with basic animations so everyone can use it. -Network improvements. I want to automate entity movement and some other features. -Scene graph improvements and vegetation collision. -Website and forum integration. -Revamping some of the tutorials.   Watch the character movement in this video. I want to set up something simple like that so we can run around and have fun:

Josh

Josh

Apple Adopting OpenGL3

This is great news. I was a bit worried about the state of OpenGL on the Mac, since they presently only support version 2.1. With OpenGL3 support, we can have a uniform graphics API on Macintosh, Linux, Windows XP, Windows Vista, and Windows 7. http://www.theinquirer.net/inquirer/news/1585830/apple-slowly-opengl

Josh

Josh

Scenegraph Stuff

Discussing scene graphs in a game development or programming forum can be difficult, because I feel many people are very short-sighted about all the exceptions and complications that can arise in a flexible environment. In fact, there are many situations that will make rendering with a scene graph much slower than without. Many programmers have a tendency to ignore anticipated problems and assume it will work itself out somehow. It's also very hard to predict how bottlenecks will form and what "

Josh

Josh

Blog Bug Fixed

This should be working now. Looks like Y2K struck ten years late.

Josh

Josh

Framework, Lua, and the programmers who love them

We're finishing up 2009 by resolving some longstanding design issues that haven't been particularly critical, but have weighted on my mind. Framework is not like the main engine. It's far more high-level, and is also the kind of code people want to customize. I don't like locking the user into my way of doing things. However, the interaction between Lua, C++, and Framework commands are a real issue, which we started to see immediately as Lua became available. This was resolved by compiling Frame

Josh

Josh

Merry Christmas!

There's a crazy sale on Steam right now. If you haven't played STALKER yet, you can get it for $10: http://store.steampo...check/app/4500/   In other news...   Framework is being compiled into the engine DLL and being made an official part of the engine API. It will remain a separate piece of code for BlitzMax programmers they can just import. A mechanism will be added to add your own custom post-processing effects, though this will not be available immediately. It will be something like th

Josh

Josh

12-18-2009

This is a good idea to keep in mind, especially with something like software development:   "Don't judge each day by the harvest you reap but by the seeds that you plant." -Robert Louis Stevenson

Josh

Josh

Steam Hardware Survey Results

New Steam hardware survey results are available: http://store.steampowered.com/hwsurvey   As of October 2009, 80.79% machines surveyed can run Leadwerks Engine.

Josh

Josh

December 7, 2009

It's 12:30 in the morning, but I have the model scripts working the way I want. Thanks to "Nilium" for his tips, and to everyone who gave their feedback. I am confident in this revision. I have a lot of scripts that need to be slightly altered, but it's just a matter of adjusting the function structure, not really changing any existing code.   Here's the light_ambient script: require("scripts/class") require("scripts/linkedlist") local class=CreateClass(...) function class:Spawn(model) lo

Josh

Josh

12-17-2009

Well, the single-state lua update is out and I am ready to start making tutorials again.   Someone in the forum pointed out the game Fuel to me. This is an offroad racing game with a nearly infinite world. The data is streamed off the hard drive, basically like its treating the drive as if it were extended RAM. The game got bad reviews, but I think it's great. I went driving for at least 30 minutes and covered mountains, desert, redwood forests, and ravines. I'm in love with the terrain engin

Josh

Josh

12-14-2009

New update Thursday, if everything goes well. Progress will speed back up after that.

Josh

Josh

December 8, 2009

Rewrote the scripts that needed to be done with the OO single-state system. Just a few things to wrap up now and I will have it available.

Josh

Josh

Lua work

I've been revising the Lua design a bit. Ideally this should have been done six months ago, but I did not realize how popular it would be. During beta testing there wasn't much interest in it. That's understandable, because no one likes using beta software. As soon as it was released, suddenly there was some very advanced stuff being implemented immediately. This is great, and I can see my thoughts about how it would benefit us were correct. It also made me want to implement a single-state syste

Josh

Josh

Week 2

People are starting to use Lua, which is good. Initially there was some confusing, but in each case it turned out to be a small misunderstanding. I spent a few hours editing the wiki to add Lua syntax to the commands. I'm going to start working on Lua demos and more high-level stuff, in addition to fixing any bugs that exist. I'm not too interested in adding new features right now. This engine has plenty of features. Tons. It's time to use them to make something.

Josh

Josh

The Day After

I'm taking a short break before I swap GPUs to fix that ATI shader error.   There are now 110 Leadwerks Engine 2.3 users. I did not think the number would be nearly that many.   I am most interested now in documentation, tutorials, and examples as well as improving existing features. With C++, it wasn't worth diving too deep into game tutorials, because only 40% of the programmers would find it useful. Furthermore, it is harder to design useful game components that are easy for users to lear

Josh

Josh

Entering data...

I did not expect this many upgrades over the weekend! I'm entering data as fast as I can.   Already I can see the private sections are a big improvement. It totally changes the feel of the forum. It feels like it's more our own area, instead of just a random bulletin board floating around in cyberspace. If that makes any sense.

Josh

Josh

WerkSpace

Well, this is our new community site. I've wanted something like this for a while, and finally found a way to do it. We've got blogs, a gallery, customizable profiles, and yes, a forum. I was unsuccessful in my attempt to migrate the data from PHPBB, so the old forum will be left intact as an archive. I really like this new system. It's not just a forum, it's a social netwerking site!   If you register an account and aren't able to access all the goodies, please be patient while I enter a

Josh

Josh

×
×
  • Create New...