Page 1 of 1

Scripting high-level functionality with smooth paths

Posted: 12.05.2007, 08:46
by Bodin
Hi,
I've spent some 8-10 hours trying to do smooth fly paths with celx and I find it to be extremely complicated, and improductive. There is little help from the functions provided in the Lua interface itself, as well as from the community.

I would think that one of the most common expectations from users of Celestia is to be able to create really smooth space flights based on high-level intentional scripting, both as live commands (e.g. on a remote control terminal) and also as prescripted .celx/.cel files.

For example, I want to start at e.g. point X, fly to Earth, fly-by Earth, smoothly go into orbit and rotate a few turns, smoothly fly off and away to the Sun, and do the same thing around the Sun and then smoothly connect to X again and repeat the loop (generically working for different times of year etc).

Right now it is impossible to get smooth transitions using the plain c++toLua mapping of functions. There is a complete loss of velocity between commands and an annoying stop.

There are various community scripts to fix this, e.g. Autopilot, but it only allows visiting a single object, and in addition the design is wrong since it, instead of using continuous waypoints, is using a start/end paradigm, which is smooth, but the following end/start transition is hard to get smooth.

I'm willing to take on development of these things, but right now I'm about to first screw up a deadline, so I will do something terribly quick and dirty that doesn't show Celestia from its best side...

Suggestions on how smooth high-level designed paths should be available for production programming by non-expert programmers are highly appreciated.

I suppose this is best implemented as Lua libraries/functions, but I would actually also like to see this functionality easily available in .cel files, so eventually I think it should be done in C++.