Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

28. February 2017


The Game Creators have released a new version of the App Game Kit beginner/indie focused game cross platform game engine.  I featured App Game Kit in the Closer Look series if you are interested in learning more.  The biggest feature of this release is no doubt IP v6 support, now a requirement for iOS applications, although this is not the only change.

From the release notes:

What's new?

  • New Tone Mapping demo
  • Support for IPv6 standard
  • New MaximizeWindow commands
  • New GetGameCenterPlayerID and GetGameCenterPlayerDisplayName commands

Here's a full run down of the additions and fixes;


  • Fixed PlayVideoToTexture on Windows not working with WMV videos


  • Fixed Android export not working with Firebase if the Firebase config file contained details for more than one Android app
  • Fixed exported APK crashing if it uses GameCenter commands but was exported without a Game Services ID
  • Updated Ouya export for the latest icon requirements
  • Removed hack on Android that was used to force the volume buttons to set the media volume rather than the notification volume, which may have been causing audio distortion
  • Fixed ExtractZip not working on Android if the zip file was inside the APK
  • Removed armeabi (ARMv5) binary for Android which was only used by very old devices, AGK now requires ARMv7 or greater on Android. This reduces the APK size by about 4.5MB

In-App Purchases

  • Using InAppPurchaseSetup will no longer display a message box if it is called multiple times in the AGK player, for example when broadcasting an app multiple times


  • Fixed SetObjectMeshFromMemblock sometimes corrupting the vertices of another object on non-Windows platforms


  • Added a new example project that experiments with Tone Mapping
  • Consolidated OpenGL and OpenGLES files so there is less duplicated code, this should result in no visible change but may have introduced bugs

3D Physics

  • Fixed 3D physics ragdoll commands reporting that a ragdoll does not exist when it does
  • Fixed the skybox commands not working on some devices


  • Fixed DrawSprite not using the scissor value set by SetSpriteScissor
  • Fixed sprites with multiple images not using the scissor value set by SetSpriteScissor


  • Added GetGameCenterPlayerID and GetGameCenterPlayerDisplayName commands
  • Fixed GameCenterSubmitAchievement causing a crash on Google Game Services if the value 0 is used with an incremental achievement, it will now do nothing


  • Fixed key presses not being recorded by GetRawKeyState when the ALT key is held down


  • Removed popup message when an image is saved to the device photos folder on iOS and Android


  • Added MaximizeWindow command to maximize the window on Windows and Linux
  • Fixed SetWindowSize command not accepting the new parameters
  • Added a parameter to SetWindowSize to ignore bounds checking so that over sized windows can be created


  • Fixed HTTPEncode entering an infinite loop
  • Fixed HTML5 mouse wheel being inverted
  • Increased network client timeout from 5 seconds to 20 seconds
  • Fixed Random2() producing too many instances of the start value
  • Fixed RunApp command on Mac and Linux not accepting multiple parameters for some commands

IPv6 Support

  • Added IPv6 support to all platforms except HTML5
  • Any network commands that accept an IP address will now accept an IPv4 or IPv6 address
  • The HostNetwork command will listen on both IPv4 and IPv6 addresses (if available) and accept connections from both
  • Added GetDeviceIPv6 to return the IPv6 address of the device, it will first look for global addresses and then local ones
  • Existing Android Tier 2 projects will need to add the function GetIPv6 to their file, check the template project for details


  • Added a menu option in the IDE to view the AGK video tutorials on Youtube

GameDev News

28. February 2017


King have just released an updated version of their Defold Engine’s Editor, a prelease 2.0 version.  If you’ve never used Defold, we have a comprehensive tutorial series available here.  Don’t worry, the entire series is still valid even if things look a bit different.  Actually that’s a big part of this release, Editor 1 and 2 are completely compatible with each other.  Editor 2 is a rewrite for performance, usability and stability that aims to replicate Editor 1’s functionality.


Here are the FAQ on the 2.0 release:

Anything I need to know before I start?

