Modular Ship development

vchamp

Member
Joined
Mar 24, 2008
Messages
221
Reaction score
6
Points
18
I have started a work on my first space ship. And it should be quite unusual. The main idea is to build a ship from modules. First you attach module, then integrate it. When module is integrated it becomes a part of a ship, i.e. the module vessel is removed from scenario and all information about module is stored inside a core ship.

It was inspired by Space Station Building Blocks by Greg Burch and by Shuttle A.

I am looking for someone who would like to participate in development of this addon. Especially I need help in creating meshes and textures, because I am a programmer, not a designer. Help in coding will be appreciated too, because I have very small experience in c++.

It has no textures and very simple meshes yet.

If you decide to try it in Orbiter, be warned that it can be very buggy, although I made big efforts to eliminate all bugs. Use it at your own risk.

Please post your comments and suggestions.

P.S.: sorry for my English, this is not my native language

EDIT: You can always download the latest version and the source code from SourceForge.net
http://sourceforge.net/project/showfiles.php?group_id=226025
 
Last edited:
Woohoo! This is just what I've been looking for:)! I'm experienced with c++, but I haven't done much with the Orbiter API, so perhaps our skill-sets could complement each other, or something. I can also make pretty good 3ds files, but I don't know much about texturing, so I'm not sure what help I can be on the modeling front. English is my first language, so if you want me to, I can help with the documentation.

This looks very good already, I especially like the VC, and the menu system:speakcool:. I haven't been able to assemble anything yet, since it crashes, but I'll try on a clean installation soon and see if I get better results.

I'll be happy to help in any way I can!:cheers:
 
If I had time, I would love to help - I think this is a great project idea. (I was thinking something like a Modular Transport myself... but I have no time for add-on dev at the moment)

However, I will give you this suggestion - when you make it, you should be able to add "engine" modules that add their thrust and all that to the ship - as well as fuel modules that will add their fuel tanks to the ship as well.
 
Very good to see that there are already people who like to collaborate. Thank you, Scarecrow! :cheers: It is very important, because this addon is rather complex from programmer's point of view. I had many crashes during development too. But it seems to me that I got rid of it. The main problem was to add meshes to the ship after module was integrated, because you must recreate a visual representation of the ship and the only way to do this as far as I know is to move camera far away and then return it back.

It should be easy for everyone who has at least small experience in 3D modeling to make modules for this addon. And it will be easy to use this modules for ship building. So, Scarecrow, if you like, please, create meshes. I think yours will be better than mine anyway.;) The primary need is smaller fuel tanks, consumables tanks, any types of trusses, different kinds of engines, habitable modules, comm modules, solar arrays... And many more :) You see there are much work. But it won't be hard to make it one by one and include in addon gradually. I have an opinion that well made meshes can look very good even without textures.

I hope you can contribute your coding skills too. I think I will have some functionality that can be coded independently soon.

Thanks again for your response. The more people will cooperate on this addon, the better it will be and will be released much sooner.
 
However, I will give you this suggestion - when you make it, you should be able to add "engine" modules that add their thrust and all that to the ship - as well as fuel modules that will add their fuel tanks to the ship as well.

Sorry, EtherDragon, but if I understand you correctly, this is already implemented. When you integrate engine it can be used as thruster, you just need to enable it on the Engines screen of the Main display. Select main group and click on engine name. If the name is highlighted the engine is on. Fuel modules add to the ship's fuel amount as well. You should see it on the Fuel screen of the Main display.

Best regards
 
this sounds rather interesting. I once considered something like this and dropped it because I came to the conclusion that it was not quite feasible. Maybe you can convince me otherwise if you answer me some questons:

the first one you mentioned yourself: How are you going to stuff the meshes together into one on runtime, PLUS conserving animations??

second: including new models into animations. E.g. you got a centrifuge and you pack a habitat on it and some other stuff on the other side for counterweight. When you get your centrifuge going, the attachements have to go with it. It's probably solvable if you indeed manage to get all the stuff into one mesh, but I don't think it's possible to have moving attachement points, or is it? on a second thought... a Canadarm does just that... maybe not so difficult as I imagined it to be. hmmm.

third: finding the right spots for attaching rcs thrusters on a modular vessel is a pain in the ass, because mostly there's no attachement point where you'd need it.

If you think you can manage these things, I might think about teaming up. Will have to take a deeper look at your exact plans and and at my spare time first, though... :dry:
 
How are you going to stuff the meshes together into one on runtime, PLUS conserving animations??

I already do it. Animations are defined for cargo modules. You just call AddMesh() and create animation like for usual vessel. If module isn't aligned with Z axis you have to rotate a mesh. This is done in clbkVisualCreated() function. But first you must set the animation to the initial state. After mesh is rotated return the animation's state. You can see how it is made in the source code.

second: including new models into animations. E.g. you got a centrifuge and you pack a habitat on it and some other stuff on the other side for counterweight. When you get your centrifuge going, the attachements have to go with it. It's probably solvable if you indeed manage to get all the stuff into one mesh, but I don't think it's possible to have moving attachement points, or is it? on a second thought... a Canadarm does just that... maybe not so difficult as I imagined it to be. hmmm.

I haven't tried to make a continuing animation (like rotating habitat) yet. The problem will be with modules that aren't aligned with ship's Z axis. Currently I stop all animations when visual is destroyed, i.e. camera moved far away from ship. But there shouldn't be problems with restarting animations after visual is created again. Attachment points can be rotated too. But I think there shouldn't be attachment points on movable parts.

finding the right spots for attaching rcs thrusters on a modular vessel is a pain in the ass, because mostly there's no attachement point where you'd need it.

Yes, it will be difficult if the center of mass is shifted significantly from the Z axis. But most ships will have center of mass that lies on the Z axis or is near. In this case just add RCS blocks to the corners of the ship in XZ plane.
 
