Jump to content

[WIP] DMagic Orbital Science: New Science Parts - V0.8.2 (7/17/2014)


DMagic

Recommended Posts

Science parts fitting into universal storage container is GREAT idea.

By the way, what new parts are you working on?

I was working on the EVA anomaly scanner, then I got frustrated (and have again several times since then), so then I made this part.

dOxzEeE.gif

I still have no plans for actually using, but I'll think of something. It's ready to be textured and the animation needs some cleaning up, but otherwise it's mostly ready.

Link to comment
Share on other sites

Nice scientific bread box :D

IMO, this would be great as sample analyzer - single-use, all-in-one package designed for analyzing surface samples on-site.

- Go on EVA and take surface (or asteroid) sample

- Go to sample analyzer, open it and choose your experiment:

*Left tool: Analyze reflectiveness - put your sample into this tool to analyze its reflective properties

*Central tool: Analyze biological properties - use a collection of various chemicals to detect life signs in your sample.

*Right tool: Analyze Dust properties - grind your sample into fine dust for fun and science. But mostly for fun.

The experiment will consume your surface sample, so you'll have to collect another one to perform another experiment.

The part should be about the size of Kerbal helmet. It can be used only on EVA, every experiment can be conducted only once. Then you may take data or return it to Kerbin (but you cannot clean it via lab)

Link to comment
Share on other sites

I was working on the EVA anomaly scanner, then I got frustrated (and have again several times since then), so then I made this part.

http://i.imgur.com/dOxzEeE.gif

I still have no plans for actually using, but I'll think of something. It's ready to be textured and the animation needs some cleaning up, but otherwise it's mostly ready.

That's really nice. The only cleaning up it needs is some springy recoil!

Link to comment
Share on other sites

Dmagic, i have idea for you.

Its for sensors like orbital telescope or some other future cameras you might make.

Bassicly, its dding controll from here. Player clicks it and turns ship so sensor faces surface of planet below.

If sensor just stares into void, player woudl get 0 science/error message.

Well thats it.

Link to comment
Share on other sites

The part I showed above is actually another type of imager. I modeled after the Cassini imaging pallet, but removed most of the visual wavelength telescopes.

b92kohf7.gif

I have some vague plans for including some type of actual imaging for this and the regular telescope, but that probably won't happen for a long time.

Link to comment
Share on other sites

Could you tell me how you animated the doors? They just seem to disappear.

That's an untextured Blender render, so it's a little bit difficult to see what's going on. But basically the cover is made of nine wedge shaped pieces, each one moves down slightly towards the center then rotates back, as the first piece is rotating the next piece moves down and so on. That's the part of the model that needs the most work (and I've already spent well over half of the time on that model building the cover and animating it), but it will probably look a lot clearer once it's textured.

Link to comment
Share on other sites

  • 2 weeks later...
DMagic, these are some of my favourite parts in the game--thanks so much for making them.

I'm glad you like them, and I really like those pictures.

I've been meaning to update the gallery I use to show off these parts and that first picture is a nearly perfect example of the kind of vessels I have in mind. Is it ok if I borrow that picture and include it in my gallery?

Link to comment
Share on other sites

All the visible dishes, battery packs, and solar panels are from AIES. It has a lot of really decent probe parts, including some quality small engines (I actually deleted a lot of the larger parts, just to save space). The four small dishes have a nice animation, to boot.

Link to comment
Share on other sites

Hey DMagic,

I've been so wrapped up in coding I've missed your parts! I was also notified on my SM thread that Science transfers do not seem to work with your parts. I want to get to the bottom of it, and I was told you were aware of the issue.

If you would be so kind as to describe the problem I will see if I can correct it or work with you to ensure compatability.

Thanks!

Link to comment
Share on other sites

Hey DMagic,

I've been so wrapped up in coding I've missed your parts! I was also notified on my SM thread that Science transfers do not seem to work with your parts. I want to get to the bottom of it, and I was told you were aware of the issue.

If you would be so kind as to describe the problem I will see if I can correct it or work with you to ensure compatability.

Thanks!

Your code sees everything that uses ModuleScienceExperiment, including everything that inherits from it.

Since most of my parts inherit from ModuleScienceExperiment they show up in the list of science parts on the vessel. The problem though, is that the base ModuleScienceExperiment.GetScienceCount() method won't actually return anything, so the method from the more derived module needs to be used.

Because I'm generating science data differently from the standard way of doing I need to use my own methods to make sure that everything gets moved around and stored properly, so I use


new public int GetScienceCount()
{
return scienceReportList.Count;
}

while base.ReturnScienceCount() always returns 0, because my module never creates anything for the base method to see. The same goes for DumpData(ScienceData x) and ResetExperiment(). The base methods won't do much of anything so the more derived method needs to be called.

There is a way to instead call the methods from the most derived module, xEvilReeperx came up with something for calling the derived DeployExperiment() that seemed to work fine when I tested it. The code is here (search for "deployable" to skip to the right section). It's a little over my head (using GetType().InvokeMember()), but it doesn't look too complicated and I think it should work the same way for the methods your code is using.

Thanks for looking into this.

Link to comment
Share on other sites

Since most of my parts inherit from ModuleScienceExperiment they show up in the list of science parts on the vessel. The problem though, is that the base ModuleScienceExperiment.GetScienceCount() method won't actually return anything, so the method from the more derived module needs to be used.

Uh, in this case it's actually because you didn't override IScienceDataContainer.GetScienceCount. Instead, you hid the inherited member and created a brand new version. ScienceAlert only works because it uses IScienceDataContainer.GetData and not IScienceDataContainer.GetScienceCount, otherwise it'd be calling the wrong one too. You'll note that you DO override GetData:

ScienceData[] IScienceDataContainer.GetData()
{
return anomalyData.ToArray();
}

:)

