New Release IMS2 Alpha-1

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,842
Reaction score
2,105
Points
203
Location
between the planets
Any other news in the 2 years since there was a post on this thread?

No, unfortunately not. I soldiered on until pretty much exactly a year ago, and finally admitted to myself that I don't have the motivation anymore to see this through about 6 months ago.

The reason behind this is that a) I'm coding for a living now, so coding in my spare time has reduced somewhat. But the major issue was that I had to face the fact that if I still want to earn a living by coding in 10 years, even the code I write in my spare time must have some form of future value. Either by playing with technologies related to my field, or by putting time into code that has a chance to eventually be marketable.

Both are not true for IMS. C++ isn't a technology for which there will be much demand in the future (especially not for someone that has never written actual production code in it, and in my current area of work that won't happen on any scale significant enough to matter), and I wouldn't even be legally allowed to turn it into a marketable product, even when disregarding the fact that there would never be enough money in it to feed a family.

So, sadly, I had to let the project go. It's a pity, there's a lot of really cool code in there that I'm pretty proud of. Essentially a whole semi-responsive UI framework (with the option for xml layouting and styling) for Orbiter is hidden in there, the event handler works pretty well for sharing data in a complex object-rich add-on, the animation statemachine is really cool, and the light-weight statefull power simulation is quite possibly the single-most complex piece of code I ever wrote. But then, I never even got around to integrating that anymore.

Since there wasn't much interest in the project, I never announced anything, but you and Peter would have deserved a shout-out. The both of you put a lot of testing hours into this, and letting them go to waste is what saddens me the most. But by the time I reached the decision it seemed you both had moved on from the board.

The code is still there, though, and will be for as long as Github is around, so if anybody wants to pick up on it, I could rovide some help coming to terms with the pretty complex architecture of the whole thing. Or maybe I'll pick it up again when I retire, who knows?

Thanks for the hours you invested, and sorry to let you down.
 

Dantassii

HUMONGOUS IMS shipbuilder
Joined
Jul 14, 2012
Messages
508
Reaction score
20
Points
33
I kinda thought that's what had happened.

If it is any consolation, almost exactly what you are going through is what I've been going through practically my entire career. Until my current project came along, I was unable to work on any software development effort outside of my job without signing over all rights and ownership of whatever code I wrote or tested to my current employer. They owned EVERYTHING I touched no matter that it had nothing to do with my current job.

