Skip to content

Release notes version 1.6

RafaelTavares edited this page Oct 28, 2024 · 7 revisions

Changes in Range Game Engine 1.6

New Physically Based Sky Shader

A new PBR-based sky rendering system was added to the engine with more accurate simulation of light scattering (Rayleigh and Mie), resulting in smooth, realistic gradients, as seen in sunrises and sunsets.

Stars were also introduced:

They will be present in the new sky and the old one, you can return to the old sky by disabling the "atmospheric sky" option

Sky interaction has also been improved on objects, giving a significant visual improvement.

Before After

Atmospheric Height Fog

Height Fog was introduced to the engine, the behavior of fog is influenced by height and depth.

Viewport Custom Shaders

Finally, it is now possible to apply custom shaders to Range materials, this opens up a huge window of possibilities to change the look of games.

Created by Shane from shadertoy.

Foliage Shader Improved

Previously the foliage shader was designed for the movement of tree leaves, using it on grass and bushes could cause strange behavior. That's why a new option for grass has now been added. In addition to the movement, it has been improved with noise.

New Emit Shading

Previously, any true emission color was simply the diffuse color emitted again, and the emission influence of a texture affected only the emission intensity.

Now, the emission influence of a texture controls whether its rgb values are added to the material after lighting and shadow stage, allowing for independent (from diffuse) color emission.

Before After

Note: The old behavior still can be achieved with 'RGB to Intensity' options.

Python 3.11

Python has been updated to version 3.11, bringing new features and performance improvements.

AABB python

Now it is possible to access the BoundBox of objects via python. Access the API to see the parameters, or download this example.

Input System

New key mapping system has been added to this version. More flexible and with more options than the old system (logic.keyboard ...).

This system is located in the userpreferences -> Input System tab.

It works with three tables;

  • Input Maps: Table containing key combinations for each condition.
  • Input Table: Table containing all key calls.
  • Input Binding: Input binding is actually the key that will be pressed or the use of information such as joysticks, mouse position, etc.

Also has some features for binding such as processors. Processors allow you to directly change the result of the value.

The Input System is a great resource, if you want to learn more about how to use this tool, start with a Video Tutorial Soon.

Sound Reverberation

ToDO

Video Here

Potato

start with a Video Tutorial Soon.

New Particle System

Previously, to create particles it was necessary to create the system from scratch, now EasyEmit has been implemented in Range, completely rewritten and optimized, bug fixes and much more.

setActionLayerSpeed

Now possible to change the animation speed more precisely.

python example

Text Object Update

The use of text object is still important in range 1.5 for making GUI, so it received a cleanup and some improvements, Now bfont has been completely replaced for roboto-medium, there is no reference to bfont and bfont-mono in the source code.

Added partial support for text alignment.

It is now possible to add shadows to your texts, can change color and position.

python example

Logic Bricks Update

Some improvements have been added, it is now possible to add color to bricks.

And if you want to write down what each action does, you can now write it down on the sensor!

Sun Shadow Fade Out

Shadow fade out has been implemented on the sun lamps, with this it is possible to make a fade between the end of the shadowmap, removing the ugly clip.

Invisible Object with LOD

LOD is essential for games, now it is possible to make the object invisible depending on the distance, this can save a lot of performance.

setCustomMouse

New python function to be able to change the mouse icon in game mode. In additional a new optional option to disable mipmap, so you can use pixelated cursors!

If you want to know how you can use this feature, download the example here

render.setCustomMouse(filepath, useMipMap)

getProcessorName

Returns the processor name and GHz.

logic.getProcessorName()

Shaders changes

  • Change blend mode to screen mode (see 3902956)
  • Range: Additive Mist (see b67f439)

Bug Fixes

  • Fix Speaker SetSound (see 26d8174)
  • Fix Crash when using fullscreen mode in standalone (see ee3c888)
  • Fix Libload: Fix libload occluders (see cf6bfbd)
  • Fix GHOST: Some fixes for fullscreen and windowed mode (Win32) (see 6bb0a9c)
  • Fix Text: Fix excessive use of RAM memory (see 3f8c3a7)
  • Fix missing texture color space options in Linux (see 1af2a39)
  • Fix Fix UI popup refresh (see 5f461da)
  • Fix Animation Events: Fix replication problem (see d0ded6e)
  • Fix bug invisible objects (see 8612465)
  • Fix Speakers: Fix start init (see 64379f8)
  • Fix GHOST Armature In Game (see 56dafe8)
  • Fix EventToString() in mouse.inputs (see 5084848)
  • Fix crash when trying to use lamp data with shadows activated (see 76332f4)
  • Fix Texture Mapping Not Update (see a4fd5bf)