Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

22. September 2017


LWJGL, the Light Weight Java Game Library, just released version 3.1.2.  LWJGL is a series of Java bindings for several underlying media APIs such as OpenGL, OpenAL and Vulkan.  This release also added OpenVR and OpenEXR support among other changes and fixes.

Details from the release notes:

This build includes the following changes:

Bindings
  • Added OpenVR bindings.
  • Added Tiny OpenEXR bindings.
  • Added Yoga bindings.
  • bgfx: Updated to API version 41 (up from 34)
  • glfw: Updated to pre-release 3.3.0 version (up from 3.2.1). Includes many fixes and new features:
    • Last error code query (glfwGetError)
    • Requesting attention from the user (glfwRequestWindowAttention)
    • Platform dependent scancodes for keys (glfwGetKeyScancode)
    • Window maximization events (glfwSetWindowMaximizeCallback)
    • Window attribute modification (glfwSetWindowAttrib)
    • Joystick hats (glfwGetJoystickHats)
    • Library initialization hints (glfwInitHint)
    • Headless OSMesa backend
    • Cursor centering control (GLFW_CENTER_CURSOR)
    • macOS: Cocoa hints (GLFW_COCOA_RETINA_FRAMEBUFFER, GLFW_COCOA_FRAME_AUTOSAVE, GLFW_COCOA_GRAPHICS_SWITCHING, GLFW_COCOA_CHDIR_RESOURCES, GLFW_COCOA_MENUBAR)
    • macOS: Vulkan support via MoltenVK
    • X11: Moved to XI2 XI_RawMotion for disabled cursor mode motion input
    • EGL: Added support for EGL_KHR_get_all_proc_addresses and EGL_KHR_context_flush_control
  • jemalloc: Updated to 4.5.0 (up from 4.4.0)
  • LibOVR: Update to 1.14.0 (up from 1.10.0)
  • lmdb: Updated to 0.9.20 (up from 0.9.18)
  • NanoVG: Added support for fallback fonts.
  • nuklear: Updated to 1.37.0 (up from 1.29.1, with the new versioning)
  • OpenAL: Added AL_SOFT_source_resampler extension.
  • stb
    • Updated stb_dxt to 1.0.6 (up from 1.0.4)
    • Updated stb_easy_font to 1.0 (up from 0.7)
    • Updated stb_image to 2.15 (up from 2.13)
    • Updated stb_image_resize to 0.94 (up from 0.91)
    • Updated stb_image_write to 1.05 (up from 1.02)
    • Updated stb_perlin to 0.3 (up from 0.2)
    • Updated stb_rect_pack to 0.11 (up from 0.10)
    • Updated stb_truetype to 1.15 (up from 1.12)
    • Updated stb_vorbis to 1.10 (up from 1.09)
  • tinyfiledialogs: Updated to 2.8.3 (up from 2.7.2)
  • Vulkan: Updated to 1.0.49 (up from 1.0.38)
