Jump to content

Blogs

UltraEnglish

I'm working on a editor which translates english into C++ for Ultra Engine in realtime. The idea is to make using Ultra Engine really easy, and it should suit beginners as well as advanced users. Over time I plan to make it an universal human language to computer language translator which can be configured to use any game engine or other engine. I'm also wondering if a commanding sentence is more easy than an spectating sentence, but perhaps both can be used to make it suit all cases.

Canardia

Canardia in Tools

Impressions of Ultra

I started using Ultra Engine on 2023-01-18. Learning to use the engine has been really easy. The documentation is very clear and I can search for keywords I want to learn about. Each command has a fully working example, so I can quickly copy-paste and try the code. The installer is also amazingly fast and automatic, and updating to the latest engine is just a click away. Updating my projects to use the latest version is also fully automatic by clicking on the yellow sign. The supp

Canardia

Canardia in Game Development

Last jump in car driving (no ultra)

This diary counts so much steps to reach a good experience of car driving with Leadwerks 4.6, that it just felt so often like unreachable.   So as we know the car is built with 8 joints, 4 hinge joints for the tires  + 4 slider joints for the dampers I just thought last week about implementing a new little trick like using a spring joint more to connect the visible car to the invisible body of the car. Set the mass to about 300 (usually to heavy for joints) and set the Gravit

UltraEngine Utilities

In this post, I want to introduce you to my GitHub repository: https://github.com/klepto2/UltraEngineUtilities Currently, there is not that much available, but I am working on adding more utilities and helper classes, which will help to work with UltraEngine.  I had the privilege to be one of the first users of UltraEngine and was able to see the enormous amount of potential right from the beginning. So with the repo, I want to give some of the small or bigger helpers I have developed or ma

klepto2

klepto2 in Development

Ultra Engine SDK Now Available

I'm pleased to announce that Ultra Engine SDK Early Access is now available. Four years ago, I set out to solve the performance problems I was seeing while working on virtual reality projects at NASA. Ultra Engine is the product of a lot of intense research and development during which I invented a new architecture designed for the way modern graphics hardware works. The results exceeded my wildest expectations, providing Ultra Engine with order-of-magnitude faster rendering performance than Lea

Admin

Admin in Articles

Voxel Terrain Part 2 - Voxelization Methods

Instead of settling for one way only to voxelize a terrain I decide to make it possible to select between a few of them depending on what was required.  They're are basically just two methods, forward or backward. enum VoxelMethod { VOXEL_METHOD_FORWARD, VOXEL_METHOD_FORWARD_CONTOUR, VOXEL_METHOD_BACKWARD, VOXEL_METHOD_BACKWARD_CONTOUR }; Forward starts with a parent node and checks each corner against some function that says if the corner is above or below some user defined surface. 

SpiderPig

SpiderPig in Voxel Terrain

AI-Generated Game Textures and Concept Art

Midjourney is an AI art generator you can interact with on Discord to make content for your game engine. To use it, first join the Discord channel and enter one of the "newbie" rooms. To generate a new image, just type "/imagine" followed by the keywords you want to use. The more descriptive you are, the better. After a few moments four different images will be shown. You can upsample or create new variations of any of the images the algorithm creates. And then the magic begins:

Josh

Josh in Articles

Tightening up the graphics and tripling down on glTF

As I have stated before, my goa for this game enginel is not to build a marketplace of 3D models, but instead to just make sure our model loading code reliably loads all 3D models that are compliant with the glTF specification. I started testing more 3D models from Sketchfab, and found that many of them are using specular/gloss materials. At first I thought I could just fudge the result, but I wasn't getting very good results, and the Windows 10 3D Object Viewer was showing them perfectly. This

Josh

Josh in Articles

Ultra Engine Client App

I've been working hard getting all the rendering features to work together in one unified system. Ultra Engine, more than any renderer I have worked on, takes a lot of different features and integrates them into one physically-based graphics system. A lot of this is due to the excellent PBR materials system that Khronos glTF provides, and then there are my own features that are worked into this, like combined screen-space and voxel ray traced reflections. Anyways, it's a lot of di

Josh

Josh in Articles

Exporting a glTF model from 3ds Max

Autodesk 3ds Max now supports export of glTF models, as well as a new glTF material type. The process of setting up and exporting glTF models is pretty straightforward, but there are a couple of little details I wanted to point out to help prevent you from getting stuck. For this article, I will be working with the moss rocks 1 model pack from Polyhaven. Getting geometry into 3ds Max is simple enough. I imported the model as an FBX file. To set up the material, I opened the compa

Josh

Josh in Articles

Ultra Engine Compatibility with Leadwerks Game Engine

As the first release of Ultra Engine approaches, it seems clear that the best way to maximize its usefulness is to make it as compatible as possible with the Leadwerks game engine. To that end, I have implemented the following features. Native Loading of Leadwerks File Formats Ultra Engine loads and saves DDS, glTF, and OBJ files. Other formats are supported by plugins, both first and potentially third-party, for PNG, JPG, BMP, TGA, TIFF, GIF, HDR, KTX2, and other files. Additionally,

