Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

23. May 2017

 

Banshee is an in development C++ powered 3D game engine with an editor.  Written in modern C++14 with a comprehensive editor and supporting Vulkan rendering, Banshee3D is a project with a lot of potential. Two things impress me about Banshee3D, how fast it’s progressing and the fact it’s the work of a single guy.  He just updated on /r/gamedev the recent developments the editor has undergone.

  • Physically based renderer - About 70% complete. See link below for an early screenshot.
  • C++ framework - I plan to release the entire engine core under the MIT license. It will be usable as a pure C++ gamedev framework similar to SFML/SDL but with a larger scope.
  • Documentation enhancements - Over a HUNDRED new manuals have been added. image
  • Unified shading language - New unified shading language allows you to develop shaders that work on DirectX, OpenGL and Vulkan, while also supporting high level concepts not available in HLSL/GLSL.
  • Automatic script binding generation - Automatic code generation support for script bindings ensures C# API can now nearly transparently match the C++ API, as well as opening the door for easy addition of new scripting languages.
  • First stable release - Planned for late 2017/early 2018.

You can get a great deal more information from this blog post.  When Banshee 0.3 was released we did a hands-on walkthrough of the Banshee game engine available here and embedded in the video below.

GameDev News

18. May 2017

 

Version 1.2.104 of the Defold game engine was just released.  The primary new feature is the ability to do PUT and HEAD requests using the http.request object.  In addition there are a number of fixes and improvements.  The Defold game engine is a mobile focused Lua powered 2D game engine.  If you are interested in learning more, we have a complete tutorial series available here.

 

Details from the release announcement:

Engine
  • DEF-2468 - Added: http.request supports PUT and HEAD.
  • DEF-2702 - Fixed: Index out of range when spine draw order slot exceeds mesh count.
  • DEF-2692 - Fixed: Spine blending fixes for draw order animations.
  • DEF-2661 - Fixed: Reverse hashing usage in Collection factories to not impact performance.
  • DEF-2689 - Fixed: Engine crash when async loading is in progress during engine quit.
  • DEF-2566 - Fixed: GUI functions new_texture, delete_texture and set_texture_data now also accept hash.
Native Extension Server
  • Fixed so that packages/classes provided by Jar libraries can be imported in Java sources.
  • Fixed missing usage of compiler and link flags for Android builds.
Documentation
  • New Color grading post processing shader tutorial4.
  • Merged large pull request from @ross.grams containing proofread pass on all manuals.

GameDev News

17. May 2017

 

Amazon have just released a comprehensive new starter game for their Lumberyard game engine, a fork of the AAA CryEngine.  This new example is a complete 3rd person view title with high quality production values authored by Climax Studios, the developer behind Silent Hills: Shattered Memories and the Assassin’s Creed Chronicles series of games.   This new demo game is critical, as several underlying systems in Lumberyard have changed, making this the primary example of how modern Lumberyard development is done.  Details of the release from the Lumberyard blog:

We first gave you a glimpse of Starter Game at GDC 2017, and now we’re happy to give you the entire project for free, including full source and assets. Whether it serves as inspiration for a game of your own, or as a way of learning Lumberyard’s features, Starter Game is another tool for helping you reach your game dev goals.

Watch this video on how to download and install Starter Game.

In many ways, Starter Game started with you. We heard your requests for more sample content—please keep that great feedback coming by the way!—and then looked for ways to incorporate features from 1.9. So we started working with Climax Studios, known for their great work onLY Silent Hill: Shattered Memories and the Assassin’s Creed Chronicles series. With Climax’s decades of experience, and your great suggestions, Starter Game was born.

One feature that Starter Game leverages in particular is our new Component Entity system, which was recently updated in 1.9. This system provides a modular and intuitive way of constructing game elements, helping you create complex entities faster and with minimal effort. Starter Game uses the Component Entity system wherever possible, including Player Control, AI, UI and Particles. It also shows how this new system can be used in conjunction with legacy tools and APIs (e.g. terrain brush, FlowGraph, etc.), freeing you to adopt new features as you see fit.

In addition to components, another request we got from developers was to include an example of bipedal locomotion, since humanoids are the most common form of player characters. Enter Jack: the fully modifiable, two-legged robot of Starter Game, complete with a trailing third-person camera. You can learn from Jack’s setup, tweak parameters to change the feel, and bring it into your game to accelerate your prototyping. Jack also utilizes AimIK, an inverse kinematics system to point the held-weapon appropriately at targets, without creating bespoke animations. Thanks to AimIK’s procedural generation, you won’t need to create individual animations for every single angle or posture, saving you time and effort.

 

With all of the recent changes in Lumberyard, including the launch of this new sample game, I have decided to take another hands on look at the Lumberyard game engine, available here and embedded below.

GameDev News

15. May 2017

 

LWJGL, the Light Weight Java Game Library, just released version 3.1.2.  LWJGL is series of low level language bindings to critical game development related APIs such as OpenGL and OpenAL.  LWJGL is the underlying technology Java libraries such as LibGDX and jMonkeyEngine depend on for desktop targets.  The 3.1.2 release brings several new fixes and features, including new VR oriented library bindings.

 

Details from the release log:

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. May 2017

 

Construct 3 is the recently released version of the Construct 2D game engine.  If you are interested in trying it out right now might be the ideal time as all functionality is enabled for free until May 28th for the C3Jam hosted on Newgrounds.  If you are interested in learning more about Construct 3, be sure to check out our hands-on video available here and embedded below.

The game jam rules require you to use the Construct 3 game engine obviously, with the following requirements as well:

1) Your game must be based on original material, for example you can't use Mario sprites.
2) Your game must not contain unlicensed audio / music.
3) You may work with artists and musicians to support your project!

The theme for this game jam is "Good Things Come in Threes."  You can read more about the game jam and Construct 3 engine on the Scirra blog.

Even if you aren't interested in participating in the game jam, this is perhaps the perfect opportunity to give Construct 3 a try.

GameDev News

Month List

Popular Comments