Difference between revisions of "Roadmap"

From Sirikata Wiki
Jump to navigation Jump to search
(Started Version 0.02)
Line 4: Line 4:
  
 
==Version 0.02==
 
==Version 0.02==
 +
 +
*Anticipated release date:
  
 
Art team:
 
Art team:

Revision as of 00:12, 25 July 2009

This is very incomplete at current but should give you a sense of ongoing work

We are working to get a compiled version of Sirikata made available for 7/22/09

Version 0.02

  • Anticipated release date:

Art team:

  • Content creation documentation completed and published on the wiki

Version 0.01

  • Anticipated release date: 7/22/09

General:

  • save scene
  • Tested and distributable on Windows
    • Include a readme that states requirements for successful install (installed programs etc.)
  • Produce Screenshots
  • Determine which features from our design sketches and ideas are most likely doable for our current deadline
  • Rank features weighted by what's easiest and which are most important to needs of the Augmented Museum

Objects:

  • import
  • drag/drop on Windows
  • key/text input on other platforms
  • local upload
  • placement and scaling w mouse
  • orientation
  • delete
  • decent lights in scene.txt
  • object properties (for now, physics properties: collision, dynamics, hull type)

Scenes:

  • Scene.csv format (Dan Miller)
    • Convert from scene.txt

Features for a later deadline

  • Undo/Redo
  • Tweak performance

Objects

  • Object Placement, Orientation and Scaling
    • text tweaking (scene.txt - key to reload scene file)[dbm: all that is left to do is reload scene.csv]
    • Gizmo
  • improve object selection
  • Add grouping
  • Hide/Unhide
  • Shift Cons? (not sure what this is)
  • Object persistance

Import/Export:

  • CDN Upload
    • Download small mipmaps
    • Mesh LODs
  • Name Cache Export

MiTo Specific Object requests:

  • Looped animation of translation
  • rotating infinitely in a single direction
  • rotate 1 direction then return to origin loop repetition infinitely (like a hammer swing)
  • Scatter
  • select a series of objects and have them scatter from a central axis/point (explode effect)
  • Cell or Bounding Box of a mesh coordinates and player coordinates sent out to OSC

Lights

  • Bulb Mesh
  • placement
    • Gizmo
  • direction (kind of like rotation, but it would be much more intuitive to have them 'point' at a 3D location, perhaps using a selected object?
  • attributes (directional, specular, ambient?? whatever)
  • Light trigger (off/on)

Scenes

  • Reload scenes
  • Open new scene (without restarting)

Scripting

  • Low level scripting language implementation
  • High level scripting language implementation
  • Trigger Actions
    • Expose Attachments
    • Control lights
    • Trigger Events/Physics
    • Trigger UI
    • Change materials
  • Scripting client UI elements

UI

  • UI Javascript hooks
  • UI for:
    • light interface
    • objects

Embedded Browser

  • Browser controls objects
  • Keyboard input
  • Window Management Browser
  • Resize windows
  • Crosspatform Flash
  • UI
    • Browser bar
    • Tab/Window Management

Physics

  • Place objects on walls (physical sampling)
  • Gravity Gun
  • Collision detection
    • Deliver physics events to scripts
      • Event queue dispatch handling
        • Deliver proximity events

Networking

  • CDN System
  • World hopping/teleporting
  • Multiuser
  • Communication limiting under load
  • Scalable introduction
  • Persistence service
  • Rebaancing Cseq
  • Osey?? (spelled right?)


Misc

things I wasn't sure where to put

  • Select objects to pull up information about them
  • Default script/Basic Object properties
  • Context position of objects
  • Dynamic code loading
  • Shift Cons? (not sure what this is)

physics features

collision callbacks

[per IRC discussion 7/17/09, dbm, drh]

  • object names (new property)
  • object collision mask (used to group collisions)
  • (new!) object 'interest' mask -- tell if an object wants to receive collision messages
  • use SpaceServiceObjectID in ObjectReference.hpp
  • for now, properties specified in scene.csv -- may change later (as persistence comes online)
  • keep track of collision pairs
  • any time the situation changes, send a message
  • example: "obj1 --> obj2: start collision"; "obj3 --> obj4: end collision"