Josh

Josh in Articles

Voxel Terrain Part 1 - Voxelization

For the past few months I've been working on Voxel Terrain for Ultra.  I started by creating an octree whose parent node encapsulates the bounds for the entire terrain and must be a perfect cube with dimensions that are a power of two.  This ensures all child nodes can be neatly subdivided.  If a more rectangular terrain is required the octree creates more than one parent node to make up the rectangle. The next step was to subdivide the parent node to a level where each node would represent

SpiderPig

SpiderPig in Voxel Terrain

Where Input Has A Name

I've spent the last few months pressing buttons, clicking joysticks and shaking my computer mouse to solve the solution input for Cyclone. Back when it shipped in June, I've created a system that allowed users to assign keys to actions, in which the game would detect as input. My player code never knew what button was pressed; it just knew what action was caused. This is very similar to how Steam Input works. There were a few flaws with my original system. Some of which didn't surface until

reepblue

reepblue in Code

Cyclone Open For Mods

As a teenager, I've spent thousands of hours with the Source SDK. It was really cool how Valve gave people the real tools to develop and create maps and mods. Overtime I got to see and take apart games to see how they actually work. Overtime, the indie engine market took over, and making Source mods is now just a terrible experience. Hammer crashes more frequently and the SDK branch of the engine has old bugs that were never patched. I want the excitement I had of making maps and cool featu

reepblue

reepblue in Cyclone

Buggy desert crawler

Considering this blog as a diary of progress about car simulation with Leadwerks, I had the dream to simulate those desert crawlers able to climb on sharperned hills with a lot of impuls, Swinging on the roads as they're light, allowing the player to discover rapidly a large part of the map. Technically all the features (directions, dampers, smoothing, acceleration) get simplified but adjusted to be in a good balance. The car may be overpowered but it's fun!  

Returning

For the last for years I've been lurking in the forums waiting patiently for the release of Ultra.  I thought I'd be a good time to start up my blogs again about The Seventh World.  The game that has been in the works for over a decade!  I started this game in the Leadwerks 2 days.  It started off as a very simple game but as I'm sure you're all aware, simple ideas can quickly grow into monsters of an undertaking if you let them!   A few years ago, as I started fleshing out gameplay I

SpiderPig

SpiderPig in General

Structura postmortem

Structura Postmortem https://store.steampowered.com/app/1422980/Structura/   This game was done in my spare time, was about 4 years till the early access. Probably 6 months of full time work at best. I want to thank some of my work colleagues , who gave good hints/help about the game, in the coffee breaks (different times , no covid ) And the Leadwerks community for always being helpful.   Early access release: 18 Dec, 2020 Full release: 6 May, 2021

aiaf

aiaf in postmortem

Cyclone is now available in Early Access on Steam!

After sixteen months of week-by-week development, I'm happy to announce that the anticipated spiritual successor of the Portal mod, Blue Portals is now available for sale as an Early Access title on Steam!   I want to take a moment to thank [b]everyone[/b] who has played the demo and gave feedback. There's still work to be done! Being an Early Access title allows Cyclone to continue keep players involved in the development process to help it evolve into the best it can be!  I hope

reepblue

reepblue in Cyclone

Building a single-file 4K HDR skybox with BC6 compression

HDR skyboxes are important in PBR rendering because sky reflections get dampened by surface color. It's not really for the sky itself, but rather we don't want bright reflections to get clamped and washed out, so we need colors that go beyond the visible range of 0-1. Polyhaven has a large collection of free photo-based HDR environments, but they are all stored in EXR format as sphere maps. What we want are cubemaps stored in a single DDS file, preferably using texture compression. We'

Josh

Josh in Articles

Finalizing Terrain

I'm wrapping up the terrain features now for the initial release. Here's a summary of terrain in Ultra Engine. Terrains are an entity, just like anything else, and can be positioned, rotated, or scaled. Non-square terrains are supported, so you can create something with a 1024x512 or whatever resolution. (Power-of-two sizes are required.) Editing Terrain Ultra Engine includes an API that lets you modify terrain in real-time. I took something very complicated and distilled it down

Josh

Josh in Articles

Smart Tessellation

I've actually been doing a lot of work to finalize the terrain system, but I got into tessellation, and another rabbit hole opened up. I've been thinking about detailed models in VR. Tessellation is a nice way to easily increase model detail. It does two things: Curved surfaces get smoother (using point-normal triangles or quads) A displacement map can be used to make small geometric detail to a surface. These are really nice features because they don't require a lot of mem

Josh

Josh in Articles

The Cyclone Demo is now live!

From its initial concept in 2017 through the last sixteen months of development, I am ecstatic to announce that the free demo of Cyclone is now available in preparation for the June Steam Next Fest!  This demo includes three maps from the main game showcasing the functionalities of Cyclone and various puzzle elements.   The demo is available right on the Steam Store page! Cyclone on Steam (steampowered.com) While this is both an exciting and a scary time. I can't stress enough tha

reepblue

reepblue in Cyclone

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

×
×
  • Create New...