Join us at the Oolite Anniversary Party -- London, 7th July 2024, 1pm
More details in this thread.

Permit systems and system permits

An area for discussing new ideas and additions to Oolite.

Moderators: winston, another_commander

User avatar
DaddyHoggy
Intergalactic Spam Assassin
Intergalactic Spam Assassin
Posts: 8512
Joined: Tue Dec 05, 2006 9:43 pm
Location: Newbury, UK
Contact:

Post by DaddyHoggy »

I thought some more about my original thoughts on this theme. After Teorge I also wanted to do something more Ooniversal. Specifically, there are lots of systems that have descriptions that include that the phrase "evil disease" - so what about if, on occasion, these systems were quarantined and you could only trade with them if you had a special visa and/or also bought some expensive de-con equipment (the de-con equipment would have a finite lifetime before it needed replacing or expensive maintenance but the system would pay extremely highly for specially scripted medical supplies to be shipped in while the emergency was on).

[Note: I discussed something similar with Svengali when I was writing the stories for Snoopers - it would make the ideal injection system for additional mission details to be added]
Selezen wrote:
Apparently I was having a DaddyHoggy moment.
Oolite Life is now revealed here
User avatar
pagroove
---- E L I T E ----
---- E L I T E ----
Posts: 3035
Joined: Wed Feb 21, 2007 11:52 pm
Location: On a famous planet

Post by pagroove »

Well permits do not have to last permanently. Somethims they are caused by conflict between 2 planets. Could also be triggered by Snoopers events (idea?)

Situation where a perimit could be issued are: (like mentioned before)

economic blokkade
diplomatic conflict
war
disease
Thargoid incusion
Nature park
Protection of certain population
Trumble infestation
Zero-G championship (to prevent system overcrowding)
Party (like the Reinen Beerfesten)
investigation by GALCOP, Military
Impending NOVA
Meteor disaster

etc.

You name it.

Would be fun is they could be assigned randomly and last for a few player days. Then the dice would be rolled again to see if the situation is getting better or worse(iow the permit stays then)
For P.A. Groove's music check
https://soundcloud.com/p-a-groove
Famous Planets v 2.7. (for Povray)
Image
https://bb.oolite.space/viewtopic.php?f=4&t=13709
User avatar
DaddyHoggy
Intergalactic Spam Assassin
Intergalactic Spam Assassin
Posts: 8512
Joined: Tue Dec 05, 2006 9:43 pm
Location: Newbury, UK
Contact:

Post by DaddyHoggy »

pagroove wrote:
Well permits do not have to last permanently. Somethims they are caused by conflict between 2 planets. Could also be triggered by Snoopers events (idea?)

Situation where a perimit could be issued are: (like mentioned before)

economic blokkade
diplomatic conflict
war
disease
Thargoid incusion
Nature park
Protection of certain population
Trumble infestation
Zero-G championship (to prevent system overcrowding)
Party (like the Reinen Beerfesten)
investigation by GALCOP, Military
Impending NOVA
Meteor disaster

etc.

You name it.

Would be fun is they could be assigned randomly and last for a few player days. Then the dice would be rolled again to see if the situation is getting better or worse(iow the permit stays then)
Yup, I like 'em all - and I was thinking much the same (great minds and all that!)
Selezen wrote:
Apparently I was having a DaddyHoggy moment.
Oolite Life is now revealed here
User avatar
PhantorGorth
---- E L I T E ----
---- E L I T E ----
Posts: 647
Joined: Wed May 20, 2009 6:48 pm
Location: Somewhere off the top left of Galaxy 1 map

Post by PhantorGorth »

pagroove wrote:
Well permits do not have to last permanently. Somethims they are caused by conflict between 2 planets. Could also be triggered by Snoopers events (idea?)
My Visa OXP which I am currently coding is an visa engine. You will be able to add as many visas as you like. It will handle the registration and orchestration of them. Currently I am designing it to handle three types of visa:

1) System Visit Visa - Applies to the whole system.
2) Planet Visit Visa - Applies to one of the planets or moons.
3) Ship/Station Permit - Applies to any dockable object.

An OXP could inject a visa into the system by registering the details and registering functions to:

a) Check for availability of the visa. An example would be that the visa is only available to purchase at neighbouring system.
b) Check the player's eligibility and if (s)he violates the terms. An example would be that you are clean and do not increase you legal status whilst in the system.
c) Provide punishment/sanctions to the player for illegal entry or breaching the terms. These could be fines and/or legal status increases or anything you can program in an OXP.
pagroove wrote:
Situation where a permit could be issued are:

economic blokkade
diplomatic conflict
war
disease
Thargoid incusion
Nature park
Protection of certain population
Trumble infestation
Zero-G championship (to prevent system overcrowding)
Party (like the Reinen Beerfesten)
investigation by GALCOP, Military
Impending NOVA
Meteor disaster

etc.

