Jump to content

[1.2] VOID 1.1.0-beta - Vessel Orbital Informational Display


toadicus

Recommended Posts

Is there any way that the HUD could be made customisable? So allowing the end-user to add their own choice of variables?

The short answer is "yes", but the long answer is "I'd need to learn more about GUI functionality to do something like that." A feature like that is probably also going to take a back seat to cleaning up the functionality we already have.

That said, I do like the idea. I've stuck it in the TODO, and I'll get to it eventually. :)

Link to comment
Share on other sites

Cool, man. I should also say that this is a really excellent mod. Been experimenting with alternatives over the last few weeks and this is another one that's shot to the top of my 'need' list.

Link to comment
Share on other sites

VOID has been updated to 0.9.9! This version represents a complete rewrite of the underpinnings of the VOID. VOID is now completely modular and extensible, and uses the new save file format. All of the existing functionality has been ported into the new module format, with a handful of exceptions.

What's Different?

Lots and lots.

What Should You See Different?

Almost nothing.

The primary exceptions are:

  • VOID Icon cannot currently be relocated.
  • Skin choice is somewhat different.
  • Localization is currently entirely absent (instead of meaninglessly "English only").

Why the change?

This gave me a good opportunity to really dig into the VOID code base and familiarize myself with the various modules. It also provides me with a new, accessible way of adding new modules. Now, instead of needing to find the right places to stick in a new window, its internal properties, and its configurable properties, I can do everything by adding a new class with as few as two unique methods. It also makes things more maintainable: by compartmentalizing the modules, I can hunt down specific issues or add specific items in a code file that's less than 2000 lines long.

What can you do?

Install the new version, use it, and report bugs! I believe this version to be largely free of problems, but users are typically much better at breaking things than designers. ;)

I'd also like to hear from you folks: are there any modules that you just never use? In particular, I'm looking at the data logging module. It has a few problems, and in my estimation it's missing some information and some functionality that it would need in order to be a genuinely useful tool. Is that worth working on?

Coming soon

Editor modules?

Edited by toadicus
Link to comment
Share on other sites

VOID has been updated to version 0.9.10! This version introduces the first editor module: a HUD with some rudimentary data about the craft you're building.

My current roadmap includes a lot of cleanup in terms of code documenting and organization, and a mini "scripting language" to customize the contents of the HUD modules. But first I need to learn how to do that. ;)

What else would you like to see?

Changes:


v.0.9.10 [2013-11-12]
* FEATURE: The VOID framework now supports Editor modules! A very rudimentary HUD has been added to the editor by default. Please recommend additional information and features to include!
* BUGFIX: The VOID icon can be relocated again. Uncheck "Lock VOID Icon" in the Configuration menu and drag it where you want it. Note: in the editor, the button-dragging doesn't work, so the icon is docked to the main VOID window.
* BUGFIX: Changes to the skin are now correctly saved and reloaded.
* VOID windows now "clamp" to the edge of the screen so they cannot inadvertently be lost.

Link to comment
Share on other sites

Another quick update because apparently I need to stop coding and actually play a bit.


v.0.9.11 [2013-11-12]
* Moved the editor HUD to the top left corner to avoid conflicts with the staging selector. It should move with the parts list, as relevant, as well.
* BUGFIX: Added a GUI reset to fix the case where modules would not draw after a "revert to launch" in flight mode or "load craft" in editor mode.

Link to comment
Share on other sites

Loving this mod... I always wanted a lot of the information it provides, especially recently as I've had a big focus on building precision GPS arrays and so forth. Never wanted to install Mechjeb though as the temptation would always be there to let it do the work which is something I'm 100% determined to avoid doing.

As others have suggested, a customizable HUD display would be the next big step in my opinion, though I appreciate that's got to be a lot of work.

The other thing I'd like to personally request is a bit less rounding of figures (or an option to toggle this)! Again when doing very precise work recently I came across things like trying to get a semi-major axis as close to perfect as possible, but it was rounded to the nearest kilometer when I really needed meter level detail. I guess a toggle would be the best option for this as rounding is much easier to read for day-to-day usage.

Keep up the good work!

Link to comment
Share on other sites

VOID has been updated to 0.9.12! This is an incremental change, but something bigger is coming.

v.0.9.12 [2013-11-17]
* FEATURE: Added a configurable precision for some values in the Orbital pane as a trial run.
* FEATURE: Added support for real-time rate limiting to keep overhead down (see "Update Rate" in config). Currently only supported by Orbital.

The other thing I'd like to personally request is a bit less rounding of figures (or an option to toggle this)! Again when doing very precise work recently I came across things like trying to get a semi-major axis as close to perfect as possible, but it was rounded to the nearest kilometer when I really needed meter level detail. I guess a toggle would be the best option for this as rounding is much easier to read for day-to-day usage.

