Oolite Bulletins

For information and discussion about Oolite.
It is currently Fri Dec 15, 2017 6:30 am

All times are UTC




Post new topic  Reply to topic  [ 55 posts ]  Go to page 1 2 3 4 Next
Author Message
 Post subject: [WIP] Diplomacy OXP
PostPosted: Sun Feb 26, 2017 9:47 pm 
Offline
---- E L I T E ----
---- E L I T E ----
User avatar

Joined: Tue Mar 03, 2015 11:35 am
Posts: 482
Location: Paris
Hello everybody,

i've got an idea, and I'm willing to implement it (very slowly because time, you know...).

But before spending days on developing it, I'd like to know what you think about it.

Mainly, it's this: developing a background of wars, attacks, victories, defeats, alliances, treachery and taxation for Oolite systems.
This background would evolve on a turn-by-turn basis, each turn happening during a jump of the player.

The main advantages as I see it:
- the player would be taxed (depending on their chosen base system and the system they enter), which would erode their money and balance the game (too much money being a problem),
- the background of wars could be understood as a developing (hi)story by the player,
- the oxp would provide some hooks for other oxps to know and react (on which system attacks which system, who defends, who loses, what are the alliances, the enemies, the bankrupt systems, what is the current economy (size, taxation), what is the goodwill of a system towards others... ),
- the story sentences could be enriched by other oxps ( :-))) )

Programmatically, I think a simple (!) machine state could be enough.

What do you think ?

Day


Last edited by Day on Thu Mar 16, 2017 2:16 pm, edited 1 time in total.

Top
   
 Post subject: Re: Diplomacy OXP
PostPosted: Sun Feb 26, 2017 10:13 pm 
Offline
---- E L I T E ----
---- E L I T E ----
User avatar

Joined: Thu Jun 20, 2013 10:22 pm
Posts: 1113
Hi Day,

I think this kind of thing might work best if it had periods or relatively high activity (one turn per jump) with much longer periods of no activity. Otherwise I get the impression that the story could become rather dominant.

The money issue is a tricky one as early on in game it's not that easy to come by and only really becomes a problem later on.

This might be a good way of adding more flavour to systems cursed by occasional/frequent civil wars and also limiting this oxps influence (so that many systems are neutral) might be a way to 'season the pot' without overpowering the main ingredients of the game.

_________________
"With our thoughts, we make the world" :-)


Top
   
 Post subject: Re: Diplomacy OXP
PostPosted: Sun Feb 26, 2017 10:28 pm 
Offline
---- E L I T E ----
---- E L I T E ----
User avatar

Joined: Tue Mar 03, 2015 11:35 am
Posts: 482
Location: Paris
Quote:
I think this kind of thing might work best if it had periods or relatively high activity (one turn per jump) with much longer periods of no activity. Otherwise I get the impression that the story could become rather dominant.
Interesting remark, I hadn't thought that the story becoming dominant could be a problem. But you're right, for certain types of players, like miners, it could be boring.
Hmm... Frequency could be configurable, and episodes too. And maybe some would not be informed of everything happening in the galaxy. And maybe some could not (a system which information are blockaded...).

Thank you Redspear :-)
Quote:
The money issue is a tricky one as early on in game it's not that easy to come by and only really becomes a problem later on.
Yes. In fact, the idea came from having too much money. For what is money mainly consumed in our world? War through taxation, of course!
I haven't decided yet how in-story the player is taxed. Do they have a tracer? Nope, so how? It should allow a progressive tax, so beginning players aren't taxed.
Quote:
This might be a good way of adding more flavour to systems cursed by occasional/frequent civil wars and also limiting this oxps influence (so that many systems are neutral) might be a way to 'season the pot' without overpowering the main ingredients of the game.
Yes. In fact, I think I'll have lots of experiments to do to see how galaxies evolve without converging towards a fixed state, or a boring state. And I'll take all suggestions on this.


Top
   
 Post subject: Re: Diplomacy OXP
PostPosted: Sun Feb 26, 2017 10:33 pm 
Offline
---- E L I T E ----
---- E L I T E ----
User avatar

Joined: Thu Jun 20, 2013 10:22 pm
Posts: 1113
Quote:
Hmm... Frequency could be configurable, and episodes too. And maybe some would not be informed of everything happening in the galaxy. And maybe some could not (a system which information are blockaded...).

Thank you Redspear :-)

Configurable is good and you are welcome :)

_________________
"With our thoughts, we make the world" :-)


Top
   
 Post subject: Re: Diplomacy OXP
PostPosted: Mon Feb 27, 2017 8:54 am 
Offline
Competent
Competent

Joined: Wed Dec 30, 2009 1:43 pm
Posts: 34
Well the attitude of the rich is you can never have to much money. So I hope some form of aggressive tax evasion will be available to the richer players.

