Idea Comprehensive Orbinomics Project

N_Molson

Addon Developer
Addon Developer
Donator
Joined
Mar 5, 2010
Messages
9,295
Reaction score
3,265
Points
203
Location
Toulouse
And can I ty it to a key in the same way as a gear animation, except using SpawnObject in place of RevertGear?

Of course. Look for tutorials (there's not enough of those in my taste) and code samples. Nearly everything is possible with Orbiter API. It's all a matter of patience and wits. :yes:

Just got a message back from ashaman42, hes going to try to dig up the source code and send it.

Very cool, many thanks to him. Maybe it could be added on OrbitHangar ? Such resources are always great tools, and code examples are precious to avoid re-inventing hot water each time.

For the models, with Anim8tor and your imagination, you should come out with something ;)
 

Dores

New member
Joined
May 22, 2008
Messages
87
Reaction score
0
Points
0
Location
Scotland
I think we might be able to help.

What we have in mind is something akin to a spreadsheet :D which draws some of its information from Orbiter plus some flight info 2.

My friend - 'the code man' - hasn't joined the forums yet. When he does I'll get in touch.

In the end if all we achieve is a glorified spreadsheet with some more functions, then grand.

See how we get on! I totally support this kinda thing though.

Best of luck to you! If we can help let us know, although there are probably better equipped people on the forum to do so!

Best,

Dores :D
 

BruceJohnJennerLawso

Dread Lord of the Idiots
Addon Developer
Joined
Apr 14, 2012
Messages
2,585
Reaction score
0
Points
36
I think we might be able to help.

What we have in mind is something akin to a spreadsheet :D which draws some of its information from Orbiter plus some flight info 2.

My friend - 'the code man' - hasn't joined the forums yet. When he does I'll get in touch.

In the end if all we achieve is a glorified spreadsheet with some more functions, then grand.

See how we get on! I totally support this kinda thing though.

Best of luck to you! If we can help let us know, although there are probably better equipped people on the forum to do so!

Best,

Dores :D

Will the spreadsheet read the scn an use #s in there?
 

Dores

New member
Joined
May 22, 2008
Messages
87
Reaction score
0
Points
0
Location
Scotland
Yeh, the plan is to read scenario files for info.

if you mean the price by '#s', the plan at the moment is to read the config/vessels folder and price each vessel based on it's thurst and fuel capacity.

It's very early doors at the moment.

Hopefully, we will get the program so that when you have 'completed' a mission the program reads a saved scenario file and checks it against its data to see if you have, for instance, launch a satellite into the correct orbit.

Does that answer your question? I'm never sure whether i ramble or am just being thorough!

Dores :D
 

Mojave

60% Ethanol
Moderator
Addon Developer
Joined
Apr 6, 2010
Messages
1,647
Reaction score
132
Points
78
Location
Somewhere, but not here.
wait, what if the scenario file becomes corrupt somehow, and you can't use it. The program would rely on that scenario file? Will the program save the data externally in an .xml file?
 

Dores

New member
Joined
May 22, 2008
Messages
87
Reaction score
0
Points
0
Location
Scotland
I don't know enough about coding.

But, I met up with my friend/the code man the other day and we chatted.

What we would like is for the data to be sent LIVE from Orbiter to our programme - like the mission control program on orbit hanger - and that is how the data would, preferably be collected.

Reading the scenario file would be the simpler option, which is why I mentioned it.

As I say, I'm not a programmer but it'd make sense to save data externally too!

We also plan for graphs galore. It's still in the planning stage.

We're looking for forum members to be involved - you interested?

Dores :D
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,659
Reaction score
2,379
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
I am interested in a similar project, but with a completely different scope... wanted to do such economics for the "World of 2001" add-on as add-on for an add-on, since it already has a pretty good population of vessels and is open-source, so developing interfaces in the vessels is easier.

But I can't currently do it, despite being a good coder. I simply lack the time and a proper development machine.
 

Dores

New member
Joined
May 22, 2008
Messages
87
Reaction score
0
Points
0
Location
Scotland
Our project may save you sometime as it will be open source.

See how we get on!

Your project sounds exciting! I love that film!

What kind of things are you going to cost?

Dores :D
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,659
Reaction score
2,379
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
Our project may save you sometime as it will be open source.

Just remember: Open source is way more than just publishing the sources. It also requires the sources and documentation to be in a form that somebody else can work with them. You need clear coding standards, documentation standards and processes for ALCM.

Your project sounds exciting! I love that film!

No project... simply some low voltage design and experimentation so far.

What kind of things are you going to cost?