You name it.
Most of those scenarios fit into the 3 types I am creating. The few visa/permit types I haven't covered are permits for the vicinity of non-dockable objects or general no fly zones. These would involve periodic checks as to the player's co-ordinates to see if the NFZs are breached. Please note that I going to have to do that for non-main stations anyway so I may add these two types in once I am happy with the above three.
pagroove wrote:
Would be fun is they could be assigned randomly and last for a few player days. Then the dice would be rolled again to see if the situation is getting better or worse(iow the permit stays then)
You will be able to disable the visa at any time.
User avatar
pagroove
---- E L I T E ----
---- E L I T E ----
Posts: 3035
Joined: Wed Feb 21, 2007 11:52 pm
Location: On a famous planet

Post by pagroove »

PhantorGorth wrote:
pagroove wrote:
Well permits do not have to last permanently. Somethims they are caused by conflict between 2 planets. Could also be triggered by Snoopers events (idea?)
My Visa OXP which I am currently coding is an visa engine. You will be able to add as many visas as you like. It will handle the registration and orchestration of them. Currently I am designing it to handle three types of visa:

1) System Visit Visa - Applies to the whole system.
2) Planet Visit Visa - Applies to one of the planets or moons.
3) Ship/Station Permit - Applies to any dockable object.

An OXP could inject a visa into the system by registering the details and registering functions to:

a) Check for availability of the visa. An example would be that the visa is only available to purchase at neighbouring system.
b) Check the player's eligibility and if (s)he violates the terms. An example would be that you are clean and do not increase you legal status whilst in the system.
c) Provide punishment/sanctions to the player for illegal entry or breaching the terms. These could be fines and/or legal status increases or anything you can program in an OXP.
pagroove wrote:
Situation where a permit could be issued are:

economic blokkade
diplomatic conflict
war
disease
Thargoid incusion
Nature park
Protection of certain population
Trumble infestation
Zero-G championship (to prevent system overcrowding)
Party (like the Reinen Beerfesten)
investigation by GALCOP, Military
Impending NOVA
Meteor disaster

etc.

You name it.
Most of those scenarios fit into the 3 types I am creating. The few visa/permit types I haven't covered are permits for the vicinity of non-dockable objects or general no fly zones. These would involve periodic checks as to the player's co-ordinates to see if the NFZs are breached. Please note that I going to have to do that for non-main stations anyway so I may add these two types in once I am happy with the above three.
pagroove wrote:
Would be fun is they could be assigned randomly and last for a few player days. Then the dice would be rolled again to see if the situation is getting better or worse(iow the permit stays then)
You will be able to disable the visa at any time.

Bump!

Any progress on your 'visa-engine'?
Really like to see some permit systems. Maybe some permit systems must has some benifits (bonuses or special items/missions) to make up for the permit?
For P.A. Groove's music check
https://soundcloud.com/p-a-groove
Famous Planets v 2.7. (for Povray)
Image
https://bb.oolite.space/viewtopic.php?f=4&t=13709
User avatar
PhantorGorth
---- E L I T E ----
---- E L I T E ----
Posts: 647
Joined: Wed May 20, 2009 6:48 pm
Location: Somewhere off the top left of Galaxy 1 map

Post by PhantorGorth »

pagroove wrote:
Bump!
Any progress on your 'visa-engine'?
Really like to see some permit systems. Maybe some permit systems must has some benifits (bonuses or special items/missions) to make up for the permit?

Yes I have written nearly all the code (bar a few lines I found I had missed) and I am about to start the final rounds of testing. I have already tested about half of the code but the most important parts of it (i.e. the Oolite callbacks) have yet to be tested.

At 2719 lines (currently) of Javascript it has taken me far longer than I hoped. Learned a lot on the way, mind.

I also have yet to get my head around Javascript closures as I really need to make some of the arrays read only from other OXPs to stop direct overrides of the data structures rather than going via my API. Plus it will help me stop things such as OXP A disabling a visa and then OXP B reinstating it. It really should be that disabling done by an OXP should only be re-enable-able by the same OXP.

Also I need to discuss modifications of PlanetFall with Thargoid so that it can have visa related messages when approaching a planet's surface.

And it is an injection system I will need to write a decent manual for other OXP writers.

So all in all, lots of work yet to do. I will also be looking for testers when I get closer to releasing this beast.

Current Features:
  • Each visa can be made up of one or more sub-visas from any of these following categories.

    Sub-Visas:
    • Systems Visas.

      Planet/Moon Visas.

      Ship Visas - Anything that counts as an Oolite ship including asteroids and stations that can be dockable or not. Also supports multiple configurable shells around a ship where you can trigger user-defined events (usually messages).
    Benefits and penalties set by the OXP developer.

    Flexible query functions that allow you to search for visas that match various criteria.

    Visas and sub-visas and any associated user-functions are replaceable or disable-able and re-enable-able.

    All aspects tailorable.
Future Possible Features for Later Versions:
  • New Sub-Visa types:
    • NFZ (No Fly Zones) Visas - User defines the shape and location of the NFZ in a CSG (Constructive Solid Geometry) way.

      General Permits - For user-defined permits such as trade restrictions on certain goods, etc.
