AppGameKit 2017.07.19 update was just released. AppGameKit is a beginner/indie focused game engine supporting C++ that can target several different platforms. We covered AppGameKit 2 a couple years ago as part of the Closer Look At game engine review series if you want more
Further details from the release announcement:
AppGameKit Player Apps
- The AppGameKit Player on iOS will now display the Wifi IPv4 address over the mobile data one, if available
3D Shadows
- AppGameKit now supports 3D shadow effects. Shadows are cast automatically from the directional light.
- There are three different shadow modes you can choose from:
- Uniform shadow mapping
- Light Space Perspective shadow mapping
- Cascade shadow mapping
- The new shadow commands are;
- SetShadowMappingMode
- SetShadowSmoothing
- SetShadowMapSize
- SetShadowRange
- SetShadowBias
- SetShadowLightStepSize
- SetObjectCastShadow
- SetObjectReceiveShadow
- New tier 1 shadow demo (found in the 3D demo folder)
3D Particles
- Added 3D particle commands
- Added a 3D Particle example to demonstrate their usage
3D
- Added SetObjectNormalMap command to add a normal map to a 3D object that uses the default shaders
- Added LoadShaderFromString command to specify the shader source code directly as a string
- Changed the mesh to light distance calculation to prefer closer lights regardless of light range when the number of lights is exceeded
- If the number of pixel lights affecting a mesh exceeds the limit (currently 4) then the additional pixel lights will be applied to the mesh as vertex lights if possible
- Added support for tangent and binormal attributes in 3D objects loaded from external files
- Objects using a normal map that don’t have any tangents or binormals will have them generated at runtime
- Added normal mapping example project
- Added support for the vertex color attribute for 3D objects using the default shaders
3D Model formats
- Upgraded to version 3.3 of the Open Asset Import Library for 3D model loading
- Currently supported 3D model formats are: .x .fbx .dae .3ds .obj .b3d .3d
2D
- DrawLine on all platforms will now draw the last pixel of a line whereas previously the last pixel was left blank
- Fixed DrawBox drawing unfilled boxes incorrectly if the virtual resolution didn’t match the window size
2D Physics
- Fixed SetSpritePhysicsOff causing a crash if called inside a contact loop using GetFirstContact and GetNextContact
- Fixed a crash when setting a physics sprite to a width or height of 0
Raw File Paths
- Fixed LoadVideo not working with “raw:” file paths on non-Windows platforms
- Fixed LoadMusic not working with “raw:” file paths on all platforms
iOS
- Added RequestAppReview for iOS 10.3 to rate the app from within the app itself
- Changed iOS splash screen to fade to black instead of white before displaying your app
- Fixed OpenBrowser on iOS not accepting URLs containing spaces
- Added FacebookActivateAppTracking command to send app events to the Facebook app console and record app installs
Text
- Added ShareImageAndText command to share both an image and text at the same time
Arrays
- Fixed assigning default values to an array of strings in a function generating an error if the number of values didn’t match the array size exactly
Mac
- Updated Mac projects to use libc++, any Tier 2 projects will need to update their setings accordingly
Multiplayer
- Fixed spelling mistake in GetSocketListnerConnection command name, this is a breaking change and will need to be corrected in existing apps
- Fixed network client disconnect not being forwarded to other clients
- Added SetNetworkAllowClients to restart client listening after calling SetNetworkNoMoreClients
- Added KickNetworkClient to kick a network client off the network, only the host can do this
Strings
- Fixed ReplaceString cutting off the end of the string if the replace count limit is met
- Fixed a memory leak in CountStringTokens and GetStringToken
Ouya
- Fixed Ouya Tier 2 template failing to compile
Android
- Fixed Android GameCenter commands crashing if passed an empty string for the leaderboard name
- Exported Google Android apps should now be compatible with Android TV
- Fixed ViewFile and ShareImage failing after the first attempt in exported APKs
Virtual Buttons
- Fixed virtual button commands reporting the wrong button ID in error messages
Tier 2
- Fixed Android ShowCaptureScreen in Tier 2 causing an exception
- Removed old Visual Studio projects, AppGameKit now only supports VS2015
- Support for Visual Studio 2017 has been delayed, we’re awaiting a bug fix from Microsoft to continue support
- Added a 64-bit template project for Windows using VS2015
- Added a 64-bit version of the Windows interpreter to the Players folder, it will not be used automatically to maintain backwards compatibility
Plug-Ins
- Added support for 64-bit plugins in the 64-bit Windows interpreter, 32-bit plugins can only be used with the 32-bit interpreter
- Added Example Plugin source code to the installed files on Windows, Mac, and Linux
- Fixed a memory leak when calling plugin commands
Debugging
- Debugging from the AGK IDE will now attempt to use the loopback addres if no other IP addresses could be found
Linux
- Fixed DrawLine on Linux sometimes being off by one
- Fixed GetResumed and GetPaused not working on Linux
- Linux apps should no longer exit when a socket disconnects