I wanted to keep it very simple. Only generating TEUs in a pseudo-realistic demand-driven way with each TEU having a destination and delivery deadline. No money in the first iteration at all, fuel will be for free as long as fuel is available at the base. Not even a visible simulation of the containers before they enter the destination spaceport - they just appear at the container storage area and wait for getting picked up, or disappear when they are hauled to the target.

The biggest item that I have in actual development is still the TEU library, a framework for accessing the logistics data of each TEU. And that is just the tiny foundation of all that needs to be done. Just a small DLL that handles containers and their contents and a static link library that permits communication with the containers to "read their labels", "open/close doors", "unload/load" or "paint them".

As you can see: Millions of LOSC are still waiting for having something comparable to you want to do.

The second iteration of this would have been adding passengers to the economic model, and thus employees. The coarse concept is already sketched out along a roleplaying game ruleset that I like, but nothing yet that can be turned into source code. It would be similar to UMMU in its role then, but different in scope and size.

EDIT - Or better: ADDITIONAL WISDOM:

Don't underestimate the need for design and project management for something at the magnitude that you are planning to do. I feel like you want to start coding directly and I can understand that. But better wait, plan things before you code. Organize the project, it is really needed before you start. Don't try to do things on the fly. This works for small projects and ends in serious and demotivating refactoring once your project grows too big for creative chaos. Define interfaces first - how will the player interact with it, how will components interact, etc.

If you want to have stability, define exactly two people who will be project lead and deputy project lead. Select them good, they must not be coders, it is even helpful of they stay out of the add-on development front line. Make them the accountable and responsible parts of the project. They define the standards and requirements and make sure they last for more than just a year. They can reject changes, they decide which feature branch gets merged with the main development line, which version will be next and how it should look like. Ideally they should even be able to fire a coder from the project, when he refuses to follow the project standards and roadmap. He can do a fork anytime, but he should not be permitted to mess with your project.

The initial documents of the project are the constitution, maybe even the ten commandments of your project, and nobody should join the project before agreeing to these documents. No plan survives the first contact with the enemy and no software development results in the software initially planned. But the philosophy of the project lasts. Maybe not for ever, maybe you need to adapt things carefully when learning that things need correction. But only slowly and never as a one-way decision, there is always a way back. Make sure everybody in the project knows how this will be developed. Don't prescribe technical solutions in your project planning documents, if there is no acute need. Define what the solution should achieve, not what the solution shall be. A screwdriver can open bottles, too.

Get this management done first and then develop according to this.

Otherwise, you will get exactly nowhere. You start with lots of enthusiasm, work fast, but also get into trouble fast and with so much inertia that you will be really deep in trouble before you notice how far you have left the planned trajectory of your project already. And then you will stall. People will start to blame others, finger pointing will replace communication, people from outside the project give the direction for you, finally it will be dead and somebody will restart it. Maybe better, maybe with the same errors in management.

(Yes, I hate management myself. But I have grown too old to not know that the bitter medicine is the best.)
 
Last edited:

icedown

New member
Joined
Sep 5, 2011
Messages
115
Reaction score
0
Points
0
I've been mulling working on a system for quantified fueling, Aka you can't fuel without being docked to a ship with a fuel carrying part docked or attached to it. The ISS being able to refuel several XR5s just makes it a bit to easy, make it so you have to put a fuel canister on it, and fill it up when you need to seems a little more interesting.

Having or being able to purchase ships was one my thoughts for later development. A mission system for credits. A way to have goals and make hauling and building a space station in orbit a little more worth it.

What are your thoughts on this? I love the SBB addon and have converted most of the animated parts to dlls. I'm was looking at using parts of it for the fueling system, that way there is already an established system people are used to hauling and make a little more use out of an already awesome addon.

BTW, not trying to hijack your thread, just putting something that may be able to help your project on the table for suggestions from the more experienced ones.
 

BruceJohnJennerLawso

Dread Lord of the Idiots
Addon Developer
Joined
Apr 14, 2012
Messages
2,585
Reaction score
0
Points
36
I've been mulling working on a system for quantified fueling, Aka you can't fuel without being docked to a ship with a fuel carrying part docked or attached to it. The ISS being able to refuel several XR5s just makes it a bit to easy, make it so you have to put a fuel canister on it, and fill it up when you need to seems a little more interesting.

Having or being able to purchase ships was one my thoughts for later development. A mission system for credits. A way to have goals and make hauling and building a space station in orbit a little more worth it.

What are your thoughts on this? I love the SBB addon and have converted most of the animated parts to dlls. I'm was looking at using parts of it for the fueling system, that way there is already an established system people are used to hauling and make a little more use out of an already awesome addon.

BTW, not trying to hijack your thread, just putting something that may be able to help your project on the table for suggestions from the more experienced ones.

lol, not a problem, hijack away, just not sure whether theyre talking to you or me. I dont think leadership or infighting in a one man project should be a problem at this point, but I say again

