Jump to content
  • entries
    941
  • comments
    5,894
  • views
    867,642

About this blog

Learn about game development technology

Entries in this blog

Amazing Tools

This is just so cool. You can generate simple primitives for any entity. A convenient "Fit Shape" button will wrap the primitive around the entity, with an option to include the entity's children. However, the real power comes when you generate physics shapes from models. You can right-click on any model and get a menu to generate a physics shape. The polygon mesh and convex hull will look familiar if you've used the PhyGen tool in Leadwerks Engine 2. There's also a new option called "Conv

Josh

Josh

iOS 6 Blues

Apple's problems in iOS 6 aren't limited to maps. Their OpenGL drivers in iOS 6 are absolutely non-functional.   First I was experiencing a BAD_EXC_ACCESS error when rendering certain surfaces. Feedback on the Apple dev forum suggests I am not alone in this. I took a guess and switched my position vertex buffers to use vec4s instead of vec3s, and it appears to have solved that problem (even though both should be fine).   Second, all 3D objects just stopped appearing, completely. I've deb

Josh

Josh

Selective File Inclusion (Beta)

A new update on the beta branch on Steam adds selective file inclusion on publishing a project. This works by scanning map files and building a list of required files, and only packing up files that are actually used in your game. Here's how it works: All map files are always included, and scanned for required files. All script files are always included, and scanned for required files. Included prefab files are scanned for required files. Included model files are scanned for require

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

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

Improved 2D Drawing Command Set

To provide support for advanced GUI rendering, some of the features I implemented in the refactored window class are being brought into the 2D drawing command set. This includes a lot of text rendering features like word wrap, multiline, horizontal and vertical centering, and viewport clipping.   A new text drawing function includes additional parameters for better control: Context::DrawText(std::string text, int x, int y, int width, int height, int style)   The style parameter can be

Josh

Josh

Using analytics in your game

As noted previously, Leadwerks 4.2 now support built-in analytics. To enable this in your game you need to create an account at www.gameanalytics.com and create a new product. You can find your keys on the Game Settings page.     At the beginning of the main lua script, some code has been added to initialize analytics. By default this is commented out: if DEBUG==false then Analytics:SetKeys("GAME_KEY_xxxxxxxxx", "SECRET_KEY_xxxxxxxxx") Analytics:Enable() end   Uncomment this

Josh

Josh

Leadwerks 4.3 RC2

I've uploaded a full build for Windows and Linux, and updated the game launcher beta branch. This adjusts some very minor issues that you probably won't even notice.   Some of your characters might need to have their character controller angle setting set to 180, depending on how you have them set up. This is because some previously incorrect behavior has been fixed. You can use my third-person player script for testing.   My only concern at this point is that some of HaydenMango's games

Josh

Josh

Leadwerks 4.3 RC3

A full build is available for Windows and Linux on the beta branch on Steam. This fixes a problem with the character controller physics and with the Alt key on Windows.   To upgrade 4.2 C++ projects to 4.3, you must add the following search paths: $(LeadwerksHeaderPath)\Libraries\libvorbis\include $(LeadwerksHeaderPath)\Libraries\libogg\include   I'm pretty sure it's ready, but please give it a good thrashing. This will go up on the default branch tomorrow morning.

Josh

Josh

The path we are on

Previously, I have talked about my plans for Leadwerks and how to get there. In that blog I started with technical specs and went backwards with the path we would follow to achieve those goals. Now I have begun to put some of these ideas into practice and I want to review my plan with you.   I met with a very large academic institution a few months ago and talked about using Leadwerks to teach game programming. This is the whole reason I wrote this blog and did the research included therein

Josh

Josh

Welcome to ultraengine.com

You probably have noticed that our entire community has been migrated from the leadwerks.com domain to our new ultraengine.com domain. In this article I am going to describe recent changes to our website, the process by which these decisions were made, and the expected outcomes. These are not just superficial changes, but rather it is a fundamental restructuring of the way our business works. This is the execution of a plan I have had for several years. When we first starting selling on Ste

Josh

Josh in Articles

Finishing Touches

At long last, the engine that felt like it would never be done is here. This is all the result of an idea I had and wanted to put to the test. Of course I never anticipated it was possible to deliver a 10x improvement in rendering performance, but here we are with the benchmarks to prove it. Research & Development The last four years of research and development were an opportunity to rethink and redesign what a game engine should be. Along the way there were a few ideas I had that

Josh

Josh in Articles

GDC wrap up