I put a trial version of this into the Orbital pane only for now. The "P" buttons next to several values will loop through various precision levels from 0 to 12 digits. To you and everyone else: how do you like the presentation? Would you rather have per-pane precision toggles? Do you want something a little different?

This brought another item I'm trying to improve to the fore, which is that the numbers currently look really "jumpy" in many cases. My first round against that was to introduce rate limiting (currently only supported by the Orbital pane) to prevent VOID from change values too often and making a blurry mess of things. The default value is about 15 updates per second, which to my quick testing had a good mix of "not too fast" and "not too slow". Closer to 12 might be better for readability on some of the finer points. What do you think? What rates look best to you?

My next step will probably be to put some numbers through a moving average to slow them down. The numerical noise on things like SMA while not warping, or vertical/horizontal surface speeds while landed, is really messy and can probably only be settled down through some damping like that. But, I'm working on redoing the way I handle display values in general, so this will probably come as a part of that.

Keep up the good work!

Thanks! I'm glad you're enjoying the mod. :)

Link to comment
Share on other sites

I put a trial version of this into the Orbital pane only for now. The "P" buttons next to several values will loop through various precision levels from 0 to 12 digits. To you and everyone else: how do you like the presentation? Would you rather have per-pane precision toggles? Do you want something a little different

It's like me own private update! :D I shall get testing after work today and pass on any feedback but the way you've implemented it sounds superb actually. As I said before, rounding is the better option in 99% of circumstances but just occasionally someone will need the extra precision and usually only on 1-2 figures. This will allow us to do so without turning everything into a total mess.

My next step will probably be to put some numbers through a moving average to slow them down. The numerical noise on things like SMA while not warping, or vertical/horizontal surface speeds while landed, is really messy and can probably only be settled down through some damping like that.

Sounds like a sensible idea... can't think of many/any circumstances where the high rate of change will benefit us mere mortals... would be nice to see something a little smoothed out.

This is an incremental change, but something bigger is coming.

Intrigued! *waits*

Link to comment
Share on other sites

The extra precision seems to be working great! Was able to use it to fine tune some satellite orbits. :) Did exactly what I need, thank you!

The current implementation works just fine with the decimals, but if I was being really pedantic I would suggest that instead of changing the decimal places it would be even better to instead be able to toggle between units of measurement (Mm, km, m, etc), perhaps each with 2 decimal places. Meter scale with 2 decimal places is probably the smallest realistic value anyone would ever need in the game I imagine.

Perhaps as well just to keep the UI looking sleek, would it be possible to click on the line of text to toggle the precision rather than have the buttons?

Again though, both points entirely minor cosmetic things, what you've implemented is great :)

Link to comment
Share on other sites

The extra precision seems to be working great! Was able to use it to fine tune some satellite orbits. :) Did exactly what I need, thank you!

The current implementation works just fine with the decimals, but if I was being really pedantic I would suggest that instead of changing the decimal places it would be even better to instead be able to toggle between units of measurement (Mm, km, m, etc), perhaps each with 2 decimal places. Meter scale with 2 decimal places is probably the smallest realistic value anyone would ever need in the game I imagine.

Glad it's working out! I had considered the same thing, and have a couple options for it. I just need to test them.

Perhaps as well just to keep the UI looking sleek, would it be possible to click on the line of text to toggle the precision rather than have the buttons?

I've considered that as well, but it strains the limits of my Unity-Fu. In some quick research just now I've found a possible answer... I'll take a swipe at it and see if it sticks. If not, we'll probably stick with buttons for now.

Link to comment
Share on other sites

The extra precision seems to be working great! Was able to use it to fine tune some satellite orbits. :) Did exactly what I need, thank you!

The current implementation works just fine with the decimals, but if I was being really pedantic I would suggest that instead of changing the decimal places it would be even better to instead be able to toggle between units of measurement (Mm, km, m, etc), perhaps each with 2 decimal places. Meter scale with 2 decimal places is probably the smallest realistic value anyone would ever need in the game I imagine.

Glad it's working out! I had considered the same thing, and have a couple options for it. I just need to test them.

Alright, this is working internally. I've got two options for how to present this.

The first controls the magnitude relatively, i.e. "always show this value at 3n orders of magnitude less than the actual value". So if the value would be shown in kilometers, the first step more precise would show it in meters. If the value would be shown in gigameters, the same setting would show it in megameters. This gives continuity of presentation in that you value will always be about the same length.

The second controls the magnitude absolutely, i.e. "always show this value in megameters". This gives continuity in the units presented: no matter where you go or what you do, that value will be shown in megameters (unless you change it). I don't like this option, because it requires users to reconfigure values as situations change: on your trip out to the Mun, your altitude is relevant in megameters. When you're orbiting, it's relevant in kilometers. When you're landing, it's relevant in meters. When you change ships to your Eeloo probe, it's relevant in gigameters.

