Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon Join the GFS Discord Server!
29. April 2020

Welcome to another NewsFromScratch game development news round-up.  Today we have 2 different game engine releases, a new asset pack from, as well as an update to AssetForge.


Diligent Engine is a cross platform rendering framework that abstracts away the complexities of dealing with OpenGL, Vulkan, DirectX and Metal APIs.  This new release adds Vulkan support for Android and more.  You can learn more about Diligent Engine in our previous feature available here.

PlayCanvas Release 1.27

PlayCanvas just released a new version, 1.27.  PlayCanvas is a complete 3D game engine with tooling that runs entirely in the browser.  The 1.27 releases biggest new feature is a new procedural mesh generation API, enabling a huge swath of new functionality.  You can learn more about PlayCanvas in our multipart tutorial available here or in video form here. New Asset Pack + AssetForge Release have released another free 3d model asset pack around the concept of Nature, now with over 330 low polygon game ready assets.  Additionally a new version of AssetForge was released, with improved sprite rendering features and more.  AssetForge is a 3D modelling application that takes a kit-bashing appraoch.  You can learn more about AssetForge here.

Learn more about all of these announcements in the video below.

GameDev News

27. April 2020

The long running open source C++ framework Ogre just released Ogre 2.1 Baldur.  Performance optimizations, a new compositor and shading system and more top the list of features.

Highlight features from the release announcement:

  • Hlms (High Level Material System) to generate shaders automatically. Replaces RTSS and manual shaders
  • PBS – Physically Based Shading
  • New Compositor. More flexible, faster and powerful
  • Refactored Ogre 1.x to increase performance by several factors; using cache friendly techniques (Data Oriented Design), SIMD instructions, AZDO (Approaching Zero Driver Overhead), auto instancing, and multithreading
  • Windows Vista/7/8/10 support, macOS via Metal and OpenGL, iOS via Metal, Linux via OpenGL
  • Many new features: Area lights, Parallax Corrected Cubemaps, Forward Clustered lights, HDR, Exponential Shadowmaps and more

Ogre is open source under the MIT license and available here on GitHub.  Learn more about Ogre and the 2.1 release in the video below.

GameDev News

24. April 2020

Beef is an in development programming language designed specifically for games and similar performance critical applications.  This comment from Hacker News best sums up the intentions of the BEEF language:

Author here. I'm the engineering co-founder of PopCap Games. I left PopCap after the EA acquisition, and I've been working on this project mostly full-time for the last five years.

Before Beef, I was developing game code in C# and engine code in C++ and I felt C# was just much more pleasant to work with - faster compile times, better IDE tooling, better errors, etc. Then it struck me that none of the things I liked about C# really had anything to do with the JIT or the GC, and it may be possible to create a "best of" merging between C# and C++.

I know there are other "C replacement" contenders out there - the differences are probably best explained through Beef's specific design goals listed at

Beef consists of a complete compiler tool chain built on an LLVM backend, as well as a full IDE with modern features such as refactoring and code completion as well as a complete debugger and profiler.  It is available as a small (>100MB) download for Windows, or can be built from sources on Mac and Linux environments.

The Beef homepage is available here.

The Beef documentation is available here.

The move recent versions release notes are available here.

You can learn more about the Beef language and see the IDE in action in the video below.

GameDev News Programming

1. April 2020

Raylib 3.0 was released today.  Raylib is an open source, cross platform C based framework of tools and libraries for making games.  Components of raylib can be used on their own, however you can also download a preconfigured development environment making it among the easiest ways to get started doing C or C++ game programming. 

Details of the 3.0 release:

  • All global variables from the multiple raylib modules have been moved to a global context state, it has several benefits, first, better code readability with more comprehensive variables naming and categorization (organized by types, i.e. CORE.Window.display.width, CORE.Input.Keyboard.currentKeyState or RLGL.State.modelview). Second, it allows better memory management to load global context state dynamically when required (not at the moment), making it easy to implement a hot-reloading mechanism if desired.
  • All memory allocations on raylib and its dependencies now use RL_MALLOC, RL_FREE and similar macros. Now users can easely hook their own memory allocations mechanism if desired, having more control on how memory is allocated internally by the library. Additionally, it makes it easier to port the library to embedded devices where memory control is critical. For more info check raylib issue #1074.
  • All I/O file accesses from raylib are being moved to memory data access, now all I/O file access is centralized into just four functions: LoadFileData(), SaveFileData(), LoadFileText(), SaveFileText(). Users can just update those functions to any I/O file system. This change makes it easier to integrate raylib with Virtual File Systems or custom I/O file implementations.
  • All raylib data structures have been reviewed and optimized for pass-by-value usage. One of raylib distinctive design decisions is that most of its functions receive and return data by value. This design makes raylib really simple for newcomers, avoiding pointers and allowing complete access to all structures data in a simple way. The downside is that data is copied on stack every function call and that copy could be costly so, all raylib data structures have been optimized to stay under 64 bytes for fast copy and retrieve.
  • All raylib tracelog messages have been reviewed and categorized for a more comprehensive output information when developing raylib applications, now all display, input, timer, platform, auxiliar libraries, file-accesses, data loading/unloading issues are properly reported with more detailed and visual messages.
  • raudio module has been internally reviewed to accomodate the new Music structure (converted from previous pointer format) and the module has been adapted to the highly improved miniaudio v0.10.
  • text module reviewed to improve fonts generation and text management functions, Font structure has been redesigned to better accomodate characters data, decoupling individual characters as Image glyphs from the font atlas parameters. Several improvements have been made to better support Unicode strings with UTF-8 encoding.
  • Multiple new examples added (most of them contributed by raylib users) and all examples reviewed for correct execution on most of the supported platforms, specially Web and Raspberry Pi. A detailed categorized table has been created on github for easy examples navigation and code access.
  • New GitHub Actions CI system has been implemented for Windows, Linux and macOS code and examples compilation on every new commit or PR to make sure library keeps stable and usable with no breaking bugs.

Raylib is available on, with the source code hosted on GitHub under the liberal ZLib license.  The raylib cheatsheet is a one stop shop for learning the commands from the various libraries.  Raylib is also well documented on the Wiki.

Learn more about raylib in the video below.

GameDev News

3. December 2019

Cocos2d-x, the long running cross platform framework for developer 2D games, just released version 4.0 today.  The biggest new feature is Metal support for iOS and MacOS platforms, pretty much a requirement with Apple deprecating support for OpenGL.

Details of the 4.0 release from the Cocos2d-x forums:

  • support metal on iOS/macOS
  • use CMake for all platforms
  • update GLFW to 3.3
  • update minizip to 1.2
  • remove deprecated functions
  • remove h5 engine and JSB
  • remove tiff
  • remove SimpleAudioEngine
  • remove experimental namespace
  • fix bug that system font can not work correctly on macOS 15
  • fix lua crash on 64-bit devices
  • fix bugs for iOS 13
    • UIWebView uses WKWebView instead
    • VideoPlayer uses AVPlayerController instead

Cocos2d-x 4.0 is currently only available for download using the link above, as the main site has not yet been updated.  The above link also contains some documentation on migrating your project to 4.0.

If you are interested in learning more about Cocos2d-x be sure to check out our tutorial series available here.  Cocos2d-x is a completely open source project hosted on GitHub.  To learn more about the 4.0 release and Cocos2d-x in general, be sure to check out the video below.

GameDev News

See More Tutorials on!

Month List