So we've been looking heavily into using Haxe for some upcoming game projects, and we've invested a lot of time into researching whether or not it is a viable solution at this point (with Unity & Unreal both "freely" available now, as well as several other lesser known cross-platform game engines). We got together and came up with the following list of game requirements that we feel are essential to developing our future games. This list is probably relevant to most game developers out there, so I figured I'd share it with you and ask for your feedback on this. If you have any experience that you'd like to share with any of the libraries below, or you have suggestions for other libraries that we might have missed your input would be greatly appreciated. While I know that many developers feel that recommending one persons code over another may not be appropriate, I feel that not being able to find these libraries at all is detrimental to the future of Haxe in general, and that's probably a bad thing... We're primarily targeting iOS, Android, Windows & Web (either HTML5 or Flash). Mac & Linux are less of a priority, but a "would be nice" feature. Who knows - there might already be a "Haxe Game Engine" that supports 99% of what we are trying to do which would certainly make things alot easier! :) FUNCTIONALITY NEEDED ==================== MOBILE iOS - GameCenter Integration Android - GooglePlay Integration Generic (All Mobile Platforms) - Ad-Network Integration (AdMob, ChartBoost, Flurry, Etc) - Touch Gestures (Shoebox Hypertouch?) - Device/Hardware - Unique Device ID - GPS/Location - Tilt - Accelerometer - Camera DESKTOP Windows - Nothing specific Web (HTML5 or Flash) - Flash Obfuscator - Kindi SecureSWF? - HTML5 Obfuscator - Achievement/Leaderboard support from WHERE? (Playtomic? Custom?) Generic (All Desktop Platforms) - STEAM Integration (SteamWrap? Last update 2+ years ago. Not for Linux) Mac (Low Priority) - Nothing specific Linux (Low Priority) - Nothing specific GENERAL (ALL PLATFORMS) - Friend Share for Scores, Achievements, etc. (OpenFL Extension-Share?) - Facebook Integration (HypFacebook? Last updated 3+ years ago.) - TCP/Socket Library (OpenFL.net.Socket seems to be working so far, but could use some abstraction?) - UI (No XML config files, 100% code, no extra crap to get in the way.) -- StableXUI? - Localization System (found bits & pieces, but not a complete solution) - Particle System (Zame-haxe-particles?) - 2D Graphics (OpenFL? Luxe?) - 2D Physics (Box2D? Nape?) - 3D Graphics (Away3D?) - 3D Physics (Bullet Physics? Away Physics? OimoPhysics?) - Analytics (Google Analytics or GameAnalytics, or both? other?) - In-App Purchase (GameCenter for iOS, GooglePlay for Android, STEAM/??? for Desktop/Web) - Leaderboards (GameCenter for iOS, GooglePlay for Android, STEAM/??? for Desktop/Web) - Achievements (GameCenter for iOS, GooglePlay for Android, STEAM/??? for Desktop/Web) - Local Game Data Storage (SharedObjects seems to work well so far) - Testing framework (some way of easily & automatically testing various classes) - Documentation (some way of auto-generating documentation based on code comments?) NOTES: * It would be NICE to have a single API for accessing the following: - Ad Networks (Sempai MultiAds but only has AdMob support?) SamCodes Admob & Chartboost look good, but 2 separate API's. - Leaderboards (Sempai MultiGames?) - Achievements (Sempai MultiGames?) * We really need libraries that are being maintained. I've noticed alot of the libraries on HaxeLib seem to have not been updated for years now.. * Cross-platform API's are preferred (We don't want "a" for physics on Android and "b" for physics on iOS when it can be helped).
iOS GameCenter Integration - https://github.com/openfl/extension-gamecenter
Android GooglePlay Integration - for IAP - https://github.com/openfl/extension-iap , but I don’t know library for Google Play Games
Ad-Network Integration - AdMob - https://github.com/openfl/extension-admob
Device/Hardware - probably many of these things already in OpenFL or Snow / Luxe. There is Capabilities class in OpenFL, probably you can get something from it