_________________
Elite Commodore 64 1984
Dangerous Oolite January 2010
Right on Commander


Top
   
 Post subject: Re: Diplomacy OXP
PostPosted: Mon Feb 27, 2017 9:17 am 
Offline
---- E L I T E ----
---- E L I T E ----

Joined: Sun Jul 21, 2013 12:26 pm
Posts: 563
Quote:
I haven't decided yet how in-story the player is taxed. Do they have a tracer? Nope, so how? It should allow a progressive tax, so beginning players aren't taxed.
You can take Docking Fees OXP and hack it for your needs to achieve this. For instance, my locally hacked version takes into account the gov/econ/TL of the system and the cargo bay size of the ship. The F7 screen gives other system properties that could be used too. The only drawback I've found is that if you press F1 by accident (it happens to me from time to time), you may have to pay twice which may or may not be a problem depending on how high are your taxes.


Top
   
 Post subject: Re: Diplomacy OXP
PostPosted: Mon Feb 27, 2017 9:23 am 
Offline
---- E L I T E ----
---- E L I T E ----
User avatar

Joined: Tue Mar 03, 2015 11:35 am
Posts: 482
Location: Paris
Quote:
Well the attitude of the rich is you can never have to much money. So I hope some form of aggressive tax evasion will be available to the richer players.
Good idea !

Tax reduction is generally done through three means:
- investment on projects deemed strategic to the society by the government (reduction),
- identifying falsely the money usage as strategic investment (fraud),
- identifying the money owner as another system's citizen (evasion).

If you see something else, please propose :-)

Reduction may be proposed as a hook to other oxps XD
Fraud, idem I suppose.
Evasion... I need to think on this. It's related to the looting, the spoils of wars. Historically, one put its money elsewhere to protect it from one's own government and from war. So, it's related to the way the tax is in-story known and collected.

And I've yet no idea on how it's known and collected. Any idea?


Top
   
 Post subject: Re: Diplomacy OXP
PostPosted: Mon Feb 27, 2017 9:29 am 
Offline
---- E L I T E ----
---- E L I T E ----
User avatar

Joined: Tue Mar 03, 2015 11:35 am
Posts: 482
Location: Paris
Quote:
You can take Docking Fees OXP and hack it for your needs to achieve this. For instance, my locally hacked version takes into account the gov/econ/TL of the system and the cargo bay size of the ship. The F7 screen gives other system properties that could be used too. The only drawback I've found is that if you press F1 by accident (it happens to me from time to time), you may have to pay twice which may or may not be a problem depending on how high are your taxes.
Thank you, good idea :)

I use this oxp, and like it.

Seems like I'll have another role.

Currently, the roles I defined are:
- Galaxy,
- System,
- Alliance,
- Traveller,
- Station.


Top
   
 Post subject: Re: Diplomacy OXP
PostPosted: Mon Feb 27, 2017 9:59 am 
Offline
---- E L I T E ----
---- E L I T E ----
User avatar

Joined: Mon May 20, 2013 9:53 pm
Posts: 2434
Location: Budapest, Hungary (Mainly Agricultural Democracy, TL10)
Quote:
if you press F1 by accident
Turn on Autosave in F2/Game Options which save right before launches, then load it after accidents.

_________________
OXPs by Norby


Top
   
 Post subject: Re: Diplomacy OXP
PostPosted: Tue Feb 28, 2017 3:09 pm 
Offline
Deadly
Deadly
User avatar

Joined: Sat Jan 25, 2014 2:35 am
Posts: 189
Location: floating the Blackfoot
This looks interesting and it has given me an idea that helped lay out a storyline for an oxp I have been working on.

_________________
Realize collective conscious creation


Top
   
 Post subject: Re: Diplomacy OXP
PostPosted: Wed Mar 01, 2017 2:41 pm 
Offline
---- E L I T E ----
---- E L I T E ----
User avatar

Joined: Tue Mar 03, 2015 11:35 am
Posts: 482
Location: Paris
Quote:
This looks interesting and it has given me an idea that helped lay out a storyline for an oxp I have been working on.
:D :?:


Top
   
 Post subject: Re: [WIP] Diplomacy OXP
PostPosted: Thu Mar 16, 2017 2:29 pm 
Offline
---- E L I T E ----
---- E L I T E ----
User avatar

Joined: Tue Mar 03, 2015 11:35 am
Posts: 482
Location: Paris
http://pradier.info/oolite.oxp.Day.Diplomacy.oxz
Edit: waiting for the 0.2 version as some js scripts weren't included.

==============================
Description

Hello everybody,

this is the version 0.1 of the Diplomacy OXP. Its intended goal is to allow historical events to happen between systems (attacks, loots, alliances, taxes...),
and to have actions depending on this (news, massed flottillas, state racket, who knows?).
Technically, I see it as a war/diplomacy framework.

