I have the basis of CSG editing written into the engine. It was a bit challenging to figure out just how to structure the Brush class. We have a lightweight ConvexHull entity, which is used for the camera frustum. This is an invisible volume that changes frequently, and is used to test whether objects intersect the camera's field of view. I didn't want to bloat this class with a lot of renderable surfaces, texture coordinates, vertex normals, etc. I initially thought I would derive the Brus
In the recent weeks Leadwerks has leveled up by joining the Sacramento State University Center for Entrepreneurship (CBA) and after much scanning of the talent tree, Leadwerks has recruited a new intern.
With that, I am proud to introduce myself (the intern) to the Leadwerks Community. My name is Chris Vossen, I am a recent graduate from the University of California: Santa Cruz with a Bachelors of Science in Computer Science: Computer Game Design. During my senior year, five programmers and
This time, I have decided to introduce character animation control. There are several reasons for that. A lot of people asked me to give some example, and at same time, such library will be essential for following AI tutorials, so having said that, I have decided to introduce AI library, so it will be avoided confusion with corresponding command set in AI tutorials. I would like to also make note that all libraries I have released and Im planning to release, are a lite version of fully fledged f
Just a short post since I'm busy being pulled in a dozen different directions; I got roped into helping someone create a short health and safety film, drafting a project proposal, raising finances and even managed to fix a long standing bug in Combat-Helo. Now the sensors, line of sight and all that guff is now WORKING again, Hooray. A quick background on that, an engine update needed to fix some occlusion issues slightly changed the Model hierarchy in a subtle way that changed how actual filen
The Project Manager lets you manage multiple Leadwerks projects. A project includes assets, scripts, code, code projects for Visual Studio, Xcode, and Eclipse, along with your game's executable. The Project Manager lets you view and switch between your different projects.
Projects can be exported into a .zip file for easy sharing and archiving. You can even have Leadwerks3D scan all source code files and only include the asset files that your game actually uses. (I'm still adding the p
I just uploaded Swords and Skellies to the Asset Store in the Games section.
http://www.leadwerks.com/werkspace/files/file/324-swords-and-skellies/
This game release represents the first milestone in the larger project I have in mind. Creating such a simplistic game serves as a mechanism for advancing understanding of game coding, asset management, and engine usage. That is not to say it was simple. There were quite a few challenges when throwing this together. There were also major
People are wondering what language they choose with Leadwerks3D. Sometimes they have some exotic languages in mind, but quite often it comes down to the decision between Lua and C++.
Recently I read an article that LuaJIT (yes, you can use it in Leadwerks3D too) is actually damn fast. It's fast, because the simpliness of the language allows for extreme optimizations. It might even come close to C++ speed, or in some cases even exceed it. That's how fast LuaJIT 2.0 is. But it's still in beta,
Lua's debug hooks are a little funny, because they don't appear to allow line-by-line calling of your own function. The description here is pretty vague:
http://pgl.yoyo.org/luai/i/lua_sethook
The line and count hooks look like they might be what I wanted, but the docs have one big caveat:
This makes me wonder what the point of these hooks even is. The way I have it set up now, "Step" continues to either the next Debug:Stop() call, or to the next point where a Lua function is called. N
In my last development blog, I wrote about some design problems I faced, and why I wasn't sure how to proceed. I've resolved these issues by building the debugger and game output display close to where they will be most likely to be used, the Script Editor.
I was pleased to find that my Lua debugger code I wrote about a year ago works perfectly. This allows breakpoints, code stepping, and the display of variable values in your game. It works with any Leadwerks3D executable, so you can e
I know it's a little late for Valentines Day. Excessive flapping, bumping and separation is discussed in this priceless US Army video from 1980. If only they had "RotorCam ™". The Apache has a fixed rotor, mast bumping isn't an issue but it's all part of helicopter theory.
I've been forced to continue hunting for other employment to deal with a mounting debt crisis. As a result work was put on hold the past two weeks (hence the lack of updates). I apologise for letting my post sli
Leadwerks has been accepted into the Sacramento State University Center for Entrepreneurship. The mission of the Center for Entrepreneurship in the College of Business Administration (CBA) is to develop and nurture innovative business ideas and to capitalize potential entrepreneurial opportunities, both from CSUS and local entrepreneurship communities.
The Center will provide entrepreneurs with the skills and resources needed to launch a venture and to identify and cultivate solutions to en
As I have been developing the player editor for Elemental, I have come across a number of unexpected difficulties that were not initially obvious. I had a challenging time figuring out some of these bugs in my code so that I could get it just right. I really wanted the weapons to look like they are being held properly and armour pieces to deformed with the player without clippings like you would expect it to.
There are two main types of mounting that I'm going to cover and one takes much mor
The design of the Leadwerks website involves organizing a lot of different kinds of data that are continually growing, including forum posts, blog entries, gallery images, videos, and downloadable files.
All this information was organized in categories, and sub-categories, and in some cases, sub-sub-categories. The depth of categorization made it impossible to follow all the information that was flowing through the site, and users frequently posted in the wrong place. We recently underwent
Leadwerks
It has been quite a while since I have been active on werkspace or with Leadwerks. Still, even after working with severall Engines and Frameworks, I allways come back to Leadwerks. I don't know what it is. The coding? The Visuals? The ease of use? The lighting? Anyway, I had some time of, since homework was fairly quickly finished. Spare time has been scarce so I am glad I can finaly make some time werkspace...
Year 2
Year 2 of Game development is an enormous improvement on the f
Sometimes I run into situations where I don't really know how to structure things. I don't mind this, because it usually results in some really elegant design once I figure out what to do. I just play with ideas and try not to force anything, and when the right idea arises, I will recognize it.
Explaining a problem to someone else can help facilitate that process. How many times have you solved a difficult problem right after you posted a description of it on a forum somewhere? The proce
The concept is simple: give a player paintbrush that will draw dungeons, cities, and dangers. What type of world would they create, and how detailed would their worlds be? The project will allow each user to collaborate by building their own realms, forming adventures for other players through this advanced tool set.
The new game in development is called "Dungeon Painter 3D".
These semi-transparent blobs are actually the beginnings for one of the first dungeons created with this r
I've got orthographic viewport navigation done. I decided to build some grid commands into the camera class so that the graphics driver itself can handle the grid rendering, rather than having the editor make a bunch of OpenGL calls in a callback function. The grid can be rendered from any angle, and the math was a little tricky, but I got it worked out. I paid extra attention to showing the border where the world ends. The sliders that pan the viewport are very accurate, and stop right at t
I'm dreaming of Leadwerks3D, and while waiting for its release in June, I have already many ideas what I want to do with it. Then I realized, it's actually much more than just a 3D game engine, because it allows to have a OpenGL context on all devices, including Android, iPhone, iPad, PC, Mac, Linux, and more in future. In addition, it allows you to code in C++ on all those devices, which means that also high level languages, like my SuperBasic will work on all platforms, because it uses a C++ c
I'm happily starting out on the CSG editor. The first step is to add a grid in the orthographic view modes so that you have a frame of reference. In Leadwerks Engine, the editor used some callbacks to call OpenGL commands to draw the grid. In the new system, Leadwerks3D, I added some per-camera commands to control the grid spacing, resolution, and colors. (You may safely ignore the mysterious black cube in the center.) This way the editor never has to call OpenGL commands directly, making r
To prevent non Leadwerks Engine specific/Related entries from my Blog being automatically published here via the Blog Feed, I have removed that functionality, and will simply add a new entry title and link here for all Leadwerks Engine specific/Related entries.
Leadwerks Related Blog Entry.
Meet The Flockers.
I haven't actually had the Leadwerks3D editor running on OSX Lion until a few days ago. There were some underlying GUI issues that had to be updated to handle a few new ways that OSX Lion does things. The first run was pretty frightening, with random crashes and all sorts of visual inconsistencies. However, careful testing resulted in these issues being resolved one by one.
The most peculiar was a bug in which the editor would crash when a file request dialog was opened if, and only if, it
Online games... The unsavoury types are always drawn to them. As a game admin, you simply kick them out of your game, or ban them if you're in such a mood and that's the end of it. But now looking at it from the developer side of things, I can't help thinking a bit more about it.
It's one of UDP's advantages over TCP. When you get a known trouble maker trying to join your game, your server can either tell them to sod off (in the nicest way possible), or it could pretend that it never even go
I generally categorize every aspect of Leadwerks as either "absolutely required" or not necessary. If it's categorized as the latter, I don't bother with it, and if it's categorized as the first, I pursue it with a dogged determination until it is done. This has served us well in many ways, like our vegetation rendering system and character controller.
However, this assumes I have full control and mastery over the product, or at least have someone working for me who does. This is almost a