I skipped the GDC for a couple of years, because I just wanted to focus on developing our technology. This was my first year back since our engine came to be. I was surprised how many people were familiar with our engine, and I got to talk to a few users (who probably aren't active on the forum). I also got to chat briefly with Tom Spilman, David Helgason, and Mike Wuetherick. It's really fun to see what everyone is up to, and how far they have come since a few years ago.   We met new frie

Josh

Josh

OnLive Lives

I signed up for a free year of OnLive. I received a response email within 24 hours, so I think they just are choosing applicants based on connection speed and location. I've been extremely skeptical of this service, but I can report that it works, and it doesn't suck. I can play UT3 on my netbook. There is some slight lag, but it's not bad. Fast mouse looking can amplify it, so I slowed down my mouse speed to compensate. I had no trouble getting headshots with the sniper rifle, and the gam

Josh

Josh

Model citizen

I can now load models in Leadwerks Engine 3 (as of this morning): Edit - Here's a demonstration of buffers working (as of this afternoon): Edit - And here's a comparison of a multisampled buffer next to a regular one (as of this evening): It's nice to see a feature in Leadwerks 3.0 that 2.0 doesn't have.   I'm getting my iMac this week. I'm going for the dual core 3.2 ghz with an upgrade to an ATI Radeon 5750. Mac is still using OpenGL 2.1, and I have no idea how good the drivers ar

Josh

Josh

Leadwerks Engine 2.43, advanced optics, and more...

Leadwerks Engine 2.43 ...will be released tomorrow, along with a new source distro. I've fixed a number of bugs, but I don't like compiling releases when I am tired because there's a lot of little steps to mess up, so I will do it in the morning.   Leadwerks Engine 3 Optics was always my favorite subject in physics, and I've been getting some amazing results lately by modeling computer graphics after real lighting phenomena.   Once I decided to make the materials system like 3ds max, ever

Josh

Josh

Coders Gonna Code, Haters Gonna Hate

Lately I've been talking a lot about making non-programmers happy, so here's something for the coders. B)   For Leadwerks3D documentation, I considered three possibilities: -IPB-based docs -Wiki -Offline CHM files   Each has their own strengths and weaknesses, as always seems to be the case.   IPB A bit slower, harder to organize, harder to edit, looks really good and consistent with the site, search requires quite a few clicks to get where you want to go, missing table of contents is

Josh

Josh

Viewport Navigation

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

Josh

Josh

Better Intellisense in Ultra Engine

Ultra Engine makes much better use of class encapsulation with strict public / private / protected members. This makes it so you can only access parts of the API you are meant to use, and prevents confusion about what is and isn't supported. I've also moved all internal engine commands into separate namespaces so you don't have to worry about what a RenderMesh or PhysicsNode does. These classes won't appear in the intellisense suggestions unless you were to add "using namespace UltraRender" to y

Josh

Josh in Articles

How to create a material

Step 1. Add your image files into the project directory. I just added a bunch of TGA files, and they show up in the editor right away:   Step 2. Right-click on a texture and select the "Generate Material" menu item.   Step 3. There is no step 3. Your material is ready to use. The normal map was automatically detected and added to the material.   Here it is in the material editor.

Josh

Josh

Terrain Test

I borrowed Shadmar's terrain splatting shader. This is the result after fiddling around with it for a few minutes in Leadwerks 3. (No normal mapping yet, but that's easy to add.)   Physics can be added by generating a physics shape from the terrain model. It doesn't allow heightmap editing in the editor, but I think this will serve as a good solution until our super uber mega streaming terrain system is built.   Thanks to Shadmar for the assets.   Klepto is also looking into a few OpenG

Josh

Josh

Leadwerks 3.0 Terrain Update Now Available

A new update to Leadwerks 3.0 is now available. Registered developers can run the Leadwerks updater to download and install the patch. This update adds terrain, bug fixes, and a few small feature enhancements. Our new terrain system, described in our Kickstarter campaign to bring Leadwerks to the Linux operating system, is based on a unique "dynamic megatextures" approach. This technique renders sections of the terrain into virtual textures and places them around the camera. The terrain pre

Josh

Josh

Change Map Example Added

A new map called "09-Change Map.map" has been added to the example game. This demonstrates how to use the new TriggerChangeMap.lua script to make your player progress from one level to the next.   In order to use this script, you must update your project with the new executables. Select the File > Project Manager menu to open the Project Manager, then press the "Update" button to update your project.   A new chunk of code has been added to App.lua to handle map changes. This code will

Josh

Josh

Games, games, games

Looking back at a recent blog, I talked briefly about my plans for 2016: My goals were the following: Paid Workshop items Release Game Launcher on Steam proper. More features.   These goals are actually linked together. Let's focus on the amount and quality of games being released for the game launcher. Right now, we have a lot of variety of simple games, and some that are very fun, but we don't have any must-play hits yet. As long as the reviews look like this, the game launc

Josh

Josh

Documentation Update 2

I've taken your suggestions and incorporated the fixes into the new documentation system here: https://www.leadwerks.com/learn   All classes and commands are alphabetized, with classes listed first.   All pages in the API Reference should be working now.   If a page does not appear in the old docs, or if a command does not have an example, it will not appear in the new docs, as I am not changing the content right now.   Please let me know if the table of contents of pages have any error

Josh

Josh

×
×
  • Create New...