My current project (and the 3 companies I've worked for while on it) has been a completely different situation. The companies were not the 'we own everything you even think about when it comes to computer code' types and my current company is the one I will more than likely retire from on about 6 years.

As I stated in my last post, I have a brand spanking new computer, so all my SVN information (for the latest version of Orbiter 2016 beta) and GitHub (for the latest version of IMS 2.0) are now on a dead computer.

Some questions:
1. Does development of IMS 2.0 require that it be done against the Orbiter 2016 beta or can it be done against the current released version of Orbiter 2016?
2. You posted instructions somewhere (where?) for how to setup GitHub on a new computer. Where are they (I've lost the link), and will they work on Windows 10?
3. Once I get a current copy of what's been done, would it be possible for me to get an 'what were you working on at the exact moment you stopped' update so I know what needs to be worked on 1st?

IMS is pretty much the only reason I even run Orbiter (any version). I've been playing Space Engineers for the last 3 years because it's the closest thing to IMS that there is. It has VERY unrealistic physics, and many game-like features that my Aerospace Engineering degrees find offensive. But the game (and it is just a game), allows me to do what I wanted to do when I grew up. :thumbup:

I may not get a lot of time to work on this until I retire, but my retirement date is rapidly approaching (2025), and I would love to see this completed, or at least brought to Beta testing.

Dantassii
HUMONGOUS IMS shipbuilder
 

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,842
Reaction score
2,105
Points
203
Location
between the planets
Until my current project came along, I was unable to work on any software development effort outside of my job without signing over all rights and ownership of whatever code I wrote or tested to my current employer.

Wow. Like... WAT? Is that even legal?
I can even work on my own code *in the office* (off the clock, of course), because the boss likes to have me around when a server explodes somewhere... :lol:

1. Does development of IMS 2.0 require that it be done against the Orbiter 2016 beta or can it be done against the current released version of Orbiter 2016?

Huh... honestly, I'm not sure anymore. I think it should work fine with default 2016, and I'm not sure how well it does on the current beta, given that it's been a while since I ran it.

2. You posted instructions somewhere (where?) for how to setup GitHub on a new computer. Where are they (I've lost the link), and will they work on Windows 10?

Well, you don't install github. That would make about as much sense as installing sourceforge. Github is a repository. Git is the source control tool that you install to manage your code (like svn, mercurial, whatever). Looks like I did indeed make a short instruction on how to check out the code:
https://www.orbiter-forum.com/group.php?do=discuss&group=&discussionid=468

Once I get a current copy of what's been done, would it be possible for me to get an 'what were you working on at the exact moment you stopped' update so I know what needs to be worked on 1st?

It's generally visible in Gits commit log. I was doing some major refactoring on the loading stuff I think, having written some model-binding glue code to make working with config files a bit easier.
Here's the commit history of the development branch:
https://github.com/TheNewBob/IMS2/commits/develop

As far as I can see I left it in a pretty clean state, with the other branches merged in. The last thing I did was refactoring the power simulation *out* of the code into its own library, which is here:
https://github.com/TheNewBob/GenericElectrics

Which reminds me, you'll also need the libs of Oparse and Olog to build the thing:
https://github.com/TheNewBob/Oparse
https://github.com/TheNewBob/Olog

So that can now just be cloned and added to the project as a lib, way cleaner this way since it's completely independant code. Actually using that library to start implementing power managment would have been the next step, but I'd not recommend you to start there... That stuff be complicated as hell, and currently ill-documented.
If you just want to play around with it a bit, I'd suggest starting with something like a simple module that does a simple thing and has a UI. I think that's currently the best way to get familiar with the overall architecture. Unfortunately the guide I once wrote is not quite up to date anymore, especially where the UI is concerned, but it's still the best starting point.
 
Last edited:

Dantassii

HUMONGOUS IMS shipbuilder
Joined
Jul 14, 2012
Messages
508
Reaction score
20
Points
33
I'm wrapping up my b-day week today (I took the whole week off and I turn 54 today). And tomorrow (Saturday) I have quite a bit planned, so I'll probably get started on this on Sunday.

I probably will have to find and download the current free-version of Visual Studio 2013, or has Orbiter been upgraded to a newer version of VS?

Dantassii
HUMONGOUS IMS shipbuilder
 

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,842
Reaction score
2,105
Points
203
Location
between the planets
I probably will have to find and download the current free-version of Visual Studio 2013

The project files are for VS 2017, so I'd recommend using at least that version. Importing to higher versions usually is no problem, importing into older versions... not so much.
 

Dantassii

HUMONGOUS IMS shipbuilder
Joined
Jul 14, 2012
Messages
508
Reaction score
20
Points
33
Also.

The add-on that IMS 2.0 requires has a requirement for Spacecraft3.dll, however, only Spacecraft4.dll is available any more. Is Spacecraft4 100% backwards compatible with Spacecraft3?

Dantassii
HUMONGOUS IMS shipbuilder.
 

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,842
Reaction score
2,105
Points
203
Location
between the planets
Also.

The add-on that IMS 2.0 requires has a requirement for Spacecraft3.dll, however, only Spacecraft4.dll is available any more. Is Spacecraft4 100% backwards compatible with Spacecraft3?

Oh, you don't need spacecraft3 (nor 4). IMS2 just uses the meshes from those add-ons so I didn't have to make any myself.
 
Top