IS THERE ANYONE EXPERIENCED WITH 3D MODELLING THAT WOULD LIKE TO HELP CREATE MESHES?

Thankyou, lol, please carry on :)

---------- Post added at 06:00 PM ---------- Previous post was at 04:27 PM ----------

Okay, so I got the source from Ashaman42, copied it over into a version of the myvessel template off OHM, that ive been using, tried testing it, and it gives me this error

Code:
1>------ Build started: Project: MyVessel, Configuration: Release Win32 ------
1>  WaterDrill.cpp
1>     Creating library C:\Program Files (x86)\Orbiter\Instalations\Orbiter Shipyard II\Orbitersdk\samples\Dauntless Industries Water Drill\Release\MyVessel.lib and object C:\Program Files (x86)\Orbiter\Instalations\Orbiter Shipyard II\Orbitersdk\samples\Dauntless Industries Water Drill\Release\MyVessel.exp
1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
1>WaterDrill.obj : error LNK2001: unresolved external symbol "public: void __thiscall WaterDrill::clbkSetClassCapsUCgo(void)" (?clbkSetClassCapsUCgo@WaterDrill@@QAEXXZ)
1>WaterDrill.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall WaterDrill::clbkVisualCreated(void *,int)" (?clbkVisualCreated@WaterDrill@@UAEXPAXH@Z)
1>WaterDrill.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall WaterDrill::clbkConsumeBufferedKey(unsigned long,bool,char *)" (?clbkConsumeBufferedKey@WaterDrill@@UAEHK_NPAD@Z)
1>WaterDrill.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall WaterDrill::clbkDrawHUD(int,struct HUDPAINTSPEC const *,struct HDC__ *)" (?clbkDrawHUD@WaterDrill@@UAEXHPBUHUDPAINTSPEC@@PAUHDC__@@@Z)
1>WaterDrill.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall WaterDrill::clbkPostStep(double,double,double)" (?clbkPostStep@WaterDrill@@UAEXNNN@Z)
1>WaterDrill.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall WaterDrill::clbkLoadStateEx(void *,void *)" (?clbkLoadStateEx@WaterDrill@@UAEXPAX0@Z)
1>WaterDrill.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall WaterDrill::clbkSaveState(void *)" (?clbkSaveState@WaterDrill@@UAEXPAX@Z)
1>C:\Program Files (x86)\Orbiter\Instalations\Orbiter Shipyard II\Orbitersdk\samples\Dauntless Industries Water Drill\Release\MyVessel.dll : fatal error LNK1120: 7 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

I think I recognise this from danstephs docs, the Link2001 error is due to incompatibilities between older/newer versions, any idea how I can correct it?
 

garyw

O-F Administrator
Administrator
Moderator
Addon Developer
Tutorial Publisher
Joined
May 14, 2008
Messages
10,485
Reaction score
209
Points
138
Location
Kent
Website
blog.gdwnet.com
"public: void __thiscall WaterDrill::clbkSetClassCapsUCgo(void)" (?clbkSetClassCapsUCgo@WaterDrill@@QAEXXZ)

That would suggest to me that you aren't pointing at the right SDK set.

How have you configured your Visual Studio environment?
 

BruceJohnJennerLawso

Dread Lord of the Idiots
Addon Developer
Joined
Apr 14, 2012
Messages
2,585
Reaction score
0
Points
36
That would suggest to me that you aren't pointing at the right SDK set.

How have you configured your Visual Studio environment?

Definitely possible, as the orginal code was built for orbiter2006. I would imagine that would be the 60-90 files that the myvessel template lists under external dependencies? What exactly do they do?
 

orb

New member
News Reporter
Joined
Oct 30, 2009
Messages
14,020
Reaction score
4
Points
0
Are methods WaterDrill::clbkSetClassCapsUCgo, WaterDrill::clbkVisualCreated, WaterDrill::clbkConsumeBufferedKey, WaterDrill::clbkDrawHUD, WaterDrill::clbkPostStep, WaterDrill::clbkLoadStateEx, WaterDrill::clbkSaveState defined in your code or only declared? If they are only declared, are you including an object or a library defining them?

These errors just look like for declared but undefined functions.
 

BruceJohnJennerLawso

Dread Lord of the Idiots
Addon Developer
Joined
Apr 14, 2012
Messages
2,585
Reaction score
0
Points
36
Are methods WaterDrill::clbkSetClassCapsUCgo, WaterDrill::clbkVisualCreated, WaterDrill::clbkConsumeBufferedKey, WaterDrill::clbkDrawHUD, WaterDrill::clbkPostStep, WaterDrill::clbkLoadStateEx, WaterDrill::clbkSaveState defined in your code or only declared? If they are only declared, are you including an object or a library defining them?