interesting...

Well, it would be quite nice to get centrifuges in, but maybe at a later stage.

However, something I couldn't do without in such a mod was damage modelling... It's boring to fly through the solar system when nothing can go wrong. It's not necessary to implement it completely, but providing an interface over which custom damagemodels can be added (through ini-files or other dll's) would be very nice!

Plus, and I think this is not too difficult but has to be taken into accout, making it possible for other dll's to fully use the mod at runtime (e.g. someone could do another mod that assembles vessels for the player to fly, etc. Kind of a frst step to a procedural vessel creation).
 
Sure, damage model adds much to the playability. And at some step it will be implemented. BTW, it could be coded by someone else, who wants to cooperate. Overall I want this addon to be as realistic as possible. Soon I will add oxygen level and temperature checking in the manner of XR5. User will have to add oxygen storages and radiator panels as modules. I am planning to add centrifuges soon too.
 
Sounds very encouragin, all in all...

I'm testing it out right now an I wanted to ask if you could pass me the dimensions of the modules so I can addjust the configs for the XR 5?

I also just noticed that I seem to be unable to get the commando module into the XR 5... hmm. I don't dare to add too much stuff to its config, but obviously XR 5 is not satisfied with the normal parameters I just entered... ?
 
Sorry, EtherDragon, but if I understand you correctly, this is already implemented. When you integrate engine it can be used as thruster, you just need to enable it on the Engines screen of the Main display. Select main group and click on engine name. If the name is highlighted the engine is on. Fuel modules add to the ship's fuel amount as well. You should see it on the Fuel screen of the Main display.

Best regards

Excelent! I'm really looking forward to this one! Oh - will this modular transport use realistic fuel consumtion and thrust capacity?

Will the ISP (fuel consumption) and thrust be configurable?

I ask because there are those of us who are interested in trying to discover what it would take to get a large cargo transport (or explorer) into interplanetary flight with realistic isp/thrust values.
 
Well, you'll find that out alot faster wit a pocket calculator :lol:

btw, there are really few engines that have adjustable thrust and isp... So far I know the Nerva and the Vasimir. Otherwise you got to change the engine.

dang, I can't get the command module to be XR 5 compatible... without command module, no ship, I guess...
 
Even on a clean installation, I'm getting CTDs when I try to attach anything. This is the procedure I'm using, could you tell me if I'm doing anything wrong?

1. On a clean orbiter installation with InterMod installed, open the Delta-glider/Cape Canaveral scenario.
2. The only module activated is the Scenario Editor.
3. Create a Ship.
4. Create a FuelTank.
5. Pause the simulation.
6. Copy the state vectors of the Ship to the FuelTank, so they're in exactly the same place.
7. Unpause.
8. Use the Ship's linear RCS thrusters to move it forwards, so that the little circle things are barely touching each other.
9. Press A, to attach them together.

It crashes at step 9. What am I doing wrong?
 
same here. I created a ship using scenario editor next to my Vanguard, created a truss in the cargo bay, took it there with an mmu, on attachement ctd. No way out discovered as of yet.
 
dang, I can't get the command module to be XR 5 compatible... without command module, no ship, I guess...

I recommend you to use excellent Universal Cargo Deck by Yuri Kulchitsky. It makes cargo attachment much easier. Currently I use Universal Cargo Deck with InterMod too. But since it is not compatible with vessels that shift their center of gravity, you can use it only when you finish a ship building. Later I probably add custom attachment management for cargo.
 
Will the ISP (fuel consumption) and thrust be configurable?

ISP and thrust are configurable now. Please find corresponding lines in Engine.cfg. But my plan is to include many engines (preferably realistic), with the wide range of parameters, with different types of fuel. There will be config files with names Engine_XXX.cfg, where XXX is a name of engine. Each will have it's own look.

This is probably the main reason why came to the idea of this addon. I wanted to try existing vessels with VASIMR engine, but how can you make ejection burn from low Earth orbit with VASIMR engine only. Therefore I decided to make a ship that will have usual engines for initial burn and VASIMR engines for continuous acceleration.
 
The problem was Mir, which has no class name. I didn't even know that vessels can have no class name.

View attachment 334

Oh ya, that one put me in quite a pickle in the past. Martin has said that he might make GetClassName return the vessel name if the vessel in question has no class name.
 
but how can you make ejection burn from low Earth orbit with VASIMR engine only.
Easy thing: you circle up until gravity gets neglectable. It takes it's time and seems inefficient at first, however the weight penalty of additional thrusters is even more inefficient.

The major problem with low thrust/high isp engines in Orbiter is currently that there is no navigational mfd for long duration burns, and constant thrust will require an autopilot to run, which is ugly under high time compression. I'm currently making up a concept of which I hope that it will be able to solve the problem with acceptable precision, but it's not much more than a few ideas and a few formulae right now, it will be a few months at least before I produce anything worth testing, plus I have no idea if it will work.

Will try your new version today :)

Oh yes, on a side note: It would be cool if you could consider having a module brought up in more than one part. A He3-D fusion engine will not fit into any cargo bay, and if we're ever going to have regular traffic around the solar system, this is most probably the engine we'll be using (widespread fuel resources, enough thrust to bring even heavy ships to an acceleration of about 0.01 m/s square and an totally insane isp. But the darn thing will be about 200 meters long!!)
 
It works. Big fun! count me in for modelling and texturing. I suggest you make a priority list with stuff you want first, so modellers can "claim" what they want to do, that way everybody knows what to do and no two people are doing the same thing. btw, I have an engine lying around somewhere which I made some time ago and never used. will post some pics.

oh yeah, and you better specify what the max texture size is gona be, or this could get a mess... ;)
 
Back
Top