AppGameKit Classic: Easy Game Development - Lee Bamber [DEV]
Over ten years ago we created a programming tool called AppGameKit Classic to help make apps and games for Windows, Mac, iOS and Android - using a cross-platform easy-to-use language. Along the way, we have seen some amazing creations, including a few of our own that reached the No.1 spot on both Apple and Google stores. Our most recent success story has been the Driving Test Success 4in1 Theory Kit app, which has maintained the #1 place for six years running on both stores; a testament to the power of AppGameKit!
All good things however must come to an end and, after a decade of providing support and updates, we must retire AppGameKit Classic to make way for its successor AppGameKit Studio.
On Wednesday 22 May 2024 we'll be removing AppGameKit Classic from sale on Steam and focus all remaining development resources on supporting AppGameKit Studio, with quarterly updates and more frequent commits on the newly created GitHub repository here.
For those who are firmly of the belief that AppGameKit Classic is the ultimate solution for your needs, fear not, you will still be able to run the product, even though it will no longer receive updates or be sold on Steam. Your existing Steam version is not DRM-linked to your Steam account and you can run AppGameKit Classic from its local location in the Steam folder and from a Desktop icon, and you can continue to use the programming language to make apps and games. The only issue you will face is that as newer requirements are imposed by Apple and Google, and to a lesser extent Microsoft, you will find it increasingly difficult for the binaries you export to be accepted onto the app stores and marketplaces of the future.
If you choose to transition your projects over to AppGameKit Studio, and to recognise the support you have shown AppGameKit Classic over the years, we are offering a special discount via a Steam complete-the-bundle offer if you own Classic and want to buy Studio:
AppGameKit Studio retains the same great solution of Tier 1 (BASIC) and Tier 2 (C++) and powered by a new IDE, more features and a faster compiler, we have strengthened support for AppGameKit Studio by adding all the source code and build instructions to GitHub for those who wish to expand the language further, and we continue our pledge to support AppGameKit Studio with updates into the future.
Finally, a massive thank you to everyone who used AppGameKit Classic over the years, and we hope to greet you anew over in AppGameKit Studio land and continue to help you create cross-platform apps!
SetTextShaderConstantArrayByName( int iTextIndex, string szName, int arrayIndex, float value1, float value2, float value3, float value4 )
SetTextShaderConstantDefault( int iTextIndex, string szName )
Physics
Fixed SetPhysicsInitiallyAwake ignoring the provided value and always using true
In-App Purchases
Added new In-App Purchase commands to deal with subscriptions with multiple plans and offers
InAppPurchaseRedeemOffer()
GetAppReceipt()
InAppPurchaseActivateWithPlan( int iID, string planToken )
GetInAppPurchaseSubNumPlans( int iID )
GetInAppPurchaseSubPlanNumPeriods( int iID, int planIndex )
GetInAppPurchaseSubPlanPrice( int iID, int planIndex, int periodIndex )
GetInAppPurchaseSubPlanDuration( int iID, int planIndex, int periodIndex )
GetInAppPurchaseSubPlanDurationUnit( int iID, int planIndex, int periodIndex )
GetInAppPurchaseSubPlanPaymentType( int iID, int planIndex, int periodIndex )
GetInAppPurchaseSubPlanTags( int iID, int planIndex )
GetInAppPurchaseSubPlanToken( int iID, int planIndex )
iOS
Added GetAppReceipt() command on iOS to return the list of AppStore transactions
Android
Fixed APK export with deep links for Android 12
Updated Android target API to 31 (Android 12)
Added commands to return the size and position of any display cutouts on Android
Added support for both Adaptive and Legacy icons in APK export
Added command to request the app be pinned on Android
Removed deprecated expansion file commands on Android
Fixed Android sometimes returning device width and height as 1 at start before returning the correct values
Padded short sounds on Android to 400ms to avoid popping and distortion
Fixed APK export sometimes not finding java or jarsigner program
Fixed Android Keytool process sometimes not finding keytool program
IsPinAppAvailable()
PinApp( int enable )
Screen Area
Added commands to return the safe area that avoids all cutouts on iOS and Android
GetDisplayNumCutouts()
GetDisplayCutoutTop( int index )
GetDisplayCutoutBottom( int index )
GetDisplayCutoutLeft( int index )
GetDisplayCutoutRight( int index )
GetScreenBoundsSafeTop()
GetScreenBoundsSafeBottom()
GetScreenBoundsSafeLeft()
GetScreenBoundsSafeRight()
Social & Adverts
Updated to the latest Snapchat SDK
Updated to the latest Chartboost SDK
Light & Dark Modes
Added command to check if the device is in dark theme mode
IsDarkTheme()
Misc
Fixed command name for GetFractalXYZ
Updated Firebase SDK on iOS and Android
Fixed very long Print() string (100,000+ characters) causing a crash
Fixed SetWindowSize on Windows not allowing windows bigger than the screen when allowOversize parameter is set to 1
Tier 2
Added new common code folder for Android Tier 2 apps to simplify updates
Android Tier 2 projects have a new structure that shares common files and external libraries to make them easier to add, remove, and update
As usual Steam owners of AppGameKit Classic will have the update ready for them. TheGameCreators customers can download the new version direct from our servers from their order history area of the TheGameCreators website
GetFractalXYZ - Returns Fractal/Fractional Brownian Motion 3D noise values
Sprite Physics
The sprite physic commands have been expanded, providing extra control. You can now set properties such as the gravity scaling and whether a sprite can sleep or not, this lets you take control instead of AppGameKit making all the choices:
SetSpritePhysicsGravityScale - Gravity scaling
SetSpritePhysicsInitiallyAwake - Set if the sprite is initially awake or set
SetSpritePhysicsAllowSleep - Allows a sprite to sleep
GetSpritePhysicsGravityScale - Returns the gravity scaling value
GetSpritePhysicsInertia - Returns the current inertia value
GetSpritePhysicsIsBullet - Returns true if the sprite is set as a bullet
GetSpritePhysicsIsAwake - Returns true if the sprite is awake
Tweening
New tweening commands provide more information to you about the tweening system. For example, you now have the ability to discover the current time for a tween and its duration. You can also clear all tweens for a sprite, text etc. This resets the state of those tweens, allowing you to clear all tweens with one command prior to adding new tweens for your sprites:
ClearTweenSprite - Clears all tweens for the sprite
ClearTweenCustom - Clears all tweens for the custom tween
ClearTweenText - Clears all tweens for the text
ClearTweenChar - Clears all tweens for the char
ClearTweenObject - Clears all tweens for the object
GetTweenSpriteTime - Get the current time for a sprite
GetTweenSpriteEndTime - Get the end time for a sprite tween
GetTweenCustomTime - Get the current custom time
GetTweenCustomEndTime - Get the end time for a custom tween
GetTweenTextTime - Get the current text time
GetTweenTextEndTime - Get the end time for a text tween
GetTweenCharTime - Get the current char time
GetTweenCharEndTime - Get the end time for a char tween
GetTweenObjectTime - Get the current object time
GetTweenObjectEndTime - Get the end time for an object tween
Bug fixing
Fixed a crash when using the Spaces command when the length specified was negative
Just released! The complete collection of classic GameGuru and AppGameKit, bundled with an eye watering 36 (yes 36!) DLC packages, literally every single DLC ever produced for them!
This is undeniably the most comprehensive and definitive introduction to the exciting world of game design!
GameGuru Classic, the easy to use game-maker, provides the best solution for initial forays into game design with its intuitive drag and drop interface and over 6GB worth of media included as standard. Stacked alongside it are some of the best official GameGuru asset packs available, giving you no shortage of materials to indulge all your creative ideas.
Then there's the awesome power of AppGameKit Classic and Studio - take your games (or Apps!) to the next level and beyond! With its powerful scripting interface and cross-platform delivery system, there is literally no limit to the scope of projects you can create. Combined with BOTH Mega Asset packs there really has been no better time to get on board and indulge your creativity!
Welcome to the quarterly maintenance update for AppGameKit Classic which delivers these improvements:
Android
Apps will now use the full screen on Android devices that have pinhole cameras
If keytool generation fails add a file called "keytool.txt" into the Editor/data folder and specify the full path and executable name for the keytool program
iOS
Fixed a crash when exporting with adverts enabled on iOS
Linux
Fixed case sensitive issues with Tier 2 projects on Linux
Commands
New "GetErrorMode" command added
The ShowChooseImageScreen could cause your app to lockup on iOS if you didn't press the cancel button or pick an image. This is now fixed
Calling all game-makers! AppGameKit users can enter this great competition, being run on the forum, to create a game that includes the basic elements of the Tower Defence subgenre. The competition is being run by AppGameKit mods and legends - BlinkOk, Scraggle and Virtual Nomad.
The submission must be a NEW creation made with either AppGameKit Classic or AppGameKit Studio, or Tier 2 and AGKSharp as long as it uses the AppGameKit API for the bulk of the game.
The game is anything you want it to be, free your imagination! But the basic elements of the Tower Defence subgenre must be distinguishable 😉 This is a true Community Competition and ALL levels of experience with AppGameKit are very welcome!
To enter you must be a registered user of TheGameCreators Forum and the deadline for submissions is 30th January @ 11:59PM UTC.
Prizes totalling over $1000 have been donated by: • Tower Defense • TheGameCreators • GameDeveloperStudio • Digital Skills • Craft Pix • BlinkOk, Scraggle and Virtual Nomad