|
|
| Line 1: |
Line 1: |
| ==Milestone 1: Pick a product and do intial port to desktop==
| |
|
| |
|
| * '''Scope/Deliverables'''
| |
| ** Regular nightly build of prototype, minimum weekly release
| |
| ** Final deliverable of 3 levels that work on desktop
| |
| ** List of issues that are risks for next steps
| |
| ** Draft proposal for asm.js integration that lists out missing features and strategy
| |
|
| |
| * '''Resources'''
| |
| ** Kevin Gadd
| |
| ** Luke Wagner (asm.js)
| |
|
| |
| * '''Tasks'''
| |
| ** Identify a product to port.
| |
| ** Get any legal requirements done to get access to source.
| |
| ** Attempt to port using existing JSIL.
| |
| ** Iterate until port reach final deliverable requirement.
| |
|
| |
| * '''Risks'''
| |
| ** Finding a solid a product that is good enough.
| |
| *** Mitigation: Already have some leads, we will not start work on the project until a product is identified.
| |
| ** There maybe a large addition required to JSIL that may expand the scope.
| |
| *** Mitigation: We will determine scope once the product is identified.
| |
| ** Games may depend on shared-state multithreading
| |
| *** Mitigation: May be possible to remove this dependency; if not, we won't port them
| |
|
| |
| ==Milestone 2: Get it working on mobile==
| |
|
| |
| * '''Scope/Deliverables'''
| |
| ** Nightly/weekly builds deployed on web that are playable on Firefox OS / Firefox for Android
| |
| ** Must run on WebGL
| |
| ** List of issues that prevent use on lower-spec mobile
| |
| ** List of performance obstacles for later milestones
| |
| * '''Resources'''
| |
| ** Kevin Gadd
| |
| * '''Risks'''
| |
| ** A full WebGL backend is basically required
| |
| *** Mitigation: we will either use what MonoGame has or build this from scratch.
| |
|
| |
| ==Milestone 3: Full integration with WebAPIs==
| |
| * '''Scope/Deliverables'''
| |
| ** Marketplace integration
| |
| ** Cloud saves/authentication/sync between devices?
| |
| ** Alternate input methods (gamepad, etc)
| |
| ** More deliverables depending on product
| |
| *** We will determine once product is identified
| |
| ** Identify obstacles to running on mobile and non-FF browsers to feed into m4 and m5
| |
| * '''Risk'''
| |
| ** Filesystem IO is often sync and we will likely have to rewrite this to be async.
| |
| *** Mitigation: rewrite it
| |
|
| |
| ==Milestone 4: asm.js==
| |
| * '''Scope/Deliverables'''
| |
| ** ASM.js compiler backend for JSIL
| |
| ** ASM.js compatible JSIL runtime components
| |
| ** List of non-critical missing ASM.js features/integrations
| |
| ** Documented set of constraints that prevent use of ASM.js in JSIL
| |
| * '''Resources'''
| |
| ** Kevin Gadd
| |
| ** Luke Wagner (asm.js)
| |
| * '''Risks'''
| |
| ** Heavily depends on as-yet-unspecified future version of asm.js
| |
| ** Portions of .NET feature set may not be expressible
| |
|
| |
| ==Milestone 5: Make it work everywhere==
| |
| * '''Scope/Deliverables'''
| |
| ** 60fps (30fps?) solid on all target devices (mobile and desktop)
| |
| ** Address obstacles from M3 where possible
| |
| ** Compatibility and feature detection (graceful degradation instead of crashes)
| |
| ** Port tested and known playable on target mid and high spec devices
| |
| ** Finished collection of documentation and blog posts
| |
| * '''Resources'''
| |
| ** Kevin Gadd
| |