mixer / cdk

:fire: SDK for developing with Mixer Interactive
https://dev.mixer.com/guides/mixplay/customcontrols/introduction
MIT License
36 stars 10 forks source link

Make it easier to create updates to MixPlay projects #126

Open gostay opened 6 years ago

gostay commented 6 years ago

I believe the expected path for developing an update to an existing live Interactive Project is to create a new Interactive Project and have the new version of the Game Client refer to that new project's id. This is so that we don't break an existing live interactive experience, right? This could be for something big like a new feature, or for something small but important like a bug fix that changes the protocol between GC and bundle.

It's a little difficult right now. I have to start a new project from scratch, which initially has the wrong control schema.

Request 1 : let me make a new mixplay project using another existing project as a starting point.

My solution now is to create the project, let it have the wrong controls, copy over the other meta-data by hand (images, descriptions, settings, etc...), unlink/relink to the new project in the CDK, and upload my correct control schema from the CDK. That's a bit heavy if all I'm doing is a 1.01 update, yet still need to not break old versions.

Request 2: somehow make the CDK aware that a given project (e.g. defined by a package.json file) is being used to develop different versions of the same project, and let me more easily "bump the version" for new features (or target back to an old version for bug fixes) through the CDK UI and have everything shifted to the correct version for me automatically.

dori4n commented 6 years ago

Interactive projects have versions. Versioning a project requires publishing it from the Dev Lab (and Mixer to approve it, which is a bit unfortunate). Published versions of a project will not break applications that are using it, as new versions will get a new version ID (the number shown on the Code page in the Dev Lab) and share code.

gostay commented 6 years ago

Thanks. That's helpful. I've done a handful of projects now but never published one. :)

So, I think my request#1 is still useful. I'd like to be able to create a new project using an existing one as a starting point. before publishing, we sometimes have several versions of the same experience in development, e.g. as multiple people develop and playtest.