Jump to content
  • entries
    941
  • comments
    5,894
  • views
    870,206

About this blog

Learn about game development technology

Entries in this blog

Game Launcher Updated

The beta branch of Leadwerks Game Launcher on Steam is now using Leadwerks GUI. You can try it out now for free here: http://store.steampowered.com/app/355500  

Josh

Josh

Next Steps

Still a lot of things left to do. Now that I have very large-scale rendering working, people want to fill it up with very big terrains. A special system will be required to handle this, which adds another layer to the terrain system. Also, I want to resume work on the voxel GI system, as I feel these results are much better than the performance penalty of ray-tracing. There are a few odds and ends like AI navigation and cascaded shadow maps to finish up. I am planning to have the engine mor

Josh

Josh

Beta Update Available

Leadwerks Editor has been updated to use version 1.35 of the Steamworks library. It also features Workshop improvements that eliminate the need for a local file cache in the app data folder, and should result in more reliable Workshop item downloads.   The update is available now on the beta branch, for Linux and Windows.

Josh

Josh

Digital Reorganization

It's nice to have my big monster computer back, and everything is just the same as I left it. I have a triple-boot machine with Windows 10 and both 32 and 64 bit versions of Ubuntu 16.04. This is easier than trying to set up multi-arch compiling on one install of the OS, though I look forward to the day I no longer have to bother with it. I'm running out of hard drive space on my Windows 10 500 GB SSD so I ordered a 1 TB SSD, and I plan to transfer the 500 GB SSD into my laptop to replace t

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

Version 4.5 Beta Update

The beta branch on Steam is updated with some fairly big changes. Leadwerks Engine is now compiled with and uses Visual Studio 2017. It is now compiled on Ubuntu 16.04.  I do not know yet what changes this means for the end user but I had to add some dependencies in the editor. In addition to that, ZIP import is now working (File > Import). The VR command set is finished and documented.  A VR project template is forthcoming. The new vehicles are not yet ready.

Josh

Josh

Leadwerks Game Engine 4.4 Release Candidate

A new build is up on the beta branch, for Windows and Linux, with Lua and C++ support.  This is a full update. Version 4.4 will be announced June 26th, and this will go on the default branch some time next week. I was not able to get the new vehicles working in time, and It will have to be added in an update.  Version 4.4 will have vehicles disabled.  If you need this functionality, stick with version 4.3. A big thanks for all the people who are helping to test it.

Josh

Josh

Steam Ratings

Our ranking on Steam is 185 ratings with 75% positive, which Steam categorizes as "Mostly positive". This is great. Over the last couple of years the reviews have gotten more positive as more features and better documentation has been added. So at this point, the more reviews we get the higher our rating goes, since our average rating today is better than when we started on Steam.   From what I gather looking at other products on Steam, we're only 5% away from a "Very positive" rating at 80

Josh

Josh

Beta 4.3 available

I've uploaded a full build of version 4.3 on the beta branch. Version 4.3 will be released in short order and simply contains performance enhancements, OGG support, and bug fixes.   Version 4.4 is due out in the spring and will include the new in-game GUI system. This will coincide with the first Leadwerks / itch.io Game Jam.

Josh

Josh

Beginning with Particles

I wanted to work on something a bit different, and this sure is different. I've got a framework of a new particle system worked out. What's really special about this system is the amount of interactivity the particles will allow. Particle-world collisions. Particle-particle collisions (repulsion) Particle-particle cohesion (fluids with surface tension) Instead of just being a visual effect, I want our new particles to be fully interactive with physics so that particl

Josh

Josh

Sparse Voxel Octree Downsampling

I've moved on to one of the final steps for voxel cone step tracing, which is downsampling the lit voxels in a way that approximates a large area of rays being cast. You can read more about the details of this technique here. This artifact looks like a mirror that is sunken below the surface of some kind of frame. It was appearing because the mesh surface was inside the voxel, and neighboring voxels were being intersected. The solution was to move the ray starting point out of the voxel the

Josh

Josh in Articles

New beta update adds improved project updating, bug fixes

A new update is available on the beta branch on Steam. To avoid confusion with outdated projects, the project's status will now be displayed in the project manager. If the project is older than the template folder, a warning icon will be displayed. In addition, the script editor will now warn once about an out-of-date project before running.     The FBX converter has been updated to fix the following issues: Second UV coordinate set was not always being saved. Some FBX files exporte

Josh

Josh

Beta update available

A new update is available on the beta branch.   Fixed CSG texture / texture mapping bugs: http://www.leadwerks.com/werkspace/topic/10401-leadwerks-texturing-bugs/#entry85790 http://www.leadwerks.com/werkspace/topic/10433-csg-prefabs-cannot-be-retextured-using-drag-and-drop/   Fixed a long-standing script properties bug: http://www.leadwerks.com/werkspace/topic/11672-script-editor-incorrect-parameter-fields/   Fixed script editor recent files list: http://www.leadwerks.com/werkspace/top

