Python in FlightGear: Difference between revisions

Jump to navigation Jump to search
Line 183: Line 183:


== Open Issues ==
== Open Issues ==
{{FGCquote
|1= The main issue FlightGear is facing is the fact that Nasal is a niche solution and not widely used. However, even supporting Python, Ruby or Lua would bring its own challenges - not just in terms of enormous flexibility/momentum (community), but also due to the sheer number of optional dependencies - i.e. all of a sudden, aircraft might need their own shared libs. Equally, all the architectural issues at the core level would not be magically solved by replacing Nasal with a better-maintained solution like V8 or Lua - i.e. main loop synchroniation and  threading would still be a huge undertaking (think extension functions). Basically, some kind of IPC mechanism (like HLA) is the best option for having scripting running in a separate thread/process with explicit synchronization. Ripping out/replacing Nasal would be possible - in fact, having a startup mode that  boots a subset of FG without any Nasal would be a very good thing to have for regression testing purposes - but otherwise, FG without any scripting would not be a good thing - just look at the degree of fgdata coding vs. core development, so FG would be severely crippled. Replacing Nasal with a more mainstream language like Python or Lua would be a cool thing from a community standpoint, but it would make all the architectural/core development related issues even more prominent, and that probably very soon. Whenever there's very little  feedback/interest or action from core developers to implement a certain features/ideas directly, scripting is the most natural approach - which is why we have features like the Bombable add-on and the local weather system, optional stuff that core developers didn't need to get involved in.
|2= {{cite web
  | url    = http://forum.flightgear.org/viewtopic.php?p=232076#p232076
  | title  = <nowiki>Re: Sometime, with Yasim... frame-rate is slow</nowiki>
  | author = <nowiki>Hooray</nowiki>
  | date  = Feb 14th, 2015
  }}
}}
=== HLA ===
=== HLA ===
{{FGCquote
{{FGCquote

Navigation menu