Improvements
  • MemoryStack: Increased default stack size to 64kb (up from 32kb)
  • Shared library loading can now utilize a ClassLoader specified by the caller. (#277)
  • Significantly reduced DEBUG_MEMORY_ALLOCATOR and DEBUG_STACK overhead in Java 9 using the new StackWalker API.
  • Migrated windows builds to appveyor and updated to Visual Studio 2017 (up from 2015)
  • EGL: The core API now includes javadoc links to the Khronos references pages
  • OpenGL ES: The core API now includes javadoc links to the Khronos references pages
Fixes
  • Assimp: Struct member nullability fixes
  • Linux: Removed dependencies to newer GLIBC versions.
  • LibOVR: Fixed layout of the ovrInputState struct.
  • OpenAL: Removed buffer auto-sizing from alcCaptureSamples. The number of samples must now be specified explicitly, similar to alcRenderSamplesSOFT.
  • Vulkan: Function addresses are now retrieved only once, using the optimal method for each function type.
    • This avoids warnings on pedantic validation layers.
  • Fixed callback invocation bugs on 32-bit architectures.
  • Fixed various javadoc formatting issues (#308)
Breaking Changes
  • Mapped more integer parameters and return values to Java boolean, that were missed while working on #181.
    • Xlib's Bool
    • OpenCL's cl_bool
    • DynCall's DCbool
  • Moved JNI global reference functions from MemoryUtil to the generated org.lwjgl.system.jni.JNINativeInterface.
  • The Vulkan capabilities have been split into two classes: VKCapabilitiesInstance and VKCapabilitiesDevice.
    • Flags for core Vulkan versions exist in both classes.
    • Flags for instance extensions exist only in VKCapabilitiesInstance.
    • Flags for device extensions exist only in VKCapabilitiesDevice.
    • Functions that dispatch on VkInstance or VkPhysicalDevice exist only in VKCapabilitiesInstance.
    • Functions that dispatch on VkDevice and device-derived handles exist only in VKCapabilitiesDevice.
    • Bootstrapping functions can be retrieved with VK.getFunctionProvider().

GameDev News

15. September 2017


Some time back Microsoft launched the UWP, Universal Windows Platform, a target enabling you to create Windows store apps that could also be run on XBox One hardware.  There was however a big catch, limited resources.  From the UWP documentation:

  • The maximum memory available to an app running in the foreground is 1 GB.

    • The maximum memory available to an app running in the background is 128 MB.
    • Apps that exceed these memory requirements will encounter memory allocation failures. For more information about monitoring memory use, see the MemoryManager class reference.

  • Share of 2-4 CPU cores depending on the number of apps and games running on the system.

  • Share of 45% of the GPU depending on the number of apps and games running on the system.

  • UWP on Xbox One supports DirectX 11 Feature Level 10. DirectX 12 is not supported at this time.

  • All apps must target the x64 architecture in order to be developed or submitted to the store for Xbox.

So, basically you got access to half of an Xbox One…  Bummer.  Thankfully in the upcoming Fall Update, that is all about to change!  From the Microsoft blog:

Since the advent of consoles, developers have asked for ways to create games for one platform that you could run anywhere. With the release of the Expanded Resources feature in the Windows Fall Creators Update, we are taking the industry closer to that goal than it has ever been before. Now, developers will automatically have access to 6 exclusive cores, 5 GB of ram and full access to the GPU!

Awesome!  I have a video discussing this change available here.

GameDev News

14. September 2017


The Defold Engine just got it’s own community hub, available at defold.com/community.  In addition to the existing forums and social media pages, the community portal now includes an asset portal and a community games showcase.

image

The Asset portal currently contains just under 30 different projects including new project templates, to Unity Ad plugins and UI systems.  The system also enables authenticated users to upload their own assets.  The new Games page showcases games made using the Defold game engine and also includes the ability to upload your own titles.  The look is very polished, although the icons used right now are rather large requiring a fair bit of scrolling.  Hopefully as the site gets more populated, the sizes are dialed back a little bit for efficiencies sake.


Defold is a free 2D Lua powered game engine.  If you are interested in learning more, we have a complete tutorial series available here.

GameDev News

13. September 2017


The Xenko game engine just released version 2.1.  This recently out of beta C# powered game engine just got a bunch prettier with several xenkorendering improvements.  The engine also gained the ability to stream textures which should decrease scene load times and memory usage.  The input system was rewritten and Direct X 12 support was improved.


The following is a summary of new features in the 2.1 release:

  • Local reflections
  • Clear coat shading
  • Thin glass materials
  • Texture streaming
  • Render masks
  • Improved profiler
  • Debug text during runtime
  • Rewritten input system
  • Improved Direct3D 12 support
  • Improved environment fresnel
  • Japanese documentation now available


For more details be sure to check out the release notes which includes a full change log.


Xenko was previously known as Paradox and we did a short tutorial series available here if you wish to learn more.

GameDev News

13. September 2017


Today the Blender Foundation announced the release of Blender 2.79.  Other than a load of bug fixes, there isn’t actually a ton in the releaseB279 directly for game developers.  Perhaps the biggest feature is the new PBR shader node, implemented as the Principled BSDF node based on Disney’s PBR implementation in Renderman.  Other new features include Denoise is a new feature for removing rendering noise, a new Filmic view transform has been added for more photorealistic rendering results, improved OpenCL performance as well as various Cycles renderer improvements.  The Grease pencil also received several improvements in this release including per layer onion skinning and new interpolation tools. 

Perhaps the single best improvement of this release to me personally is automatic DPI scaling.  This means Blender will automatically detect if you are using a high DPI monitor and adjust it’s UI accordingly.  No more having to manually change the user interface each time you plug in an external monitor!


The 2.79 release also includes a ton of new add-ons, including:

Dynamic Sky, Archipack, Magic UV, Mesh Edit Tools, Skinify, Display Tools, Brush Menus, Btrace, Is Key Free, Turnaround Camera, Auto Mirror, Camera Rigs, Snap Utils Line, Add Advanced Objects, Export Paper Model, Kinoraw Tools, Stored Views, Render Clay, Auto Tracker, Refine Tracking Solution, Materials Library VX, Mesh Tissue, Cell Fracture Crack It

Be warned however, there was a change to the way add-ons work with data, meaning that backward .blend compatibility may be impacted!


To read more details of this release check the full release announcement available here.  If you are interested in learning Blender, we have a ton of great tutorials available here.

GameDev News

Month List

Popular Comments