Josh

Josh

Global Illumination Research Pt 4

I've been puzzling over a problem that exhibits itself on flat surfaces. Cubemap reflections appear "jittery" as if they are been rounded off to a lower-precision float. At first I thought this might mean that our best-fit normals routine using 8 bits per channel might lack the precision needed for cubemap reflections. However, when I changed the normal texture in the gbuffer to a 32-bit floating.point RGBA texture, the problem remained. This error is also visible in Igor's SSLR shader.  

Josh

Josh

Vulkan Progress

I was going to write about my thoughts on Vulkan, about what I like and don't like, what could be improved, and what ramifications this has for developers and the industry. But it doesn't matter what I think. This is the way things are going, and I have no say in that. I can only respond to these big industry-wide changes and make it work to my advantage. Overall, Vulkan does help us, in both a technical and business sense. That's as much as I feel like explaining. Beta subscribers ca

Josh

Josh

Update available on default branch

A new update is now available on the default (stable) branch. For a list of improvements and fixes, see my blog and the bug reports forum: http://www.leadwerks.com/werkspace/blog/1-joshs-blog/ http://www.leadwerks.com/werkspace/forum/80-bug-reports/   If you purchased the sci-fi DLC, the example maps will now be automatically copied into your "MyGame" project, making it easier to find them.   If you would like to trade your standalone registration key in for a Steam key, so you can get ac

Josh

Josh

Too Cool

While working with zlib, I implemented the package system, and it turned out really cool. Here's some stuff you can do   First, let's load the package and register it in the file system: Package* pak = ReadPackage("mystuff.pak"); //Read the package RegisterPackage(pak); //Register package into file system Read a file from a package, just as if it were on the hard drive: Stream* stream = ReadFile("mystuff/new document.txt"); //Read a file straight out of the package! Write a file t

Josh

Josh

Steam client update for Workshop Store

A Steam client update has gone out which improves the checkout process in the Leadwerks Workshop Store. When the user clicks the "Buy" button in the editor, the item will now be opened in the Steam client for purchase. You do not have to log into the Steam website with a browser to purchase Workshop items anymore.   You must opt into the beta branch of Leadwerks for this behavior to work. This will be the default when 4.2 is released.   More information here: http://store.steampowered.co

Josh

Josh

Finished Direct Lighting Step

While seeking a way to increase performance of octree ray traversal, I came across a lot of references to this paper: http://wscg.zcu.cz/wscg2000/Papers_2000/X31.pdf Funnily enough, the first page of the paper perfectly describes my first two attempted algorithms. I started with a nearest neighbor approach and then implemented a top-down recursive design: GLSL doesn't support recursive function calls, so I had to create a function that walks up and down the octree hierarchy with

Josh

Josh in Articles

Lobbies

Previously, I talked about the new peer-to-peer networking system that handles Nat punch-through and allows a sort of "floating" server that stays alive as long as at least one player is in the game. The lobby system allows you to broadcast to other players that you have a game available to join. The name might be somewhat misleading, as it does not require players to hang out in a chatroom before starting the game. My implementation functions more like a standard game server list. To

Josh

Josh

Back in Action

So, most of December was eaten up on some NASA VR projects. There was a conference last week in Seattle that I attended for a couple of days. Then I had meetings in northern California and Arizona. Unfortunately, I can't really talk much about what I am doing with those. Rest assured I am working on a plan to grow the company so we can provide better products and support for you. I'm taking a hit on productivity now in order to make a bigger plan happen. Today is my first day back home

Josh

Josh

My old arch-nemesis: arches

Since brushes in Leadwerks3D are entities, and the Leadwerks3D editor gives you access to the entity hierarchy throughout a scene, we don't use "groups" like 3D World Studio had. Instead, when a compound brush is created, a parent pivot is created, and all brush segments are made a child of that. When you select any part of the hierarchy, the entire compound brush is selected (unless "Ignore Hierarchy" is turned on).   Since brushes can now have a 4x4 matrix, which wasn't the case in the pas

Josh

Josh

Designing the Leadwerks Hoodie

I sent my mockups off to the designer to create our very own hoodie as a super tournament prize. This garment will come with not one, not two, but three separate printed graphics on a high-quality American Apparel hooded fleece. Here's roughly what it will look like:     And here is a t-shirt design for a future production run:  

Josh

Josh

Android Guts

I spent most of today getting the Android library more polished, especially when handling application switching. It's a little tricky because Android doesn't automatically manage your sound channels and OpenGL resources, so these need to be reloaded when an app regains focus. Here's a video, which I obviously had way too much fun with in iMovie:

Josh

Josh

Followup on social media blog

I'm going to focus on directing people to the Leadwerks mailing list and getting people to sign up for Leadwerks accounts. This is much more valuable than social media followers we have no data for, or even Steam users we can't contact directly.   We do need something extra to get the word out to people on the web about Leadwerks, but I don't think Facebook and Twitter are it...

Josh

Josh

×
×
  • Create New...