AppGameKit Version 2018.04.12 für Linux veröffentlicht

AGK Header
AppGameKit Version 2018.04.12 AR

Die neue Version 2018.04.12 von AppGameKit (auch bekannt als AGK2) bringt erneut neue Features und Verbesserungen mit sich.

Diesmal wurde der Fokus auf die Implementierung von Augmented Reality (ARCore für Android und ARKit für iOS) in die Engine gelegt.

Das Changelog zur aktuellen Version:

AppGameKit 2018.04.12

Today brings a huge update to AppGameKit! We have cool new commands that let you control the hot new technology of Augmented Reality on both the iOS (ARKit) and Android (ARCore) platforms. With these new commands and values we've stripped down the complexity, providing an easy way for you to access AR features from your own code.

The new AR Demo shows how you can easily merge reality with your 3D digital content!

This new version adds new cloud saving commands for iCloud on iOS and Google Drive on Android and there's also a host of fixes and additions in many areas of the command set.

Here's a full run down of all the new features and fixes:

Here's the full Augmented Reality Command List and Values:
void ARSetup()
int ARGetStatus()
void ARUpdateInternal()
void ARPause()
void ARResume()
void ARDestroy()
void ARControlCamera()
void ARDrawBackground()
void ARSetPlaneDetectionMode( int mode )
void ARSetLightEstimationMode( int mode )
float ARGetLightEstimate()
int ARHitTest( float screenX, float screenY )
float ARGetHitTestX( int index )
float ARGetHitTestY( int index )
float ARGetHitTestZ( int index )
float ARGetHitTestNormalX( int index )
float ARGetHitTestNormalY( int index )
float ARGetHitTestNormalZ( int index )
int ARGetHitTestType( int index )
void ARHitTestFinish()
int ARGetPlanes( int reserved )
float ARGetPlaneX( int index )
float ARGetPlaneY( int index )
float ARGetPlaneZ( int index )
float ARGetPlaneAngleX( int index )
float ARGetPlaneAngleY( int index )
float ARGetPlaneAngleZ( int index )
float ARGetPlaneSizeX( int index )
float ARGetPlaneSizeZ( int index )
void ARGetPlanesFinish()
int ARCreateAnchorFromHitTest( int index )
int ARCreateAnchorFromPlane( int index )
void ARFixObjectToAnchor( int objID, int anchorID )
int ARGetAnchorStatus( int anchorID )
void ARDeleteAnchor( int anchorID )

Find out more about ARCore and which devices are compatible for Android HERE

Learn more about ARKit from Apple HERE.[developer.apple.com]

iOS

Changed iOS to use an OpenGL ES 3.0 context to support the larger shaders that AppGameKit generates when using multiple features like normal mapping with cascade shadow mapping

Android

Minimum supported version of Android is now 4.0.3 (API 15)
Updated Google Play Services to version 11.8.0 on Android
Added commands to check and request permissions for certain Android features, such as camera access, sdcard read/write access, and GPS location tracking
You must start using the new permission commands in your apps, even though they currently auto granted at startup, as a future version of AGK will switch to auto deny, as required by Google
Fixed FacebookActivateAppTracking causing a crash on Android
Fixed Android orientation changes sometimes causing the AGK render area to be offset from the visible display area
Fixed physical keyboards on Android causing edit boxes to not accept any characters if the backspace key was pressed too many times
Added 64-bit version of Android for better performance on 64-bit devices
Fixed GameCenter commands causing a crash on some Android devices

Cloud Data

Added Cloud Data commands to save and load variables to iCloud Drive on iOS and Google Drive on Android which will sync across all devices on the same platform with the app installed
SetupCloudData( string reserved )
integer GetCloudDataAllowed()
integer GetCloudDataChanged()
string GetCloudDataVariable( string varName, string defaultValue )
SetCloudDataVariable( string varName, string varValue )
DeleteCloudDataVariable( string varName )

3D

Fixed LoadObject causing a crash with some FBX models, there may be further incompatibilities with newer FBX format specs
Added SetShadowCascadeValues command to set the size of each cascade level manually
Added DeleteObjectTree command to delete an object plus all attached objects
Fixed CreateMemblockFromObjectMesh incorrectly increasing string padding when called on an object created with CreateObjectFromMeshMemblock
Fixed SetSpriteAnimation causing a crash if called with a greater number of frames than the previous call
Fixed SetObjectMeshFromMemblock crashing if the memblock contains more than 65536 vertices

Video & Camera Fixes

Added double buffering to PlayVideoToImage on iOS to avoid flickering on some devices
Added double buffering to SetDeviceCameraToImage on iOS to avoid flickering on some devices

Tweening

Fixed GetTweenPlaying commands crashing if a tween chain exists without being played

Text & Fonts

Added GetTextAlignment to return the current alignment mode of the text
Added DrawText command to draw text immediately to the screen
Fixed LoadFont failing to load from the system fonts folder when SetErrorMode is set to 2

JSON

Fixed JSON conversions being inaccurate with integers over 16 million due to floating point assumptions
AppGameKit Type variables that begin with an underscore "_" will now match with JSON fields that don't have the underscore, for example an AppGameKit variable named "_type" will match a JSON field named "type", this allows JSON files to have keywords that can't be used as variable names in AppGameKit

Tier2

Updated Android Tier 2 libraries and projects to use libc++_static instead of stlport_static

System Commands

Added GetDeviceNetworkType command to check the current network type (mobile or Wifi) or iOS and Android
Added GetStorageRemaining commands to get the current free space and total storage space on iOS and Android
Fixed written files sometimes being invisible to external PCs connected via USB
Fixed Android videos being replaced with a black texture after resuming the app on some devices

Firebase

Updated Firebase to version 4.5.0 on Android
Updated Firebase to version 4.11.0 on iOS
Disabled Firebase functionality on Amazon apps due to a crash when it checks for Google Play Services

For all existing users the AppGameKit V2018.04.12 update is now live on Steam.

Thank you for your patience - we've worked long and hard to bring you this new version. Please feedback any issues into the main AppGameKit forum.

AGK2 ist eine Multi-Plattform 2D/3D Spiele-Engine und Entwicklungsumgebung für Linux, MacOS und Windows.
Programme und Spiele können in einem BASIC-ähnlichem Dialekt oder in C++ entwickelt werden und laufen danach unter Linux, Windows, MacOS, Android, iOS und HTML5.

Weitere Informationen zu AGK2:

Homepage von AGK2
AGK2 auf Steam
Tutorial Playlist auf YouTube