Here are some things that are good to know:

  • Editor 2 saves all files at once. This will create a lot of diffs, because of new fields appearing in the files. This is not a compatibility issue, and will furthermore only happen the first time youDefold2 save your project.
  • While we have no known data loss issues, you might want to check your diffs before pushing to production—especially for business-critical projects.
  • The app extracts some executables from a jar (e.g. the game engine executable) and expects to be able to run them. Windows Defender thinks they are Trojans and might want to quarantine, but we promise they are safe.
  • The "desktop actions" (e.g. Help ▸ Report Issue, which invokes a browser) has been known to hang on some distros. This is obviously a bug, please report using Github directly if this happens to you.
  • Some keyboard shortcuts are either missing or temporary. Some of the shortcuts will probably change between Editor 1 and 2 for a nicer workflow and to better adhere to what users expect coming from other programs.

The complete list of registered bugs can be found on Github.

There are also a few early gotchas to be aware of as well, this is an early release after all.

What features are missing in Editor 2?

Features that are currently missing in Editor 2, but are high priority:

  • Game projects can’t be bundled—this has to be done in Editor 1.
  • Ability to open text files in external editor by default.
  • Texture profiles.
  • 3D Animation Set editing.

You can download the new editor here.

GameDev News

27. February 2017


Firebase is a backend as a service owned by Google that provide a number of server side features for application developers such as realtime cloud database support, notifications, authentication with various providers, analytics, notifications, storage and more.  Basically if you need some kind of network integration, Firebase aims to provide it.  Today at GDC they just announced the public release of SDKs for game developers, both in C++ and Unity formats.  The official release blog:

If you haven't heard yet, the Firebase team is at the Game Developers Conference this week to show all you game developers out there how Firebase can make it easier for you to develop successful games. And one of our big announcements at the show is that the official Firebase SDKs for Unity and C++ have now graduated to full General Availability! This means that they're both primary supported platforms that Firebase is committed to supporting in the future.

Both SDKs let you take advantage of:

AdMob: Monetize your games with targeted, in-app advertising, include native ads and rewarded video. Guides: Unity/C++.
Analytics: Record events that happen in your game with our free and unlimited analytics service, now complete with real time views! Guides: Unity/C++
Realtime Database: Magically sync your app's data across all devices, usually within a few hundred milliseconds. Guides: Unity/C++
Dynamic Links: Create mobile deep links that you can use to point players to any element of your game (if they have it installed), or take them to the Play Store / App Store (if they don't). Guides: Unity/C++
Authentication: Sign in your users in from third party providers like Facebook, Google, and Github, or use our built in username and password system. Guides: Unity/C++
Cloud Messaging: Send notifications to iOS, Android and web clients through a single endpoint, or use the Firebase Notifications panel to schedule notifications without having to worry about writing any custom server code or curl calls. Guides: Unity/C++
Remote Config: Tweak variables from the cloud, and then use Firebase Analytics to see if they give you the results you expect. You can even use Remote Config to deliver custom values to specific groups of people, like your expert players. Guides: Unity/C++
Storage: Store user-created binary data in Cloud Storage buckets directly from the app - fantastic for uploading screenshots or videos. Guides: Unity/C++

You can jump in today with our new getting started guide for gamedevelopers . As a bonus for developers working in Cocos2D-x, we've also released a set of new samples that demonstrate how to integrate the C++ SDKs into your Cocos2D-x games. As always, if you have questions or comments, reach out to us through our support team, Stack Overflow or the firebase-talk group!


Pricing for Firebase is available across 3 different tiers, a free limited to 100 simultaneous connections, 1GB of realtime storage and 10GB of network usage, a $25/month subscription with unlimited connections, 2.5GB of storage and 20GB a month of network usage, or a pay as you go tier for $5/GB/month storage, $1GB networking.  You can read more about the pricing here.

GameDev News

27. February 2017


For the third straight year Soniss have released a massive collection of sound effects for download in celebration of the annual Game Developers Conference.  You can see the complete list of released audio files here, in total there are 806 audio files across dozens of different categories from several different creators.  The license seems exceptionally liberal with very few conditions:


a) Licensee may not modify any of the sound effects with intent to claim authorship of the original recording.12141731_10153066685161962_3912813759275053667_n-600x222

