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
Breaking the new engine up into sub-components and releasing them in several stages is something new. The reason for trying this was twofold:
Steam now incentives competition for digital shelf space, unlike when Leadwerks was first released on Steam in 2014, when I was trying to build up my quality of presence and promote one app ID on Steam.
I would like to get some new software out early before the full engine is finished.
The beautiful thing is that Ultra App Kit all con
Developer @Ghost has released his excellent Leadwerks-powered game Concealment.
Your life is in your hands
Go to an abandoned village to find your missing brother. Explore the objects that come in your way. Solve the terrible mystery of this mysterious place.
Concealment is a first-person psychological horror game. A game in which you need to solve the mystery of an abandoned ancient village.
You receive a strange letter from your brother. He asks that you ur
Level transitions are the old school way of getting your player from one map to another. Here I implemented a system much like HL2. Not much else to say, but I should be ready to talk more soon. (Hopefully!)
A new update is available on Steam for Ultra App Kit.
A TEXTFIELD_PASSWORD style flag has been added and is used for the password entry form:
A WINDOW_CHILD style flag has been added. I found this was necessary while implementing a Vulkan 3D viewport in a GUI application. You can read more about that here.
Pressing the Tab key will now switch the focus between widgets.
The "Learn" tab in the project manager has been moved in front of the "Community" tab.
Before finalizing Ultra App Kit I want to make sure our 3D engine works correctly with the GUI system. This is going to be the basis of all our 3D tools in the future, so I want to get it right before releasing the GUI toolkit. This can prevent breaking changes from being made in the future after the software is released.
Below you can see our new 3D engine being rendered in a viewport created on a GUI application. The GUI is being rendered using Windows GDI+, the same system that draws the
> Work in progress
> The road tracer tool is for now without bug; I added debug messages that prevent a bugged road to be generated - so it asks now to modify some values instead of generating the bugged road.
> Water waves are smoother.
> New feature: Driving in mud.
> I'm thinking about adding a speed or friction penality if not driving on roads.
> This little demo was recording on map 2048*2048
Work has been continuing on my ongoing scifi materials/media pack. I have since updated my desk and workstation setup to support dual 1440p monitors on adjustable arms, which has made making progress on this much easier and less straining on my eyes. The amount of screen real estate I have now is so much better than before and my workspace is not cramped anymore, which has been great.
Enjoy a small snippet of what I have been working on today, much more to come soon...
We now accept popular cryptocurrencies in our store and Marketplace through Coinbase Commerce. That's right, you can now buy software like Ultra App Kit using Bitcoin, Ethereum, Litecoin, Dai, or Bitcoin Cash (if you can figure it out!). Right now it's a novelty, but it's worth trying. Maybe by 2022 it will be your only option?
Sadly, Dogecoin is not one of the currently supported coins. Soon?
I do not pretend that this tutorial is an absolute truth, it is just how I have learned to do things, very possibly I am wrong, but always willing to learn.
When programming, it is extremely necessary to plan what you want to do, a coding project should be divided into blocks, function files.
It is like writing a book, by pages, by chapters, I speak of a book of modern times, those books that you can touch and pass its pages with a finger wet in saliva, of course because of the pande
Note: This article contains some referral links for affiliate systems that I added after writing it. My purpose for including them is so that I can learn how these systems work by participating in them, because I am interested in possibly implementing one of our own in the future. The article was written because these are all things I am using and recommend and I am very bored with the same old things.
Except for VR, the last decade of technology has been pretty yawn-inducing. I think Silic
I'm finalizing the Ultra App Kit API, which is going to be the basis of the new engine's API. Naming commands themselves is always a bit of an art unto itself. Some things are named a certain way because it is common convention, like Stream::Seek() instead of Stream::SetPosition() and ACos() instead of ArcCosine().
Other times we have holdovers from old APIs or BASIC syntax like Stream::EOF() or String::Mid().
Should a class that has no SetSize() method use GetSize() or Size() for a me
There are three new features in the upcoming Ultra Engine (Leadwerks 5) that will make game input better than ever before.
High Precision Mouse Input
Raw mouse input measures the actual movement of the mouse device, and has nothing to do with a cursor on the screen. Windows provides an interface to capture the raw mouse input so your game can use mouse movement with greater precision than the screen pixels. The code to implement this is rather complicated, but in the end it just boils
January 2021, work progression showcase random generated world vegetation, FPS=30
[I] - THE TERRAIN; VEGETATION AND WATER:
The map is 4096*4096
The landscape is randomly cast: Painting & vegetation.
At the end of the video, is a demo of the waves shader I could write using the leaves.shader on the water.shader.
The shader is in the workshop for free to use. It is far not perfect but it adds a good animation for ocean wate
More edits I made over the course of today.
Last little bits of work to do include adding any last final touches, and then cleaning up the layer stack to ensure that all height/metallic/roughness layers are interacting correctly. Then I can start procedurally generating each different texture based on this single material. I hope to start that process sometime this week so I can put a scene together.
An update for Ultra App Kit beta on Steam is now available. This finishes the user interface scaling to support HD, 4K, 8K, and other resolutions. My original plan was to force an application restart if the scale setting was changed, but I found a way to dynamically resize the interface in a manner that gives natural results, so it now supports dynamic rescaling. That is, if the user changes the Windows DPI setting, or if a window is dragged to a monitor with a different DPI setting, the applica
Completely reworked much of the master material and it has really transformed into something much better than before. Added new detail to lights and completely revamped the original metal, rust, and paint materials to have better surface properties. Things are much less busier and do not have odd height details. Overall I am very happy with these results, and I do not envision much more work being needed at this point other than some cleanup and checking each material channel to ensure that the
An update is available for the Ultra App Kit beta on Steam.
Menu open / close behavior is finished and is now working bug-free.
Fixed problem where list boxes were only showing the first item.
A submenu item is demonstrated in the example program.
A progress bar widget is added in the example program.
A label widget is added in the example program.
A second radio button is added in the example program.
Still to do:
Work out some scaling i
2020 was the most intellectually challenging year in my career. Many major advancements were invented, and 2021 will see those items refined, polished, and turned into a usable software product. Here is a partial list of things I created:
Streaming hierarchal planet-scale terrain system with user-defined deformation and texture projection.
Vulkan post-processing stack and transparency with refraction.
Major progress on voxel ray tracing.
The beta testers and I are are discussing game programming in the new engine. I want to see C++, Lua, and C# all take a near-identical approach that steals the best aspects of modern game programming and ditches the worst, to create something new and unique. To that end, we are developing the same simple game several times, with several different methodologies, to determine what really works best. One thing I realized quickly was we really need a way to load prefabs from files.
I started im