Skip to content

Releases: play-co/devkit-core

Version 4.0.0

15 Oct 04:39
@mgh mgh
Compare
Choose a tag to compare

Change Log

This version overhauls the devkit-core build system to use node-js streams. It also replaces the java spriter with a pure-js implementation.

All Builds

  • spriter uses a pure-js implementation (https://github.com/gameclosure/devkit-spriter)
  • --sprite-images/--no-sprite-images enable or disable spriting (requires latest devkit cli)
  • simulator builds default to no spritesheets
  • image compression provided by imagemin in release builds
    • --[no]-compress toggles compression of both js and image compression
    • --[no]-compress-images toggles compression of image compression
  • spriting and image compression now use extra cpu cores (if available)
  • builds preserve modified timestamps of copied files
  • cache directories are now in build/cache rather than in the output directory to make it easier to use the output directory without cleaning it first

Browser Builds

  • --application-cache: html5 application cache disabled by default, use this flag to enable
  • --no-web-app-manifest: html5 web app manifest enabled by default, use this flag to disable
  • spritesheets no longer forced to power-of-two sizes

Android Builds

  • --install and --open now operate on all connected android devices
  • --min-sdk-version VERSION and --target-sdk-version VERSION let you increase the min/target sdk versions from the default that devkit uses

Module Authors

Modules may modify the build process and create new build targets.

  • bootstrap code updated for browser builds
    • new GC_LOADER object controls the loading of the page with a pipeline of functions that execute before the main script payload executes
    • modules can insert code using config.browser.footerHTML to block the load of the page using GC_LOADER.addStep(name, cb) or modify the GC_LOADER.pipeline directly. cb functions may return a Promise to block the call of the next item in the pipeline.
  • new streaming api is documented here 81795ab

Release v3.1.0

10 Oct 05:17
Compare
Choose a tag to compare
  • WebGL support is now available in desktop and mobile browser builds. To enable it, update your manifest.json with:
  "browser": {
    "canvas": {
      "useWebGL": true
    }
  },
  • Filtered images on browser canvas are now cached for better performance
  • ui.resource.loader now has a progress property for preloading progress updates
  • Preloading audio is now supported in browser, by providing an array of individual mp3 urls to the preloader
    • Preloading sounds by directory to be supported in a future release
  • Rendering logic has been overhauled, using matrix transform objects for optimization
  • Splash screens now show properly in the browser during game load
  • Hyphenated font names now load correctly in browser

Windows fixes

24 Aug 15:46
@mgh mgh
Compare
Choose a tag to compare

Fixes windows path issues in the jsio module.

Fixes native-ios garbage collection crash

01 Aug 02:17
Compare
Choose a tag to compare

This patch fixes a crash in native-ios that was caused by garbage collecting views with animators. This was already being handled in native-android properly.

Animate Refactor and Fixes

31 Jul 04:01
Compare
Choose a tag to compare

This release improves timestep's animate by adding functionality and fixing small behavior differences between animate in the browser and the accelerated animate implementation in native. It also includes changes from v3.0.0-rc1 tag. See release notes from v3.0.0-rc1 for the rest of the updates.

Major changes

  • The Animator class returned by the animate API is now created once per subject and groupID pair.
  • Animators are now cached on the subject, in an __anims object, so that they only get garbage collected when the subject is garbage collected
  • The Group class returned by the animate.getGroup API has new functionality
    • pause, resume, clear, and commit functions now exist on groups of animators
  • Also exposed subject-specific and global functions for pause, resume, clear, and commit
    • animate.pauseAllAnimations
    • animate.resumeAllAnimations
    • animate.clearAllAnimations
    • animate.commitAllAnimations
    • animate.pauseSubjectAnimations
    • animate.resumeSubjectAnimations
    • animate.clearSubjectAnimations
    • animate.commitSubjectAnimations
  • Fixed a bug with commit that allowed multiple instance of Animator to fight for precedence, on native builds only
  • Fixed a bug with then that wasn't properly setting elapsed to 0 on native builds only; the behavior now matches the browser JavaScript
  • Fixed a bug where instances of Animator only inherited Emitter (PubSub) functionality in browser; they now always also work as event emitters in native
  • commit now also calls resume on paused animations so that they finish instantly

Breaking changes

  • The Group class returned by animate.getGroup no longer has a get function; it was redundant, since it returned the same thing as animate(subject, groupID)
  • Group's add function behavior changed, and should still be used primarily internally by the Animator class

v3.0.0-rc1

27 May 03:34
@mgh mgh
Compare
Choose a tag to compare

Release Candidate 1 for devkit-core v3.0.0.

This release improves the build process and debugging APIs for devkit games. Specifically:

  • build code migrated from ff to bluebird Promises + vinyl-fs for better error handling and parallelization
  • adds support for ES6 Promise in the browser and native with bluebird
  • adds basic support for app manifests in mobile browser builds (https://developer.mozilla.org/en-US/Apps/Build/Manifest)
  • adds basic support for caching through html5 service workers, improving offline functionality in browser-based games
  • adds devkit.photos API for retrieving photos from the user's camera or gallery on native or in a browser (desktop browsers fall back to image file upload)
  • introduces a Channel API for communicating with a simulated game from inside a devkit extension
  • fixes various game startup and loading bugs

Recommended changes

  • Upgrade devkit to v3.0.0
  • Rename addons key in manifest.json to modules - either is allowed, but modules is preferred

Breaking changes

These changes should not affect most users, unless you have custom devkit modules that integrate deeply with the previous devkit build phase.

  • CONFIG.addons renamed to CONFIG.modules
  • module resources path renamed from addons/[module-name]/ to modules/[module-name]/
  • removed devkit.debugging.conn in favor of import devkit.debugging; devkit.debugging.getChannel(channelName : string)

Additional Module Build Options

08 Apr 01:30
Compare
Choose a tag to compare

Android

  • Restore copyGameFiles functionality for module builds
  • Allow module library includes in nested directories

iOS

  • Add additionalLinkerFlags opts to module builds

v2.3.4: Native Android Fullscreen

31 Mar 23:18
Compare
Choose a tag to compare

Native Android now supports Google's recommended behavior for games, full screen "sticky" immersive mode, by default.

Fix plugin response parsing, stop asking for notification permissions

28 Mar 01:19
Compare
Choose a tag to compare
  • Removes the automatic asking for notification permissions at startup (which was incorrect for ios 8+). Now permission should be requested when desired, using the correct api for the current ios version. This has been updated in the latest version of the localNotify plugin.
  • Fixes a crash parsing JSON from plugin events

Remove live-edit cdn check

27 Mar 23:35
@mgh mgh
Compare
Choose a tag to compare
v2.3.2

partial revert of c60199792f83166834ea8321c05dd44b7185b3b6 for launch…