b) Licensee may not sell any of the sound effects as they come. (Although the sound effects may be sold as incorporated into licensee project).

Rights Granted

a) Licensee may use the licensed sound effects on an unlimited number of projects for the entirety of their life time.

b) Licensee may use and modify the licensed sound effects for personal and commercial projects without attribution to the original creator.

c) Licensee may freely distribute the licensed sound effects and make an unlimited amount of copies.

d) Licensee may publicly perform a reproduction of the sound effects over any form of medium.


You can read the complete license here.  Downloads are available from multiple sources including Dropbox, Google Drive and Torrent links available, click here for various download links.

27. February 2017


While no individual VR headset has set the world on fire sales wise, between the GearVR, Vive, OSVR, Daydream and Oculus Rift, there are a fair number of them out there.  The problem for developers is supporting each device requires a slightly different workflow. The Khronos group, the people behind OpenGL and other cross platform media frameworks, have teamed up with a number of hardware and middleware providers to create OpenXR, which acts as an abstraction layer between VR devices and various game engines, as shown in this graphic.

The Industry need for a Virtual Reality Standard

The idea is actually a bit of a no brainer, and to a certain degree engine providers like Unity and Unreal were doing the heavy lifting for us.  It comes as no surprise then that both Epic and Unreal are part of the initiative.  Most major players are in fact!



That is pretty much every single relevant player, except oddly enough HTC (although Steam’s membership might render their participation moot).  For most game developers OpenXR will be pretty much a transparent layer, however game engine developers will certainly want to pay attention.  It will give them the ability to target several different VR headsets using a single code base.


You can read more about OpenXR here.  It’s unfortunate that Steam owns the trademark for OpenVR, it’s the most logical name for this project.  The Khronos Group are going to be present and active at GDC 2017, the following is a list of details and events they will be participating in.

  • Khronos GDC Booth – Visit the Khronos booth for hourly presentations on Khronos APIs as well as opportunities to talk with Khronos members and standards experts. Booth 2419, South Hall.
  • Khronos discusses OpenXR at VRDC 2017: Monday and Tuesday, February 27 to 28 from 10 a.m. to 6 p.m., visit the Khronos table #TT06 in room 135 North Hall to talk to VR experts working on OpenXR and share feedback on this recently-announced initiative.
  • Khronos 3D Graphics Developer Day Sessions on Vulkan, OpenXR, WebGL, glTF and more: On Tuesday, February 28 from 10 a.m. to 6 p.m., room 3022 in West Hall, Khronos will host one-hour educational sessions for developers.
  • Khronos Meetup: To discuss WebGL, WebVR, glTF, mobile 3D and network with Khronos members and developers, join the group on Thursday, March 2 from 6:30 p.m. to 9:30 p.m. at Galvanize, San Francisco.
  • Official GDC Sessions related to Khronos standards: Khronos members and developers will present on topics from Vulkan Lessons Learned to the Future of VR.

The full schedule of events is available at:


OpenXR is still very much in the planning stages, and like OpenGL, will be implemented both as an API level and in the hardware drivers of the individual devices.  They have described the architecture (as it stands now), like so:

OpenXR defines two levels of API interfaces that a VR platform’s runtime can use to access the OpenXR ecosystem. Note that the design of the OpenXR specification is in progress, and so while the above diagrams represents the design goals of the group - final details may change

Apps and engines use standardized interfaces to interrogate and drive devices. Devices can self-integrate to a standardized driver interface.

Standardized hardware/software interfaces reduce fragmentation while leaving implementation details open to encourage industry innovation.


Obviously this is all tentative and subject to change.  A standardization in the VR space is exactly what is needed, so hopefully this takes off.  Only time I suppose will tell, although with the players involved, this one looks promising.

GameDev News

Month List

Popular Comments