Zireael
---- E L I T E ----
---- E L I T E ----
Posts: 1396
Joined: Tue Nov 09, 2010 1:44 pm

Post by Zireael »

A fine idea. Has it been done?
User avatar
PhantorGorth
---- E L I T E ----
---- E L I T E ----
Posts: 647
Joined: Wed May 20, 2009 6:48 pm
Location: Somewhere off the top left of Galaxy 1 map

Post by PhantorGorth »

The code is largely done but it isn't complete. The system visas is the most tested and that seems ok. I am at the point of creating an example station/ship visa to test that part. The part not touched yet is the Planet visas bit as that will require changes to PlanetFall. I will need to discuss that Thargoid before that can be complete.

Regards,

Phantor Gorth
User avatar
Thargoid
Thargoid
Thargoid
Posts: 5525
Joined: Thu Jun 12, 2008 6:55 pm

Post by Thargoid »

I'm not sure this is something I want in my own personal ooniverse, but I have no problem to tweak PF to play nicely with what's under development for those who do.

I await the call once the scripting is at a suitable level where my involvement is needed.
User avatar
PhantorGorth
---- E L I T E ----
---- E L I T E ----
Posts: 647
Joined: Wed May 20, 2009 6:48 pm
Location: Somewhere off the top left of Galaxy 1 map

Post by PhantorGorth »

@Thargoid
Just to forewarn you that I am not looking for huge changes just a way to let PlanetFall know that that the player can not land at a particular planet or moon. (Likely an added property to the planet object); a way to specify a text message to display when the player is told they are barred. (Again likely to be another planet object property that PlanetFall checks for and if missing or empty display a default message). And obviously have PlanetFall react to these settings. (Oh the barring wouldn't actually stop you landing though. If you land it would up to the other OXP to decide what to do.)

This could then be used by Visas and also by other OXPs too.

Regards,

Phantor Gorth
Switeck
---- E L I T E ----
---- E L I T E ----
Posts: 2411
Joined: Mon May 31, 2010 11:11 pm

Post by Switeck »

In a far lesser role, how hard would it be to get a fine for "scrapping paint" when docking at the station?
User avatar
Thargoid
Thargoid
Thargoid
Posts: 5525
Joined: Thu Jun 12, 2008 6:55 pm

Post by Thargoid »

PhantorGorth wrote:
@Thargoid
Just to forewarn you that I am not looking for huge changes just a way to let PlanetFall know that that the player can not land at a particular planet or moon. (Likely an added property to the planet object); a way to specify a text message to display when the player is told they are barred. (Again likely to be another planet object property that PlanetFall checks for and if missing or empty display a default message). And obviously have PlanetFall react to these settings. (Oh the barring wouldn't actually stop you landing though. If you land it would up to the other OXP to decide what to do.)

This could then be used by Visas and also by other OXPs too.

Regards,

Phantor Gorth
Doesn't sound anything too difficult (in the way PF interacts with things like Frame's Solar System (should that ever go further) or Cheyd's SR2.

As I said, get your coding to a beta-stage and then let me have a look at it. I'll adjust PF accordingly.
User avatar
Kaks
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 3009
Joined: Mon Jan 21, 2008 11:41 pm
Location: The Big Smoke

Post by Kaks »

Switeck wrote:
In a far lesser role, how hard would it be to get a fine for "scrapping paint" when docking at the station?
Not too terribly hard! :P
The normal collision detection doesn't apply to docking tunnels, but if all else fail you can create a custom player ship script that will check how close you are to the nearest station when taking scrape damage. If within 1000m of the station(or more - you can always check the role/type of station, and adjust the distance depending on the size of known station type) you can set a variable that represents a fine for dangerous driving. Once docked, you'll need a mission screen to pop up if the player had a fine, etc...

The only 'tricky' part is to create the oxp in such a way that it checks for player.ship.script and replace whatever it finds with the appropriate code: something similar to the console customisation example shown in this page: http://wiki.alioth.net/index.php/Debug_OXP

Anyway, to get the most out of Oolite, oxp wise, you really need js! :)
Hey, free OXPs: farsun v1.05 & tty v0.5! :0)
User avatar
Eric Walch
Slightly Grand Rear Admiral
Slightly Grand Rear Admiral
Posts: 5536
Joined: Sat Jun 16, 2007 3:48 pm
Location: Netherlands

Post by Eric Walch »

Kaks wrote:
The normal collision detection doesn't apply to docking tunnels,
Shall I also add the collision handler in the "shipIsInDockingCorridor" routine? I think it was just missed because that was an exception by simulating a fake collision by bypassing the regular routine and should be there also.
User avatar
Kaks
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 3009
Joined: Mon Jan 21, 2008 11:41 pm
Location: The Big Smoke

Post by Kaks »

Eric, sounds like a plan! :)

In that case, in 1.75 it's going to be really, really easy to add a fine if you scrape the tunnel! :D
Hey, free OXPs: farsun v1.05 & tty v0.5! :0)
Post Reply