Page 1 of 2
An idea for equipment / mission
Posted: Wed Apr 04, 2007 7:17 am
by *cat
Any programmers want to collaborate on this one (or maybe someone's written one already?)
I'm a big fan of E E "Doc" Smith, and he uses the idea of "pressors" - an opposite to a tractor beam.
Anyone think they can program some equipment that allows your ship to push things around without colliding with them?
I've got a couple of ideas for missions that involve pushing large asteroids around.
Another of Smith's ideas is the Negasphere - a planet sized mass of anti-matter, the Sub-Beam (concentrating the power of a star into a single energy beam) and sending a star through a hyperspatial tube to collide with a planet!
Can it be done? My only (limited) programming skils are in php, javascript and html, with a lot of photoshop and a wee bit of 3D, but I'm good at ideas.
- Paddy
Posted: Wed Apr 04, 2007 8:13 am
by dajt
My initial thought about the "pressor" is how does it work?
It is easy to apply a force to an object to get it moving in a straight line, but then I don't think this is actually what you want.
I'm guessing you want the thing being pushed to change direction with you etc. This would be possible to program in, but not using normal physics.
Cosmic Cow Catcher
Posted: Wed Apr 04, 2007 11:12 am
by *cat
Hi,
Thanks for thinking about the idea. I guess I'm really thinking of a front forcefield, like a cowcatcher on an old train, rather than a "doc" Smith pressor. So you could fly into something and, instead of crashing, you'd push it along. The skill would be pushing it in the right direction, nudging it into a different direction, or slowing it down. It wouldn't have to be "stuck" to the ship, so you'd slow down and it would drift off, in keeping with physics.
There would have to be a limit on how fast you could fly into something; so to slow something fast down, you'd have to get ahead of it, and slow down gradually (it would need to be a rear cow-catcher too, unless you'd rotate to do it). I'm mainly thinking of pushing asteroids around. How would fuel-scoops work with the cowcatcher attached? Could only large objects be pushed with small things automatically being scooped? What would a ship's AI do if you started pushing it around? Or a station!
The cowcatcher would have to not damage the thing you were pushing too.
The size of things you were pushing would have to have different momentum/mass.
If you hit a large asteroid travelling towards you, it would push you backwards, but too fast and it would smash you up.
Any ideas of how the cosmic cowcatcher would make "cheating" too easy?
Ideas of how the cowcatcher would be fun for missions:
1. Push a large asteroid into a rogue base, using it as a shield against their superweapon.
2. Get pushed along at ridiculous speeds by a scientific supership booster for some reason; scientific experiment, catch up with a rogue supership, escape from a nova you're sent to study as it explodes...
3. Move a hulk of a ship somewhere (like the salvaging idea someone else has had elsewhere) - maybe rescuing a lost prototype ship or historical artefact from the Tionsoli(?) graveyard. Maybe a whole salvage yard idea, with payment for ships you can shove into the right place?
4. Retreive something from inside a sun, using an asteroid as a heat shield.
5. Re-direct something that was on a collision course; ship or asteroid (I've just a mission that made me think of it - hopefully no spoiler there...)
How could the cowcatcher be good/bad for non-mission ("normal") play? Could non-players use them?
Looking forward to your ideas
- Paddy *cat
Posted: Wed Apr 04, 2007 1:16 pm
by Killer Wolf
some interesting ideas, but am i missing something blindingly obvious here - if you've got some huge mega asteroid in front of your ship, you're going to see bugger all but rock out your front window ~ won't that compromise gameplay or just eyecandy?? :-/
Posted: Wed Apr 04, 2007 4:23 pm
by Arexack_Heretic
You could switch to an external view...
---
May be possible to implement by using the performScriptOnTarget method, combined with setAITo: small flyawayfromTarget-AI, that exits after several seconds.
alternatively just a series of commands that tumbles, pausesAI several seconds.
Unfortunately, currently the only reliable method to deliver such a script by player operable weapon is a missile. I think.
Cowcatcher
Posted: Thu Apr 05, 2007 4:01 am
by *cat
Thanks for more interest - it would be great if someone could make this one work.
Re the "forward view full of asteroid" point, I imagine a few minutes of pushing with witch-fuel injectors at full blast (to send it crashing into some rogue planet or station!), rather than hours stuck behind the thing,or flying alongside an asteroid that's been pushed into the right course. And Oolite's such an environment that a bit of boredom doesn't go amiss.
Was someone investigating creating Oolite black holes? A mission to investigate one or a nova (or retrieve something from nearby), accompanied by a cargo-sized super engine might be fun: catch it with the cowcatcher, and send a signal to get it to push you out of range of the hole... or maybe just fitting a one-shot engine to the ship would be more sensible.
As for the programming issues, it all sounds a bit complicated to me; hopefully greater minds are able to give it a go...
Posted: Thu Apr 05, 2007 5:24 am
by davcefai
You can push objects around. I once spent some time pushing all the minesweeper satellites around a Black Monk monastery over the radar horizon.
As far as sheltering behind an asteroid goes, remember that a few laser bursts convert it to "minerals".
Posted: Thu Apr 05, 2007 7:42 am
by TGHC
davcefai wrote:You can push objects around. I once spent some time pushing all the minesweeper satellites around a Black Monk monastery over the radar horizon.
Now that
is an interesting strategy!
Posted: Thu Apr 05, 2007 7:54 am
by davcefai
Strategy didn't work because the minesweepers are effective over a very long range. Rather cheesed of the Black Monks though.
Shields
Posted: Thu Apr 05, 2007 8:10 am
by *cat
Didn't all that pushing wear down your shields? (as well as the nerves of the Monks of course!)
And as for the asteroid, I guess the mission would need a special asteroid... incidentally,my mil laser seems to be just as good for mining as my mining one, and some of those huuuuge asteroids turn into a few little boulders?!
Posted: Thu Apr 05, 2007 9:26 am
by Commander McLane
Indeed, you never needed a mining laser for mining. Every laser works fine for blowing asteroids up.
It could be, that when you use a mining laser the chance for boulders and splinters to appear is bigger. But I'm not even sure about that. Also a small survey on that in another thread didn't bring real results.
Posted: Thu Apr 05, 2007 9:44 am
by Arexack_Heretic
In classic elite the mil laser was less effective at generating splinters, I think this was more due to your burst hitting the splinters as they were created than an overflow of excessive damage to the child entities.
--
In the Frontier versions, blowing up asteroids was not an option. Instead you just chipped at the rock and chance of generating some scoopable debris was determined by the laser and the asterid itself. IIRC.
This could be a good way to script the Huge asteroids in Oolite as well.
(they could have the similar damage to hermit)
-
We could write a 'bigAsteroidAI.plist' that ejects more boulders when shot at....
only in the standard scripting method there is no way to check the type of laser or whether the entity was shot for that matter.
-
Javascript does give access to ship_heat_level (damage) to check integrity loss.
This could be checked everytime the AI gets messaged ATTACKED.
Probably there is also a way to check the attacker's EQ_WEAPON_type or NPC role=miner to increase likelyhood of splinter ejection event.
Posted: Thu Apr 05, 2007 12:24 pm
by JensAyton
Arexack_Heretic wrote:Javascript does give access to ship_heat_level (damage) to check integrity loss.
No, that’s GLSL. And it’s
hull_heat_level. Which only tells you about heat from stars and atmospheres. But close. :-)
My intention is that 1.69 will have (non-player) ship scripts in addition to AIs. These will be able to analyze incoming fire in more detail (as will world scripts for the player).
Posted: Thu Apr 05, 2007 12:42 pm
by Arexack_Heretic
Ahruman wrote:Arexack_Heretic wrote:Javascript does give access to ship_heat_level (damage) to check integrity loss.
No, that’s GLSL. And it’s
hull_heat_level. Which only tells you about heat from stars and atmospheres. But close.
)
...?... ok. That is how I understood it worked before the shader bussiness.
So are you using hull_heat_level is a stand-in for hull_damage_level in the explanation you give for shaders?
My intention is that 1.69 will have (non-player) ship scripts in addition to AIs. These will be able to analyze incoming fire in more detail (as will world scripts for the player).
great!
Posted: Thu Apr 05, 2007 1:10 pm
by JensAyton
Arexack_Heretic wrote:...?... ok. That is how I understood it worked before the shader bussiness.
Hmm? Ahh. Could be me missing something, then. Although I don’t think there’s a way to get at damage in JavaScript. (player.call() doesn’t work for “query” methods, only “action” methods.)