Commitment to Open Source — Game Closure
Last week, we at HashCube moved all our internal GameClosure repos to github. Also, we started doing all development related to GameClosure, which can be useful for others, in github.
Along with this, we are open sourcing all the devkit modules we created internally for our games. this includes several ad networks, analytics sdks and amazon appstore support.
This is not a replacement or fork of GameClosure. We had to keep our own repo and maintain it internally when GameClosure development slowed down and our pull requests were stuck in review.
Repos and their changes/improvements on top of GameClosure
- Devkit — https://github.com/hashcube/devkit
- Initializes a game with our copy of devkit-core
- `devkit modules` gives correct version of the active modules in a game.
2. jsio — https://github.com/hashcube/js.io
- Upgraded to latest underscore.js
- Ability to chain event listeners.
3. Devkit-core — https://github.com/hashcube/devkit-core/
- Nothing important, mostly pointing to our copies of native modules.
4. Native-android — https://github.com/hashcube/native-android/
- Android 6.0 support — target SDK to 23
- Removed unnecessary permissions — Contacts, Phone, Storage
- Better memory management for low end devices
- OpenSSL upgrade
- Ability to copy assets to build (needed for amazon GameCircle)
5. Native-ios — https://github.com/hashcube/native-ios
- 3D touch support (quick and hacky implementation. You need to use our utils module for full support)
- Copy resource and bundles to the build
6. Native-core — https://github.com/hashcube/native-core/
- Temporary fix for flickering issue
- Better half sizing in android
7. Timestep — https://github.com/hashcube/timestep
- Fix for default value in InputDialog box
- Bug fixes for ScrollView
- New StackView event for stack change — ‘StackChanged’
- Fix memory leak in remove from superview
- Helper functions for ViewPool — onObtain, onRelease
- Fix for TextView stroke and shadow
- Fix ButtonView event trigger
8. Adventuremap — https://github.com/hashcube/adventuremap.git
- A lot of performance optimizations!
- Smooth infinite scrolling maps
- All the changes requires it’s own post.
9. DevkitHelper — https://github.com/hashcube/DevkitHelper
- Some of the modules that we use internally across all our games
- Ad-manager — to manage ads from multiple networks
- Audio — Helper function on top of AudioManager for ease of use
- Country — To get country of the user without asking for location permission
- Error Handler — Send javascript errors to server for record production bugs
- Event manager — Helper function to handle multiple analytic services
- History — Handle back button in Android with ease
- i18n — Localize text based on user’s device language
- Model — Model written with GameClosure in mind. Useful to separate logic from view related code.
- Storage — To handle localstorage writes and reads with ease. Also has support functions
- Style — move out UI style configurations to a json.
- Timer — Helper function to handle timeouts and intervals
- Tutorial — Easy way to handle user on boarding without adding logic to your core game code.
10. Appsflyer — https://github.com/hashcube/appsflyer.git
- Mobile marketing analytics and attribution platform,
11. Amazon Ads — https://github.com/hashcube/amazonads
- For Kindle devices
12. Admob — https://github.com/hashcube/admob
- Advertisement platform
13. Applovin — https://github.com/hashcube/applovin
- Marketing automation and analytics
14. billing — https://github.com/hashcube/billing.git
- Support for Android 6.0
- Client side purchase verification.
- Amazon billing support in amazon branch
15. Charboost — https://github.com/hashcube/chartboost.git
- Cross promotion and app analytics
16. Facebook — https://github.com/hashcube/facebook.git
- v2.3 SDK
17. Flurry — https://github.com/hashcube/flurry.git
- Ads and analytics
18. GameAnalytics — https://github.com/hashcube/gameanalytics.git
- Analytics platform
19. GamePlay — https://github.com/hashcube/gameplay.git
- GooglePlay games support library
- Supports Achievements and Leaderboard in Android
20. GameCenter — https://github.com/hashcube/gamecenter
- iOS gamecenter support
21. GameCircle — https://github.com/hashcube/gamecircle
- Amazon game circle support
22. Gamethrive (OneSignal) — https://github.com/hashcube/gamethrive
- Push notification platform
23. Localnotify — https://github.com/hashcube/localnotify
- Expanded notifications
- Support for custom notification icon, rather than using the default app icon, so that we can add white icons in android to follow Google guidelines.
24. Mobihelp — https://github.com/hashcube/mobihelp
- Online help desk to get feedback directly from users
- It also supports FAQ
25. Supersonic — https://github.com/hashcube/supersonic
- Advertising platform, supports several ad networks
26. Utils — https://github.com/hashcube/utils
- Native share for iOS and Android
- Get advertising ID
- 3D Touch support
How to move
1. Change devkit-core to ours from dependencies section of your manifest file.
2. Delete the cache folder in which devkit keeps git repos,
~/.config/devkit/cache in GNU/Linux and ~/Library/Application
Support/devkit/cache in OS X. This is important, otherwise next step
will fail.
3. run devkit install
4. Done!