Sending this conversation to list, background from #omegaverse on
IRC [1]:
(11:25:03 AM) Nico95: hi Mo!
(11:30:11 AM) Nico95: oh I
love how omega runs much smoother now
(11:33:20 AM) Nico95: Movement
seems broken thoguh
(11:33:26 AM) Nico95: *though
(11:35:55 AM) Nico95: Ping me when
you're back OK ;)
Sorry missed the ping, was out at Aikido, no practice like Saturday
morning practice!
The reason why things are smoother is I shortend the effects player
loop interval [2]
Thus more animations are run per second and things looks smoother.
Obviously the trade off is a higher strain on your computer's
resources, need something w/ a better gfx card myself!
Note we're most likely going to want to change this at some point,
eg this wont' suffice during stretches of massive battles and such
when the scene will have to continuously animated. But should work
for now until we (or someone else) decides to improve.
On the same note I feel the location runner in motel and the command
runner in the central Omega module can be looked at. I'm not fully
sure (and could be completely wrong) but modifying them to use the
central eventmachine [3] reactor might significantly improve
performance. Not that it's bad now, but the more that it's improved
means the more systems and galaxies we can squeeze in per node.
Essentially right now these mechanisms work through customizable
operation loops that will be iterated over at intervals determined
by the entities at hand, eg the next invocation of the movement loop
will depend on which location is due to move next. Eventmachine is
perfect for this sort of thing and since we're using it for RJR [4]
anyways it might be a natural fit.
*phew*...went on a bit of a tangent but it's good to get this stuff
down. Even though there is alot there the framework should be solid
and we can slowely improve on bits as we go along. Every major open
source project from Linux to Qt has worked like this and hopefully
improving small little aspects in different components will attact a
variety of devs.
In any getting back to $topic, I'm curious as to what is b0rked w/
movement, seems to work locally (recorded this video [5] from the
latest repo HEAD). We can debug here or on irc.
Take care,
-Mo
[1]
http://webchat.freenode.net/?channels=omegaverse
[2]
https://github.com/movitto/omega/commit/49e2332d368d14185957fe337ae233f6508c2e8d#diff-1
[3]
http://rubyeventmachine.com/
[4]
https://github.com/movitto/rjr
[5]
https://www.youtube.com/watch?v=hKGr6idoLx4