CodingProjects

From Sirikata Wiki
Revision as of 22:41, 14 April 2009 by Danielrh (talk | contribs) (New page: Integrate current CDN (folder libcore/src/transfer) with S3 storage service '''Database backend''': writing a standalone database that respects the interface we have designed (or options...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Integrate current CDN (folder libcore/src/transfer) with S3 storage service

Database backend:

writing a standalone database that respects the interface we have designed (or options to change the interface if something could be improved) Integrating database with libcore/src/transfer system

Proximity management:

Ask us to give you the interface and example code for proximity management and the current n^2 code. Make it more efficient by distributing it across computers and/or making it efficient with better single-computer algorithms

Location subscription services:

Once two objects are proximate, the moving object may want to broadcast its updates---so a simple server to connect providers up with listeners is needed

Object Placement:

The object placement system is a great place to get started with the graphics engine. The best place to start is simple camera and mouse motion control using the mouse input device. Keep in mind multiselect and have lists of selected items rather than a pointer to one.

The place to start is to make a native C++ SelectionManager class in the liboh/plugins/ogre folder that deals with tracking the active set of selected ProxyObjects. Then a number of controllers can handle what do with mouse events (clicking, dragging, moving) would be ideal..and then they would in turn tell the ProxyObjects what to do. So I believe the way this would work is you'd query the Ogre SceneManager for intersections, that would give you back the ogre objects named by the Graphics::Entity's UUIDs (a bunch of ProxyListeners mapped in the OgreSystem)--and that then has a shared_ptr back to the ProxyObject which you could tell how to move... then once it has moved, it will update all of its listeners in the graphics (and eventually physics) systems---as well as update the serverside object.