Jump to content
  • entries
    943
  • comments
    5,899
  • views
    922,578

About this blog

Learn about game development technology

Entries in this blog

The Left-Hand Rule

Leadwerks uses a left-handed coordinate system. This means that if you hold your left hand as shown below, your middle finger, index finger, and thumb will point in the directions of the X, Y, and Z axes, respectively.     Rotations use the left-handed rotation rule. To predict the direction of positive rotation, curl your fingers on your left hand and point your thumb in the direction of the rotational axis. Your fingers will curl in the direction of positive rotation along that axis.

Josh

Josh

Leadwerks Merc

Here's an update of the model sheet for our "Mercenary" character. We're spending more time in the planning phase than previous attempts, and I think the effort is really paying off.   All design is really a process of decision-making. If you don't make decisions you'll end up with something without much definition. Everything about this character was decided according to factors I set out at the beginning of this project.  

Josh

Josh

Artwork production

Our all-purpose action figure concept is complete, and he looks fantastic.     I am reminded of the great artwork on the packaging of GI Joe action figures from the 80s.     Rich has had some difficulty modeling a higher-detail pickup truck, inspired by the design of a Dodge Ram. According to him, curved vehicle bodies are much more difficult to get right than more angular designs. So that tells me in the future, we can get a jeep or something done much more easily than a Corvette, f

Josh

Josh

Billboards Part 2

I tried a different approach for billboards that is giving good results. A single quad rotates around the vertical axis to face the camera. A series of 64 different view angles are rendered in a circle around the billboarded object. A second quad faces straight up and is gradually dissolved in when the angle between the object and the camera becomes vertical enough.   A combination of cross-fading and cross-dissolving is used to smoothly blend in between the different side views. The billb

Josh

Josh

Character Sketches

The first step to building a character model is to establish the concept. Here are the images I have received. I have my favorite in mind, but what do you think? The purpose of this character is to serve as an enemy for a wide range of games. It could also be used as a main character with a third-person camera.   Which one do you like best?  

Josh

Josh

Billboard Generation

With the main culling and rendering algorithm done, I am focusing on the billboard display for the Leadwerks 3.7 vegetation system. My goal is to reduce the popping artifacts the Leadwerks 2 renderer displayed:   I am testing with a non-plant model with the idea that if I can get it to look reasonably well with an oddly sized mechanical object with highly visible lines, then a tree should look very good. Below you can see part of the billboard image drawn on the screen showing the object

Josh

Josh

Pieces Form the Whole

A few technologies are converging that form the basis of Leadwerks Game Engine 4 and our extended future.   BlitzMaxNG is a new compiler that turns BMX source code into C++, and includes a 64-bit compile mode. This means we can do a 64-bit build of our editor in the future. It's not super important right now, but it's a nice option to have going forward, and it makes all our code future-proof in the long run.   I've been exploring the direct 2D drawing features in GDI (Windows), Quartz (Ma

Josh

Josh

Beta update available

A new update is available which should fix terrain rendering issues. The project explorer panel is also shown in the script editor on Linux as well. I am not 100% happy with the layout of this and it may change before the final release.   I am also experimenting with Teragen 3 and think I can create some nice high-def skyboxes for us.  

Josh

Josh

Art

Three things I am working on right now: We need a high quality default skybox. I'm pretty happy with the results I got, after a lot of experimentation and different programs. This will be a whole huge blog post itself. Commissioning development of one high-end character model. I'm going with a fairly expensive option this time. My goal is to just get ONE character I am happy with, with the idea that if we can do it once we can do it again. More on this later. Investigating a better

Josh

Josh

Legos and Game Artwork

I recently had a strange interest in looking at Lego sets online and watching reviews. There was something about them that I felt like related to game development and level design. Something very interesting I noticed was that each set would include several extra elements that formed a story line. This added "play potential" to the set. For example, the raft below includes three pirates loaded with weapons, one who is obviously the leader, a treasure map, so the crew has an objective, and a

Josh

Josh

Beefing up the Script Editor

Along with vegetation, Leadwerks 3.7 is planned to include new features that turn the script editor into a powerful IDE. Auto-completion makes it easier to remember the command you are looking for and greatly enhances coding productivity. A built-in project explorer is also being added to make it easy to quickly navigate to and open any script or shader file in your project.     These and other planned enhancements provide a powerful coding environment built seamlessly into Leadwerks Edit

Josh

Josh

Beta update available

A new update is available on the beta branch on Steam. This fixes the low-res terrain shader so it compiles on AMD cards. It also fixes a possible brush rendering crash having to do with the recent optimizations made to make uncollapsed brushes draw more efficiently.

Josh

Josh

Project Explorer beta now available for testing