What's currently implemented?

Functionality-wise, the oxp currently adds flavour by displaying a Tax level and a Treasury level in the F7 system information.
Each system treasury is increased by taxation each player jump.
Why taxation? Because wars require money, and countries are defeated either by battles or by bankruptcy, sometimes the latter producing the former.
So systems treasury should be a main factor in a war/diplomacy framework.

Technically the oxp contains an Engine which defines some useful classes (between double quotes) and not-classes (between single quotes) for oxp developers:

An 'EventType' is a string defined by an oxp developer. As an example, the system taxation EventType is "SELFTAX".
EventTypes are stored in an ordered array, so that "Event"s' "Response"s and "Action"s may be executed in a designed order
(for example, "VICTORY" should follow "ATTACK" and not happen before :) ).
For a same EventType, recurrent "Action"s are executed before "Event"s.

An 'ActorType' is a string defined by an oxp developer. As an example, the system ActorType is "SYSTEM".
ActorTypes are stored in an ordered array, so that "Event"s' "Response"s and "Action"s may be executed in a designed order
(for example, "SYSTEM"s should act before "ALLIANCE"s as information come to alliances through their systems :) ).
For a same ActorType, recurrent "Action"s are executed before "Event"s.

An "Action" may be said init (only executed once at the creation of an Actor) or recurring (executed each turn).
An "Action" encapsulates a function, which typically will fire Events, or act onto the Oolite world.
It contains: an 'EventType', an 'ActorType' (whose kind of actors will execute this action?), and a function.

An "Event" is something done by an "Actor", to which other Actors may react by some "Response"s.
It contains: an 'EventType', the acting Actor id, and some args to be used by the Responses (defined by the oxp developer).

An "Actor" is everything which should react to events. Systems are Actors, Alliances will be.
It contains : an 'ActorType', the Actor id, its responses, and the observing other actors' ids.
An Actor observer is another actor which may react onto that actor events.
This is useful so that for example only near systems may react to an event, and not far away systems.
It's useful to limit the cpu load too by at least a factor 100.

A "Response" encapsulates a function.
It contains: an Id, the 'EventType' to which it responds, the 'ActorType' of actors which will use this response, and a function which may use the args given in the event.

Now, how do an oxp developer interact with the engine to use these marvelous concepts?

To be written :)
But check DayDiplomacy_1_Systems.js and DayDiplomacy_2_Tax.js to see how the systems and the taxation were implemented in less than 70 lines each :)

==============================
Effects on game difficulty

None yet.

==============================
Compatibility

==============================
Dependencies

==============================
Instructions

Do not unzip the .oxz file, just move into the AddOns folder of your Oolite installation.

==============================
License

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License version 4.0.
If you are re-using any piece of this OXP, please let me know by sending an e-mail to david at pradier dot info

==============================
Changelog

0.1 First version of the Diplomacy engine. Systems are introduced as a type of "Actor". "SELFTAX" is introduced as an event for systems. Tax level and treasury are displayed on the F7 screen.


Last edited by Day on Fri Mar 17, 2017 2:43 pm, edited 1 time in total.

Top
   
 Post subject: Re: [WIP] Diplomacy OXP
PostPosted: Thu Mar 16, 2017 2:32 pm 
Offline
---- E L I T E ----
---- E L I T E ----
User avatar

Joined: Tue Mar 03, 2015 11:35 am
Posts: 482
Location: Paris
And what's the current main limitation?
A performance bottleneck: 1024 systems emitting events which are processed by 1024 other systems means millions of processed events each turn.
So next version will be assigned to performance improvement, and load repartition (probably on frame callbacks when in-station).

Bug-free as much as i know. For this version, I didn't test deeply the Event+Response functionalities.
Systems/Taxes were implemented through Init/Recurrent actions.


Top
   
 Post subject: Re: [WIP] Diplomacy OXP
PostPosted: Fri Mar 17, 2017 5:25 am 
Offline
---- E L I T E ----
---- E L I T E ----

Joined: Sun Jul 21, 2013 12:26 pm
Posts: 563
When does a "turn" happen?


Top
   
 Post subject: Re: [WIP] Diplomacy OXP
PostPosted: Fri Mar 17, 2017 6:39 am 
Offline
---- E L I T E ----
---- E L I T E ----
User avatar

Joined: Tue Mar 03, 2015 11:35 am
Posts: 482
Location: Paris
Quote:
When does a "turn" happen?
Hi Astrobe,
currently each jump.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 55 posts ]  Go to page 1 2 3 4 Next

All times are UTC


Who is online

Users browsing this forum: Yahoo [Bot] and 17 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
cron
Powered by phpBB® Forum Software © phpBB Limited