What do you think?

Link to comment
Share on other sites

@ toadicus: first, thanks for this excellent mod. One of the first I chose to install, and never had problems with it.

When you write "always show this value at 3n orders of magnitude less than the actual value" I feel a bit confused, the values I need (and can find thanks to VOID) are to be precise enough. To make an example, when checking for a stationary orbit around a body, I go check Apoapsis and Periapsis to the last meter, even if the whole number takes 10 digits. For synchronization of orbits, I would like time with 0.01 seconds precision, but the orbit itself could even take years to complete. And that means using 10 digits to represent seconds, plus 2 decimal digits. Speaking of time, I believe it would be useful to change unit instead of scale (so to have all digits in seconds or the usual year day, h m s). Therefore, I like how VOID displays values now, but would not find it as useful if I had to choose a magnitude in Megameters and only have the last digit to show 1 Km.

I mean, precision and scale are two different things. I may at times accept to improve readability against less precision (changing number of digits used to show a value). Or, I want to change the scale to better read units (changing the position of the decimal place for metric units, or the system of units for time).

If at all possible, I would also like the possibility to show commas for any triplet of digits before the decimal place.

I know that all is overloading the GUI, maybe you could use a single button for each value (like already you did for setting precision alone) to actually access a submenu where to access every setting about that same value. Even better, could you create a configuration window for each panel, to also be able to choose what values I want presented in that panel when opened (that would also help minimize the impact from the open panes on the GUI and the system).

Link to comment
Share on other sites

The first controls the magnitude relatively, i.e. "always show this value at 3n orders of magnitude less than the actual value". So if the value would be shown in kilometers, the first step more precise would show it in meters. If the value would be shown in gigameters, the same setting would show it in megameters. This gives continuity of presentation in that you value will always be about the same length.

Hard to know which would be better, but I think diomedea raises a valid point in that having to constantly manually change the units would be a real pain. I think your solution to be able to toggle between the 'default' rounding and 3n lower will solve more or less any situation I personally can think of. I can't see someone working in Gm needing meter level accuracy for example. In fact, the main use for this whole thing I suspect will usually be people working at km scale who need the information in m.

The button is good for now... I don't think adding more is a good idea though, it does already look a lot more 'cluttered'.

Thanks once more!

Link to comment
Share on other sites

diomedia, Tristavius, based on your feedback it sounds like the "absolute" option is out. Thanks!

To clarify a bit: the change in mechanic in the "relative" option doesn't materially change the way VOID currently displays and configures precision. It just moves the decimal point around and changes the units, instead of adding a bunch of extra figures after the decimal point. I'll get a screenshot up soon.

EDIT: Like'a so. Take a look at the Apoapsis line after two successive clicks.

screenshot14.pngscreenshot15.pngscreenshot16.png

Also, the magnitude adjustment is relative to the actual magnitude, so as numbers get smaller, they'll automatically "unit down". So, if I had a "one click" adjustment on periapsis and then lowered it, at 1Mm it'd automatically switch from 1000.00km to 999999.99m.

Edited by toadicus
Added Screenshots
Link to comment
Share on other sites

@ toadicus: That's fine for me. Thanks. That gives me precision when required, at the same time allows improved readability by changing scale (I reckon that's also consistent with tristavius fine ideas).

If only I could have one more desire to satisfy, that would remain the 'configurable pane'. VOID's Orbital Info pane I tend to keep always open (with extended info subpane as well), but is a bit too obtrusive on the GUI. However, while manouvering (or waiting the correct time) I really need to keep watch of one or two values here and another there, e.g. Periapsis + Inclination + Orbital period. Would like to be able to setup myself a custom pane (or a few, to account for different circumstances) with only the chosen values displayed, and keep just that custom pane open.

@ tristavius: good points. Anyway, I was certainly less than clear in my previous post, sorry. I failed to explain why I need such precision. Then, let me give an example: I want to build a station in a lagrangian point (I know KSP does not allow true Lagrange points as the gravitational laws are a bit 'tweaked', so let do with a fake one). I can simulate to be in a L4 or L5 point when relative position of my station to the minor body does not change with time (I suspect that L1, L2 and L3 points can't actually be faked in KSP). For L4 and L5 points, I need to have set my station with exactly the same orbital parameters of the minor body, but for longitude (that has to be apart enough to be outside of the minor body SoI). Because fake, my Lagrangian points are not intrinsically stable, therefore any minor deviation from the correct orbital parameters result in relative motion with the minor body. So, I want the upmost precision to keep such inconsistency to a minimum.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...