Implementation of the project explorer went really fast. I started it this morning, and I think it's pretty much done now. The project explorer shows up on the left side of the script editor window. It's positioned in an adjustable panel so you can resize and move its position. (Saving the position and orientation has not been implemented yet.) The project explorer shows a tree displaying your "Scripts", "Shaders", and "Source" folder, if you have the Standard Edition. You can double-click

Josh

Josh

Vegetation Development

Today I am happy to say I worked out the problems that the vegetation system prototype had on AMD and Intel graphics. I started by upgrading the system from using texture buffers to using vertex buffers, as recommended in Daniel Rakos' excellent RasterGrid blog. He made this change for speed, but in my case it gave me simpler code I was able to eliminate the OpenGL errors with.   The most interesting part of this was discovering the glVertexAttribDivisor command. (Fortunately, it's in the 4

Josh

Josh

Let's get this vegetation party started

An update is now available on the beta branch which fixes the alt+tab problem. This works by skipping rendering when a window is minimized, since the Win32 command GetClientRect() returns a size of zero when windows are minimized.   Now I am on to the highly anticipated Leadwerks 3 vegetation system. I previously wrote about some research I was performing here: http://www.leadwerks.com/werkspace/blog/1/entry-1499-vegetation-research/ http://www.leadwerks.com/werkspace/blog/1/entry-1500-veg

Josh

Josh

Beta update available

A new update is available on the beta branch on Steam. This fixes a few problems with brushes that the last update introduced. A grid snap button has also been added in the main toolbar.

Josh

Josh

Vegetation Research - Pt 2

The Leadwerks 2 vegetation system used a grid of "cells" that each contained a quantity of vegetation instances. If the cell was close enough, each instance was checked against the camera frustum like a regular entity and then all visible instances were rendered in a batch. Cells that were further away were collapsed into a single surface consisting of a quad for each instance. This is how we were able to draw massive amounts of foliage in the distance at a fast framerate:     This w

Josh

Josh

Game Launcher Review

Leadwerks Game Launcher was released last week as a free early access title. This means the release did not appear on the Steam new releases list, and its visibility is very low on Steam, unless someone is specifically looking for it. The final "real" release will see a period of high visibility. So right now the only traffic you should expect to get is what we drive to the Steam store page ourselves.   That said, Leadwerks Game Launcher now has 2000 users, and has very positive reviews so

Josh

Josh

Get a good game logo for $15

Your game's logo is its identity, the first thing people see that they associate with your game. This is the first step in the sales funnel, and if you have a bad logo it turns people off from even trying the game. Fortunately, getting a decent logo isn't hard with Fiverr.com. There are many logo designers that do surprisingly good work.   Tips: Describe exactly what you want. Design is expensive because you throw away 90% of your ideas, so if you can absorb some of that process you make

Josh

Josh

Game Launcher thoughts

I'm very excited about Leadwerks Game Launcher. I think it's going to be very beneficial. I noticed a change as soon as I showed people the store page for it. Connecting game developers with an audience solves a very big problem. My goal is to bring you 10,000 players for your games and create a sort of "incubator" for your ideas.     Over the last year, our community have gotten a lot more focused on releasing titles, with help from the game tournaments that Aggror started. Combined w

Josh

Josh

Tips for Launching Your Game on Steam

I thought I would take a minute to write down some of the things I have learned about releasing software on Steam, in order to help with your game releases.   First of all, always wait a week after you are "finished" to release a major update. This is because you will always find little problems, and sometimes major ones, after you think you've finished everything. Leadwerks 3.6 was scheduled for release at the start of this week, as far as I knew everything was working, but I knew to give i

Josh

Josh

Thinking

Here are some of the things from my childhood that I still find weirdly fascinating. Bringing that same feeling into Leadwerks is something I have long driven towards. More on that later.

Josh

Josh

Final details on decals

I'm doing what I think is the final 3.6 build now. I've got the finished decal textures from Rich, and I made some small adjustments to the way these work.   During development, I was not a fan of the "Decal Mode" material setting. It's terribly confusing, and it's unrealistic to expect that everyone is going to adjust all their materials for an obscure setting that isn't intuitive at all.   Basically decals tend to have two kinds: Big decals are used to add detail to the map. Small decal

Josh

Josh

Small Fixes

Most entity types will start with collision type=0 now. Fix so collidable emitter particles won't collide with the emitter itself anymore. Added lens flares to lighting prefabs in showcase map. Added bloom to showcase map. Modified the way the Flicker effect script works.

Josh

Josh

3.6 Final Touches Update

I rolled Newton Dynamics back to the version we were previously using due to some strange behavior. We're not utilizing any new behavior yet, and I don't want to spend time debugging it right now, so from your perspective it makes no difference.   Also added a check to prevent textures from reloading when they are bound to a buffer.   This update is available now on the beta branch and will be released next week on the default branch. Rich is also working on a couple of decal textures to i

Josh

Josh

×
×
  • Create New...