It’s been a while since my last blog post and since then I haven’t had the chance to put in as much game dev time as I'd have liked. But in the last week or so I have made some more progress.
So what’s new..
Mostly I’ve been continuing work on the map adding more buildings, areas and objects from the workshop to make the town more visually interesting and give more areas for the player to explore. I would say I’m probably over 50% of the way now from where I would consider it to be a dec
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
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
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
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
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!
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
Thought I could write my first Blog entry and report about my ventures into network programming with Leadwerks, ENet and Lua. Also, provide some source code. Okay, here we go:
What I wanted to do
My test app should be a client-server setup where clients can connect to the server, see each other's avatar, send chat lines and move around their avatar on a plane. Nothing fancy really, just to get into the topic.
The ENet network library (http://http://enet.bespin.org/) should be used, and
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
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
An update is available on the beta branch with the following changes:
Implemented "CollisionMesh"-named limbs in models.
Added "Strip vertex colors" option in model editor.
Workshop items can now be submitted as free or curated paid items, although no mechanism is in place yet to actually purchase items.
Curated items appear in the Workshop and can be voted for, but cannot be downloaded.
You can enter your bank information for receiving payments, and you can even c
To help with your games in the Summer Games Tournament, Rich DiGiovanni has created a fun set of summer-themed models, including a beautiful sandy terrain texture for laxing out at the beach.
You can install this pack free from the Leadwerks Workshop:
http://www.leadwerks.com/werkspace/page/viewitem?fileid=464751401
If you need any custom models made, check out Ancient Idol Studio for quality work at reasonable rates.
Over 2 weeks ago, I released a small demo showcasing my project's core gameplay on the Leadwerks Engine. Although I'm happy with the demo; it's a good landmark for the project, but it can be better visually and functionality. I learned a lot of new information about the engine on how to better optimize it, multiplatform diffrences, and I grew a slight hatred to a certain brand of GPUs. But the demo on the Game Launcher to me was a success.
The stand-alone version in my opinion was a bit sha
The beta branch has been updated with experimental support for resizable viewports on Linux, including an option to switch to a single viewport. The object bar buttons have also been fixed to display tool tips properly.
You can try this now by opting into the beta branch on Steam. Let me know what you think.
I've set the release date for Leadwerks Game Launcher to Tuesday, July 21, right after the Summer Games Tournament ends. Your games will have the highest visibility during the first week the application is launched.
This is a great chance to demo your best ideas. Remember, you don't need a full finished game, just a simple playable concept. The goal is to make something fun!
Leadwerks Game Launcher is a unique application on Steam. The closest thing to it is the built-in game pl
The 2015 Steam Summer Sale begins today! Save on tons of games and software including all Leadwerks products.
http://store.steampowered.com/app/251810
If you're new to game development, now is the perfect time to get Leadwerks and start making a game for the Leadwerks Summer Games Tournament.
About a year ago, before I even had my cool hat, I wrote a blog post called What's the Big Idea? that talked about some big-picture ideas about where Leadwerks is going:
Well, a year later, this idea is coming to fruition. I previously broke down the user journey into Education, Collaboration, Promotion, and Distribution. This has now been distilled down to the new Leadwerks tagline: Learn, Build, Play. I had our logo reworked and I am very proud to present to you this beautiful design:
Summer is here, which means the beach, barbecue, and the first Leadwerks Summer Games Tournament.
WHEN: The tournament will start Monday, June 15, and end Sunday, July 19th at 11:59 P.M. (Pacific Standard Time).
HOW TO PARTICIPATE: Publish your summer-or-other-themed game to Steam Workshop or upload it to the games database before the deadline. You can work as a team or individually. Use blogs to share your work and get feedback as you build your game.
PRIZES: Rather than a competiti
Last week I tried implementing a new method of controlling entity script fields. I was not satisfied with the current drag and drop from the scene tree method. I tried a system that was based on the entity name, which is how we used to do things in Quake mods.
Several people pointed out that this had a negative effect on their workflow, due to the difficult of copying and pasting groups of linked objects. So I began implementing a system that would create unique names when needed.
I s
The Workshop in Leadwerks Editor has been updated to use the same web interface as the game launcher. Page numbers have also been added to both. In the future, the Leadwerks Workshop interface will probably start to resemble the Game Launcher interface more.
A new update is now available on the beta branch. This is a refinement of the new entity script fields, which rely on the object name, rather than the awkward drag and drop motion that was originally implemented. I've modified the code so that when a map is loaded, any targeted objects will be renamed with a name that is unique in the scene. For example, if two objects named "WaypointA" exist in the scene, and one of them is linked to from another object, the object will be renamed "WaypointA
I've recruited a professional designer to create a new icon set for the Leadwerks UI. This will provide us with a more consistent visual interface, with a similar look on all supported platforms.
My first instructions were to go bright and multi-colored, with colors similar to Lego pieces. We also included Windows 10 style icons as an influence. These looked good, but when plugged into the program the interface lost its visual consistency.
We next experimented with some grayscale