Link to comment
Share on other sites

Uh, in this case it's actually because you didn't override IScienceDataContainer.GetScienceCount. Instead, you hid the inherited member and created a brand new version. ScienceAlert only works because it uses IScienceDataContainer.GetData and not IScienceDataContainer.GetScienceCount, otherwise it'd be calling the wrong one too. You'll note that you DO override GetData:

:)

I've never really been clear on how to properly setup this interface code. But I thought I had setup GetScienceCount and GetData the same way (for the anomaly scanner code and the generic module).


ScienceData[] IScienceDataContainer.GetData()
{
return anomalyData.ToArray();
}

int IScienceDataContainer.GetScienceCount()
{
return anomalyData.Count;
}

Then further down I'm hiding the ModuleScienceExperiment methods:


new public ScienceData[] GetData()
{
return anomalyData.ToArray();
}

new public int GetScienceCount()
{
return anomalyData.Count;
}

I setup things the way they are so that transmitting from the antenna button would work, but I didn't exhaustively test it, so I'm not sure exactly what is necessary and what isn't. And I know there are still some problems with it, EVA data collection, for instance, is using some overly complicated workaround to transfer the data.

Obviously I need to spend more time figuring how to get this interface stuff setup right.

Link to comment
Share on other sites

I've never really been clear on how to properly setup this interface code. But I thought I had setup GetScienceCount and GetData the same way (for the anomaly scanner code and the generic module).

[... code ...]

Ah, I didn't see the interface overrides. There's no need to hide them though. The actual type is hidden behind the interface so overriding the methods you're interested in will just work unlike Deploy().

In that case, Ship Manifest should work for your experiments aside from the BioDrill which did not override its interface. ShipManifest itself also has a bug that prevents it from seeing BioDrill or any other experiment that isn't derived from ModuleScienceExperiment or ModuleScienceContainer. He really should be looking for experiment data containers (IScienceDataContainer) rather than MSE/MSC

Edited by xEvilReeperx
Link to comment
Share on other sites

Reading your magnetometer explanation it occured to me that it could be a good idea to change the Magnetometer behaviour. Right now you have just high orbit and low orbit, but the magnetic field is measured all over the place so you could make it work in low orbit above every biome.

You could nerf individual results, but buff the total for all biomes lightly. That would make a nice polar satellite mission possible.

Link to comment
Share on other sites

Ideally the magnetometer would be more like a mapping instrument than anything else. Of course, the problem is that the game doesn't have anything to actually scan, not to mention that displaying such a scan would be a bit of a challenge.

I decided not to allow biomes in space mainly to prevent having too much science available for it.

Link to comment
Share on other sites

I have idea. Antenna for universal storage mod.

Well i cam up with it when i did duna lander. I had four place storage core, so i put magnetometer, plasma detector, gravi/seismo, temp/press.

But plasma detector is usless on surface :) So antenna might fit well in fourth empty slot.

Link to comment
Share on other sites

I have idea. Antenna for universal storage mod.

Well i cam up with it when i did duna lander. I had four place storage core, so i put magnetometer, plasma detector, gravi/seismo, temp/press.

But plasma detector is usless on surface :) So antenna might fit well in fourth empty slot.

That's a pretty good idea. It makes sense, too, that you might want to pack some kind of fold out antenna into a storage wedge rather than have it awkwardly hanging on the side.

Link to comment
Share on other sites

  • 2 weeks later...
This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...