Jump to content
  • entries
    945
  • comments
    5,899
  • views
    930,137

About this blog

Learn about game development technology

Entries in this blog

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

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

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

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

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

Getting ready for Game Launcher release

Leadwerks Game Launcher is now marked as "Ready for Review" by Valve and scheduled for release Monday, August 24. I decided to allow one week for final testing of Leadwerks Game Engine 3.6, which will be released at the same time (and to try to get a few more games in before the release). The application will be released as a free "early access" software application (and will remain free). There's a good lineup of games that are pretty enticing, and the price point will gain a lot of enthusia

Josh

Josh

An interesting fix

You may have noticed our deferred decals (presently in beta) tend to shift with distance. Something was wrong with the screen space to world space conversion, but it's a hard problem to describe. I wrote a function based on the work Igor did for his SSLR shader, like this: vec4 ScreenPositionToWorldPosition(in vec2 texCoord) { float x = (texCoord.s / buffersize.x - 0.5) * 2.0; float y = (texCoord.t / buffersize.y - 0.5) * 2.0; float z = texelFetch(texture5, ivec2(texCoord),gl_Sampl

Josh

Josh

3.6 Release Candidate Available

The 3.6 Release Candidate is now available on the beta branch. Since the last update, this adds camera render targets. You can set a texture to a camera's render target in the editor camera properties, and with the new command Camera::SetRenderTarget(Texture* texture). Render targets work both in the editor and in-game.   A terrain offset map has been implemented in the physics system, but it is not yet integrated into the engine.  

Josh

Josh

The Living Room is About to Change

Miniaturization has been a big trend over the last five years, but it isn't limited to mobile. It's impacted other areas of technology that I find much more interesting than cell phones. Previously, I wrote about the changing PC form factor, and how my current rig is a no-compromises full-size PC packed into a form factor about the size of a bread box.   I happen to have my hands on a few pieces of technology that are brand new, unreleased, or things I myself am creating. All these technolo

Josh

Josh

Game Launcher and 3.6 release date set

We're going to release a version 3.6 early with decals and the other enhancements I've recently made. This is scheduled for Monday, August 17th. At the same time we will be releasing Leadwerks Game Launcher as a free early preview title. So you've got exactly two weeks to prepare any other games you want to show off. I'm happy with the lineup we have of 25 games, and am looking forward to the launch so we can show your werk off to the world!   My market positioning with this product is goi

Josh

Josh

HTML Renderer for Linux

An HTML renderer for Linux has been implemented. This adds the welcome window and full Workshop inteface for Linux. This will be available soon for testing on the beta branch.      

Josh

Josh

Beta update available with deferred decals

An update is now available on the beta branch.   A new decal entity type is available. Decals are used to project an image into surrounding geometry. A decal requires a material using a decal shader, located in the "Shaders\Decals" folder. The FPSGun.lua script has been updated to add bullet marks and gunshot wounds to objects a bullet hits. You can also place a decal in a map for adding large details to walls, terrain, or anything else.     Decals are rendered similarly to the way a

Josh

Josh

Leadwerks 3.6 Roadmap

I've got a pretty good idea of what features I want to pack into Leadwerks Game Engine 3.6, and I'm ready to share them with you now.   Just about all the simple easy features I think I can implement are already built into Leadwerks, but there are some bigger more involved things I want the engine to support. Instead of doing these one at a time, I am doing research on them all, and changing my focus when I get stuck. I've got a big block of research done that all revolves around creating ne

Josh

Josh

Beta Update available

Things are very good on the business side of Leadwerks, so I wanted to take some time right now for some research and development so I can give you guys some new and shiny features. It's very interesting to me how the design of Leadwerks 3 has laid a foundation that allows us to do lots of new things that have never been done, and now I am getting to dig into some of those areas and explore.   I've decided the area I want to focus on is all under the banner of "outdoor rendering". The vegeta

Josh

Josh

Beta update available

A new build is available on the beta branch with the following changes: Fixed sidepanel tab switching bug. Improved compatibility with intel graphics. Fixes instance rendering bug with instance count over 256. Added terrain hardware tessellation.   To enable hardware tessellation, select the Tools > Options menu item, select the Video tab, and set the tessellation value. Terrain layers much have a displacement map to display displacement mapping. Each terrain layer has an

Josh

Josh

Terrain Tessellation

Our "dynamic megatexture" terrain system contains a lot of powerful capabilities we haven't yet been able to tap into. One advantage of this approach is that it works extremely well with hardware tessellated terrain. In fact, our terrain system was originally designed with this in mind, which is the main reason we have a slot allocated for a displacement map. This video shows my first-pass implementation of the technique. When a displacement map is assigned to a terrain texture layer, painti

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

Vegetation Research

The Leadwerks 3 vegetation system is being designed to side-step the bottlenecks that limited the Leadwerks 2 vegetation system. The Leadwerks 2 system involved large collections of 4x4 matrices for each instance, resulting in hundreds of megs of data stored with the map. Eliminating this data results in small map sizes and reduction of memory usage.   Here we have 10,000 trees being rendered (with no billboards), for a total geometry count of 14 million polygons. Memory usage is...zero!  

Josh

Josh

The PC is changing

PC towers have been about the same since they became popular in the 1990's, replacing the previous horizontal form factor:   Cases have gone from beige to black, but very little else has changed.     PC towers tend to be designed for the old ATX style motherboards, which were first introduced in 1995:   PC cases are still designed primarily for this form factor, ignoring the fact that many internal components have changed. The sound and ethernet card are now typically built into

Josh

Josh

Vegetation

There's basically two kinds of vegetation, trees and grass.   Grass is plentiful, ubiquitous, dense, but can only be seen at a near distance. Its placement is haphazard and unimportant. It typically does not have any collision. ("Grass" includes any small plants, bushes, rocks, and other debris.)   Trees are fewer in number, larger, and can be seen from a great distance. Placement of groups of trees and individual instances is a little bit more important. Because these tend to be larger

Josh

Josh

Reflections on the Steam Summer Sale

It's been an eventful first half of 2015, and the second half promises to be just as exciting. I'm happy to say the Steam summer sale was a big success. I haven't done the calculation yet, but this year's sale did a lot more than last year, and we keep adding more and more new users. So that makes me feel very good about the future.   I've begun researching a way to create our own built-in store based on Workshop and Steam microtransactions. This is the same system that TF2 uses for in-app

Josh

Josh

×
×
  • Create New...