Well, we're through the "OMG will this even work" phase. Aria got FreeType to build on all platforms, so you can load TTF files directly on Windows, Mac, Android, and iOS devices. I set up the accelerometer input on iOS today, so you can call Device::GetAcceleration() and retrieve a Vec3 telling you which way is down. Acceleration is returned relative to the screen orientation, so you don't have to worry about which way the device is rotated. This isn't my proudest screenshot, but it demonst
I don't have a clear and obvious subject for this blog, but I haven't posted in a while, so I wanted to write something. I've been getting in a lot of hours of development. My schedule on most days is wake up around 7, answer emails or test code on my Mac at home, then head over to the office at 10. Chris usually comes in right around then (we aren't too strict on schedules) and usually hangs around until around 6. I leave anywhere from 6-9 (and totally miss the rush hour traffic), go home,
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
CSG is a great way to quickly and easily produce levels, and the editor is even fun to write. I added another tab next to the scene and project tabs where you can select objects to create. The CSG texture mapping and smoothing controls also reside on this panel. I'm still playing around with the layout, but here is what I have now:
CSG brushes are now entities, and can be arranged in a hierarchy. Check out the scene hierarchy that gets created when you create a compound brush object (a
I've been following Eric's progress with this idea since last spring, and it's really great to see what started as a fuzzy concept turn into reality.
http://www.youtube.com/watch?v=pK_yjZpOs6w
About Hacker Lab
We believe that technology can change the world and the starting point is education. Hacker Lab aims to educate folks and seed startups with community driven resources. Collectively we can build a brighter future using lean methods in both education and business.
We Provide
Today I am working out the file system for Android applications. In the past we just manually copied all our assets to a "/Leadwerks" folder on the device itself. This approach is okay for testing, but it won't work for distributing apps in the Google Play store.
Android uses APK files to store all applications in. An APK file is really just a ZIP file, and all your assets go in a /res/raw directory in the ZIP package.
To access the Android file system from C++, we had to take the fol
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
I've made two major improvements to the editor UI this week. The scene tree is now fully functional, and objects can be dragged around in the scene hierarchy:
Models and prefabs can now be dragged into the viewports from the asset browser, so the editor is near fully functional now.
The X11 windowing system cannot create an OpenGL rendering context on a hidden window. (The same happens on OSX.) On OSX I did a cheesy hack whereby the asset editor windows (the model, texture, material, etc. e
The second Leadwerks Halloween Game Tournament is complete. Here's a review of the entries.
First up is HaydenMango's hack & slash game Rise of the Pumpkinheads. In this humorous and spooky action game you fight reanimated corpses with...wait for it...pumpkins for heads. You'll also encounter necromancers, and other enemies along your quest through the overgrown cemetery where a pumpkin infestation has taken root.
Next up is Midnight Patrol, a simple but fun shooter featuring
Here is a preview of what the Leadwerks Game Player Workshop looks like. A rotating banner shows the top games, like a mini-Steam within Steam. The difference is this distribution channel has no restrictions on when you can publish your game, and you can deploy games to all supported systems, including SteamOS, without having to actually compile on those systems.
I envision a time in the near future when everyone with a small fun playable game can pick up tens of thousands of new users pla
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
As of this morning, the most recent Steam sale is now complete. The sales figures were excellent and we picked up a lot of new users. Most importantly, we've got a lot of new data on how people behave and what can be done to make them happy.
There's three stages a new Leadwerks user goes through to become a happy productive developer. The first is to actually buy the software. The main ingredients here are the demo, website pages describing the benefits of our approach to game developmen
The project templates system is being revised. Project templates are going to be oriented around game types rather than programming languages.
Picture is worth 1000 words:
If you have the standard edition, the common project files will still include the C++ files, so any new project you create will be usable in C++.
An update is available which is a release candidate for version 3.5. Version 3.5 adds carve and hollow CSG operations, an improved project template system, and customizable filters for scene objects. In this update I reverted the group selection behavior to the same way it works in 3.4, and decided to hold off on adding an extra grouping feature. I expect a lot of new users soon, so stability is my most important goal.
The summer games tournament is coming soon! We had a really great tur
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
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
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
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
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
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.
I am now accepting additional paid content from select authors to publish their Workshop content. Valve will take their standard 30% cut, you will receive 50% of each sale, and Leadwerks will take just 20%. If you are interested in reaching a new audience with the Workshop store, please contact me. You must be a seller with 3D models or textures in an existing marketplace for 3D content, or have a website showing your work.
More information on publishing here:
http://www.leadwerks.c
An update is available on the beta branch with the following changes:
Fixed System::Print() command which was printing char* values as bools.
Added optional parameter to the end of Entity::SetInput().
Add optional parameter to the end of Emitter::SetVelocity()
Fixed light occlusion culling bug.
Fixes a sound source position bug.
This code added to main.lua actually works:
--Create a window
local windowstyle = window.Titlebar
if System:GetProperty("fullscreen")=="1" then windowstyle=windowstyle+window.FullScreen end
window=Window:Create(title,0,0,System:GetProperty("screenwidth","1024"),System:GetProperty("screenheight","768"),windowstyle)
window:HideMouse()
--Create the graphics context
context=Context:Create(window,0)
if context==nil then return end
--Create a GUI
local gui = GUI:Create(context)
local widget = Wid
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.