These errors just look like for declared but undefined functions.

I.e., laid out in the header, but not defined in the cpp?
 

BruceJohnJennerLawso

Dread Lord of the Idiots
Addon Developer
Joined
Apr 14, 2012
Messages
2,585
Reaction score
0
Points
36
Yes, that's right.

Wow, its like I actually understand what im saying now. Im actually going to drop this for the moment and just read through the C++ tutorial under addon devs resources. Ive been stubborn about not understanding what im doing for way too long, so Ill stop bombarding you with questions I should probably be answering for myself. Thankyou :)

Oh, and I know I keep asking this, but is there any chance someone really good with modelling could join the project? I know Ive been asking on the thread, but maybe an admin might be aware of someone so available?
 
Last edited:

Dores

New member
Joined
May 22, 2008
Messages
87
Reaction score
0
Points
0
Location
Scotland
Just remember: Open source is way more than just publishing the sources. It also requires the sources and documentation to be in a form that somebody else can work with them. You need clear coding standards, documentation standards and processes for ALCM.



No project... simply some low voltage design and experimentation so far.



I wanted to keep it very simple. Only generating TEUs in a pseudo-realistic demand-driven way with each TEU having a destination and delivery deadline. No money in the first iteration at all, fuel will be for free as long as fuel is available at the base. Not even a visible simulation of the containers before they enter the destination spaceport - they just appear at the container storage area and wait for getting picked up, or disappear when they are hauled to the target.

The biggest item that I have in actual development is still the TEU library, a framework for accessing the logistics data of each TEU. And that is just the tiny foundation of all that needs to be done. Just a small DLL that handles containers and their contents and a static link library that permits communication with the containers to "read their labels", "open/close doors", "unload/load" or "paint them".

As you can see: Millions of LOSC are still waiting for having something comparable to you want to do.

The second iteration of this would have been adding passengers to the economic model, and thus employees. The coarse concept is already sketched out along a roleplaying game ruleset that I like, but nothing yet that can be turned into source code. It would be similar to UMMU in its role then, but different in scope and size.

EDIT - Or better: ADDITIONAL WISDOM:

Don't underestimate the need for design and project management for something at the magnitude that you are planning to do. I feel like you want to start coding directly and I can understand that. But better wait, plan things before you code. Organize the project, it is really needed before you start. Don't try to do things on the fly. This works for small projects and ends in serious and demotivating refactoring once your project grows too big for creative chaos. Define interfaces first - how will the player interact with it, how will components interact, etc.

If you want to have stability, define exactly two people who will be project lead and deputy project lead. Select them good, they must not be coders, it is even helpful of they stay out of the add-on development front line. Make them the accountable and responsible parts of the project. They define the standards and requirements and make sure they last for more than just a year. They can reject changes, they decide which feature branch gets merged with the main development line, which version will be next and how it should look like. Ideally they should even be able to fire a coder from the project, when he refuses to follow the project standards and roadmap. He can do a fork anytime, but he should not be permitted to mess with your project.

The initial documents of the project are the constitution, maybe even the ten commandments of your project, and nobody should join the project before agreeing to these documents. No plan survives the first contact with the enemy and no software development results in the software initially planned. But the philosophy of the project lasts. Maybe not for ever, maybe you need to adapt things carefully when learning that things need correction. But only slowly and never as a one-way decision, there is always a way back. Make sure everybody in the project knows how this will be developed. Don't prescribe technical solutions in your project planning documents, if there is no acute need. Define what the solution should achieve, not what the solution shall be. A screwdriver can open bottles, too.

Get this management done first and then develop according to this.

Otherwise, you will get exactly nowhere. You start with lots of enthusiasm, work fast, but also get into trouble fast and with so much inertia that you will be really deep in trouble before you notice how far you have left the planned trajectory of your project already. And then you will stall. People will start to blame others, finger pointing will replace communication, people from outside the project give the direction for you, finally it will be dead and somebody will restart it. Maybe better, maybe with the same errors in management.

(Yes, I hate management myself. But I have grown too old to not know that the bitter medicine is the best.)

Thanks for taking the time to send this through. I completely agree.

My friend makes open source already, so he should be upto speed with that - I know I'm not atm!

I won't be doing any coding myself, just project managing. We're still in the planning/design stage.

At the moment I'm trying to drum up a little support on the forum for someone more experienced with making add-ons for Orbiter.

I like your idea and it's similar to what I have in mind, except that the management side would be external and Orbiter would be a means of running the missions. Much like Air Hauler. I was thinking more satellite launches to pre-set orbits, station construction. Re-supply, later on down the line depending on how we get on with the more straight forward tasks.

I'll introduce my friend when he joins the forums.

Best,

Dores
 
Last edited:
Top