Home Charlie W Comments

Charlie W

About

Username
Charlie W
Joined
Visits
508
Last Active
Roles
Administrator

Comments

  • Exactly the right way to do this! For other readers, this is a Patched Conic Approximation. I'd like to formalize this in the core ivoyager submodule, perhaps with a new object "NavPath" or something like that. It's just a set of intersecting orbit segments, with each intersection having a specific time and place and…
  • Yeah, the sim only needs "time", which is seconds from J2000. JDN and solar day are used to generate "date" and "clock" ints, which are irrelevant to sim function other than GUI display. Mostly you should get sim time from Global.times[0]. Keep a local reference to the "times" array in your class. Or, for some special…
  • Here's another hiccup (just documenting as I think of things). Our units are all defined in a static class UnitDefs. These have to be constants in a static class because they are used to define other constants throughout our code. So then we have `const METER := 1e-13` because it works well for representing the entire…
  • One potential hiccup is colliding class names. For example, we have class "SettingsManager". So you couldn't combine another project that had that class name. All of our class names can be found in ProjectBuilder. I've thought of a few solutions, but all are rather painful. One very ad hoc solution is to append an "_" to…
  • Awesome! Moonwards looks fantastic! I hope our project can help make it even better! I've been pondering this from a high-level program point of view. Basically, you need ivoyager (the submodule) to be as unobtrusive as possible. Here are some features that should make that possible. * We can strip the solar system down to…
  • Thanks JacobCop2208!
  • Thank you JacobCop2208! Me too!
  • (reserved)
  • (reserved)
  • GUI for both the Template and the Planetarium are much more dynamic now. Now that I understand Godot scenes and Controls, I'm no longer adding code that fights with the engine internal systems. See comments in the changelog. Here's part of it: A new directory (ivoyager/gui_mods/) includes drag-and-drop components that…
  • This is in the master branch now (see changelog). Should be released with v0.0.7 in the next week.
  • Well, the hurricane was just a bit of rain. Sorry for the long hiatus in the project. This question really demands a long answer or a full tutorial. The short answer is that you should not add scenes to Universe in the editor. You add scenes, nodes or references using ProjectBuilder (see…
  • Sort of. I'm presently rebuilding the game "template" GUI (the selection and navigation panels) and moving them out of the core ivoyager submodule and into the ivoyager_project_template repository (in the "replace_me" template directory). [Edit: these are now in directory ivoyager/gui_example/] It seems likely to me that…
  • Body.transform only contains position relative to the Body's parent Body. This transform is never rotated or scaled, since those effects would propagate to children Bodies. If we rotated Earth's transform, for example, that would make the Moon go around the Earth every 24 hrs. Instead, it's the model itself that is scaled…
  • I'm prepping for a hurricane right now... I'll try to give a full answer after that blows over and I have internet again. :o
  • In the next version (v0.0.7) you will be able to set the camera to "track orbit" or "track ground" (or neither). In the current version it only tracks orbit (i.e., the camera moves with the mean anomaly of the parent body's orbit). When you select "track ground" in v0.0.7 it will do as you describe.
  • I'm happy to have you moderate that. My plate is too full right now. Can you post a link here and some links there back to the project? My plan is to get beta out, then publicize more. I've only done a little of that and only within the Godot community. I need to step up the outreach effort...
  • Look in in singletons/global.gd. There are three signals you could use: signal system_tree_built_or_loaded(is_new_game)<br>signal system_tree_ready(is_new_game)<br>signal about_to_start_simulator(is_new_game) All three fire after the solar system is built (or loaded from a save file) and after bodies_by_name has been…
  •  It was days in earlier versions, but now seconds. Look in static/unit_defs.gd for anything related to units.
  • Sure. The info you want is provided by the Orbit class (ivoyager/tree_refs/orbit.gd) which is a member of Body class (Earth is a Body). Body instances and present time can be gotten from containers in Global. var time: float = Global.times[0]&#13;var earth: Body = Global.bodies_by_name.PLANET_EARTH&#13;var earth_orbit:…
  • Your images above are a bit too small for me to read. Do you see a ".gitmodules" file? This is actually what tells git that there is a submodule, what to call it locally, and where to find it. You can open with a text editor. It should look like this:<div>[submodule "ivoyager"]</div><div>&#13; path =…
  • The problem is that I use GitKraken so I am terrible at git command line! I believe the tutorial step #4 is missing something based on answers here: https://stackoverflow.com/questions/3796927/how-to-git-clone-including-submodules. It seems that "cloning" does not actually populate the submodule. For that (according to…
  • I can't figure out why we don't have shadows! OK, setting the sun's OmniLight.shadow_enabled = true was probably a good start. The latest master branch has that. All of our GeometryInstances (worlds and Saturn's rings) have default cast_shadow = 1. All of our SpatialMaterials (world & ring textures) have…
  • A roadmap is also a good idea. I'll start a thread after the next release.
  • I definitely want atmospheric effects and Earth city lights in the core assets. Changing clouds too if there is a good way to do it. Dynamic higher res images will be something to experiment around with. We already have "ivoyager_assets" and "ivoyager_assets_web" and there can be more along these lines. The code is…
  • "Interpretive" assets probably works best as an addon (if you plan to share it). They can be in a directory anywhere. Based on my latest updates, I'm thinking of a fall-through array in Global (a settable project var) that tells ModelBuilder where to search for a body's model in order of priority. It already does this to…
  • OK, new directory structure in the master branch. * prog_builders - single instance Reference classes that import data, save/load, or build stuff. * prog_refs - single instance Reference classes involved in program operation. * prog_nodes - single instance Node classes involved in program operation. All of the procedural*…
  • Wow! It's bigger than I thought... Is this all manually done? Or is it somewhat automated? Just a couple things at first glance: ProjectBuilder in theory should touch almost everything since it defines almost all the classes (except GUI widgets and some other GUI children) and inits all the non-procedural classes. Could it…
  • @mbg, Welcome! Sounds like a cool project! Just a note on "Newtonian orbital mechanics": What a lot of people mean when they say this is that you have position/velocity updates each frame based on good ol' F = ma. However, to get anything close to real-life solar system positions doing so, you need a super computer. Well,…
  • const METER := 1e-9 means that our internal meter is 1e-9 engine units. (So 1e9 meters per engine unit.) Models that are (or will be) part of the core I, Voyager packages go in ivoyager_assets/models/. The current development ivoyager_assets has Phobos, Deimos, Hyperion and a couple asteroids in there. I'd like to add at…