itch.io is community of indie game creators and players

Devlogs

NutshellEngine 0.3.2

NutshellEngine
A downloadable tool for Windows and Linux

NutshellEngine 0.3.2 now uses quaternions instead of Euler angles for rotations.

Runtime

The Runtime is the part of the engine that runs the games made with the editor.

Features

  • /!\ Breaking Change! Rotations, in the Transform component or the ColliderBox, are now in quaternions instead of Euler angles.
    • NutshellEngine has always used Euler angles, so a rotation around each axis, to describe rotations, as they are easier to use and understand than quaternions. Unfortunately, Euler angles are very limited and have two major problems: the rotation depends on the order (for example: rotation around X then around Y is not equal to rotating around Y then around X) and can get gimbal locked, which reduces their degrees of freedom.
    • To make quaternions easier to use, two new functions have been added to the Math library:
  • /!\ Breaking Change! Removed the NtshEngn_tbn custom fragment shader variable, as it can be constructed from NtshEngn_tangent, NtshEngn_bitangent and NtshEngn_normal. Also added NtshEngn_cameraType (NTSHENGN_CAMERA_TYPE_PERSPECTIVE or NTSHENGN_CAMERA_TYPE_ORTHOGRAPHIC), NtshEngn_cameraView and NtshEngn_cameraProjection to access the camera's view and projection matrices.

Bug fixes

  • /!\ Breaking Change! Changed the way the font's vertical alignment is calculated in drawUIText in the provided Graphics Module. Previously, it used the drawn glyphs bounding boxes only, which meant that a text that was displayed character by character could move even though neither the anchor point nor the position changed, as the text's vertical bounding box changed when a character that went higher or lower than the others was drawn. It now uses the font's global bounding box, which is a bounding box containing all glyphs' bounding boxes to calculate the vertical alignment.
  • Fixed a crash that could happen when changing the scene.
  • Fixed an issue where entities could sometimes play animations when they shouldn't, in the provided Graphics Module.
  • Fixed an issue where the lighting was wrong when using an orthographic camera, in the provided Graphics Module.
  • Fixed an issue where particles colors were wrong, in the provided Graphics Module.
  • Fixed a crash when rendering UI elements and minimizing the window, in the provided Graphics Module..
  • Fixed an issue where angular velocity was not correctly applied in the provided Physics Module.

Editor

The Editor is the software used to make games with.

Features

  • Entity with lights components now have meshes so they can be visualized better in the renderer, like it was already the case for cameras and colliders. The color of the mesh corresponds to the color of the light.
  • The meshes associated with sphere and capsule colliders now have less vertices to improve readability.
  • /!\ Breaking Change! Editable Script Variables now take the hierarchy in count. It means that it's now possible to edit variables from a parent class of the current Script, recursively.
  • /!\ Breaking Change! Removed the NtshEngn_tbn custom fragment shader variable, as it can be constructed from NtshEngn_tangent, NtshEngn_bitangent and NtshEngn_normal. Also added NtshEngn_cameraType (NTSHENGN_CAMERA_TYPE_PERSPECTIVE or NTSHENGN_CAMERA_TYPE_ORTHOGRAPHIC), NtshEngn_cameraView and NtshEngn_cameraProjection to access the camera's view and projection matrices.
  • Perspective cameras can look more up and down.
  • Removed the possibility to toggle backface culling.
  • Duplicating a script now directly opens it for renaming.
  • Copied Entities are now copied in the same order they appeared in the Entity list.

Bug fixes

  • Fixed Entities not getting correctly ordered when using Alt+arrow keys in the Entity list.
  • Fixed an issue where the lighting was wrong when using an orthographic camera.
  • Fixed an issue where the multi selection key (Shift) wasn't un-pressed when losing focus on the renderer, causing multiple entities to be selected when not pressing Shift.
  • Fixed an issue where the entity list was not updating when undoing-redoing a Renderable's isVisible variable and undoing opening a new scene.
  • Fixed an issue where the Transform component did not update when cancelling a transform change.
  • Fixed an issue on Windows with an NVIDIA GPU causing the incorrect cascaded shadow map level to be selected in custom fragment shaders.
  • Camera Component's near plane is now clamped to 0.

Files

  • NutshellEngine-0.3.2-Windows-x64.zip 38 MB
    43 days ago
  • NutshellEngine-0.3.2-Linux-x64.tar.gz 25 MB
    43 days ago
Download NutshellEngine
Leave a comment