Return to “General”

Post

Contract Systems

#1
If I can qualify myself first -I craft, negotiate and award high value contracts by trade. I and my peers work to award everything from commodities, to services to construction for our agency.

Just wanted to add some input to your Dev Blog; I think you're overcomplicating a Contracts system -it's really a lot easier than you think. Fundamentally, and for gaming purposes you should have:

1. An Offer. This is a promise for goods or services from party A to party B.
2. Acceptance. From party B.
3. Terms. These are the parameters of the contract. What. Where. When. How many. Reward. You might want to drag-n-drop items into a "contract" to activate different Terms.
4. Provisions/Clauses. Particular stipulations to the contract. They are dependent on what you are buying. Provisions and Clauses change if you are buying a good vs a service. Think of this area as your exceptions. Checkmarks that may apply, and may not.
5. Consequences. If the contract is not upheld, there should be civil (and sometimes criminal) ramifications.

Obviously, you'll be dealing in two general areas, Goods and Services. Goods are easy. Services are a little more complicated, but with some forethought, you can break it down into simple codable systems. What services will you allow? The services you decide on will dictate the Terms and Provisions of the contract. For example: Bounty would require a Who. How long. Do you bring a head (token) back to claim the reward? How about Build a Warpgate: Where. What size?

Can you negotiate an award increase?

The difficult part will be deciding how much flexibility to build into the system. Obviously the more time you dedicate, the more flexible the system will become.
Post

Re: CONTRACT SYSTEMS

#3
Hi cdhames, welcome and thanks for your input :wave:

To be honest I'm not sure why you think that what you've laid out here is less complex than what I've been discussing? If anything, you've gone into more detail here than I have so far planned. Not that it's a bad thing, but I was a bit puzzled at the "it's really a lot easier than you think" remark considering what followed was more complex than anything I've described as of yet :think:

At any rate, my plans at the moment are actually to unify the idea of goods and services by thinking of all contracts as a request for a differential to be inflicted on the state of the world. Whether that differential is in the form of "number of X items that I hold" (a good) or "amount of damage you've inflicted on my enemy at Y" (a service), I would like the system to be agnostic to that. I also think we can drop provisions and clauses for the sake of the game, and focus solely on three elements: 1) the good 2) the reward (terms) and 3) the consequences. 3) would only be applicable only in the case of a private contract.

I am open to ideas concerning negotiations and how the 'consequences' part of the contracts might work :)

PS ~ If, by "it's easier than you think" you were referring to my distinction of public vs. private contracts, I definitely contend that it should be distinguished.
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford
Post

Re: CONTRACT SYSTEMS

#4
[Heh. Ninja'd by Josh. Well, let's see how this goes over, anyway.]

Welcome to the forum, cdhames.

The suggestions here feel pretty similar to the Player Contracts system I designed ten years ago for Star Wars Galaxies. (As a player, not one of the developers, I hasten to add.)

I'd be interested in hearing thoughts on that design. It basically works like this:
  • Two parties define a contract as materials, terms and conditions.
  • Materials are the goods or money to be exchanged.
  • Terms are rules for the deal's lifespan (immediate or future), frequency (one-time or recurring), and termination (unilateral or bilateral), and penalty.
  • Conditions are positive and negative gameplay states that determine when a contract succeeds or fails.
  • Both parties put the materials they hope to exchange into a notional "payoff box."
  • If there's a penalty-on-failure term, both parties put materials into a "penalty box."
  • Negotiation of materials, terms and conditions can continue until either party accepts or cancels the proposed deal.
  • As soon as one party accepts, the terms and conditions are locked, and the other party can only accept or cancel the whole deal.
  • The game's contract resolution engine is continuously told of state changes to conditions of active contracts.
  • If all positive conditions become true, the contract is flagged as successful and the contract is completed.
  • If any negative condition becomes true, the contract is flagged as broken and the contract is completed.
  • If one player cancels a bilateral contract, the contract is flagged as broken and the contract is completed.
  • If a contract is successful, the payoff materials are exchanged and any penalty materials are returned.
  • If a contract is broken, the payoff materials are returned to each party.
  • If a contract is broken and there's a penalty term, the materials in the penalty box are transferred.
There are some additional elements, such as whether a contract is personal (made between two known parties) or open (made by one party, placed on a public contract terminal, and accepted as-is by another party). And of course there are a lot of practical implementation questions that would have to be addressed, such as how a bilateral contract can end without penalty, and how to decide which party (possibly neither or both) was responsible for causing a contract to be broken, which determines who gets all the materials that were put by both parties into the penalty box.

But those are the main features of what I think would be a trustable system for letting NPCs and the player define contracts with/for each other. (Trustable is an important point -- where the terms and conditions of contracts can't be enforced, NPCs have far less reason to risk trading with anyone.)

Comments?
Post

Re: Contract Systems

#5
i'd suggest to make faction membership also something you do contract based.

basically: "you wear this faction tag and obey our orders and we pay you 1000 credits an hour"

it would make any sub-factions possible, as you could just employ someone and tell him to have another faction tag, so you have a sub-faction under your control without any special methods needed.

we also could extend it to include licenses
"you pay us 2000 credits and we allow you to fly heavy fighters in our realm"

disallowed conditions (you dont have the license to fly heavy fighters for example) could and should be shared inside the superfaction
so that for example the [caldari state] [police] sues you when you didnt get a license from [caldari state] [military] for heavy fighters, but once you've got it the whole superfaction accepts it

This also opens up for generalised temporary faction membership, for example for escort missions.
"Escort me there, wear my faction tag and i'll give you 15000 credits and you can use our supplies to rearm yourself while you escort me"
Post

Re: CONTRACT SYSTEMS

#8
Flatfingers wrote:
[...]

Comments?
Aye, I remember reading this a long time ago. Which reminds me of something I forgot to bring up earlier. Josh, how do contracts work w.r.t ensuring that both parties can keep their end of the deal? If I make a contract array DeliverOre(100), a set of 100 unilateral (public) contracts which promise 1000 credits for every delivered shipment of 50 tonnes of zirilium to Mua Refineries Ltd*, do I need to transfer 100,000 credits immediately into what Flatfingers calls a "payoff box", or do I pay out of pocket on the fly? If it's the latter, then debt is a possibility - how would this be handled, if that is the case?

*Purity must be 75% or above. Other terms and conditions may apply.
Post

Re: Contract Systems

#9
Escrow/ Payoff box, please. I've just about had it with salted buy orders, and having the player in dept can lead to nasty gameplay problems like being unable to repair ships, buy ammo or even pay for maintenance/fuel, should any of those be implemented. I'd say we simply disallow the player to spend money that he doesn't have.

EVE* has a skill that allows screwy buy orders, and just about the only application for it is fraud by artificially simulationg high demand for an item (which you just happen to sell now, don't delay, look, haha, there's several buy orders over 300 millions and the guy is selling it for 120, what a tool...) which actually isn't worth that much. If the buyer can't pay, no money is transferred, but the seller suddenly has made a sell order for said item for a ridiculous amount of money which is unlikely to be ever fulfilled. The other guy simply cancels the inflated buy orders (which are most likely on an alt-char with exactly that purpose in mind) and laughs all the way to the bank.

* = Yeah, it's that game again. Works with humans, due to the native greed and the assumption that they can get something for nothing.
Hardenberg was my name
And Terra was my nation
Deep space is my dwelling place
The stars my destination
Post

Re: CONTRACT SYSTEMS

#10
Lots of good stuff here already :D Don't worry Flat, I have read your brilliant article many times over ;)
ThymineC wrote:
Flatfingers wrote:
[...]

Comments?
Aye, I remember reading this a long time ago. Which reminds me of something I forgot to bring up earlier. Josh, how do contracts work w.r.t ensuring that both parties can keep their end of the deal? If I make a contract array DeliverOre(100), a set of 100 unilateral (public) contracts which promise 1000 credits for every delivered shipment of 50 tonnes of zirilium to Mua Refineries Ltd*, do I need to transfer 100,000 credits immediately into what Flatfingers calls a "payoff box", or do I pay out of pocket on the fly? If it's the latter, then debt is a possibility - how would this be handled, if that is the case?

*Purity must be 75% or above. Other terms and conditions may apply.
Currently I'm opting for the no-risk path, where the reward for a contract needs to be placed 'in escrow' upon offering the contract. The entity running the contract board will hold the reward for safe-keeping to ensure that the contractor can uphold his end of the bargain. Yes, it's limiting in that it doesn't allow for leverage (offering more contracts than you can afford to pay all at once), but I would rather see the safe mechanism than have to deal with debt / consequences for not being able to pay your contract rewards, etc. I think the player would be pretty pissed if he completed a mission and "sorry, the contractor can't pay you.." :x

So yeah. Guaranteed contract rewards at the moment.
Hardenberg wrote:Escrow/ Payoff box, please. I've just about had it with salted buy orders, and having the player in dept can lead to nasty gameplay problems like being unable to repair ships, buy ammo or even pay for maintenance/fuel, should any of those be implemented. I'd say we simply disallow the player to spend money that he doesn't have.
Yep.
Cornflakes_91 wrote:i'd suggest to make faction membership also something you do contract based.

basically: "you wear this faction tag and obey our orders and we pay you 1000 credits an hour"

it would make any sub-factions possible, as you could just employ someone and tell him to have another faction tag, so you have a sub-faction under your control without any special methods needed.

we also could extend it to include licenses
"you pay us 2000 credits and we allow you to fly heavy fighters in our realm"

disallowed conditions (you dont have the license to fly heavy fighters for example) could and should be shared inside the superfaction
so that for example the [caldari state] [police] sues you when you didnt get a license from [caldari state] [military] for heavy fighters, but once you've got it the whole superfaction accepts it

This also opens up for generalised temporary faction membership, for example for escort missions.
"Escort me there, wear my faction tag and i'll give you 15000 credits and you can use our supplies to rearm yourself while you escort me"
Definitely. I would think of factional membership as a contract :)

I didn't think much of 'licenses' as contracts yet but that's a cool possibility, going back to some of the old stuff you guys had brought up about requiring licenses for certain types of equipment. Still not sold on that concept, but...licenses to transport high volumes through a certain warp node, licenses to mine from a company-held asteroid field, licenses to transport illicit substances, etc..all could be viable concepts :)
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford
Post

Re: CONTRACT SYSTEMS

#11
JoshParnell wrote:Currently I'm opting for the no-risk path, where the reward for a contract needs to be placed 'in escrow' upon offering the contract. The entity running the contract board will hold the reward for safe-keeping to ensure that the contractor can uphold his end of the bargain. Yes, it's limiting in that it doesn't allow for leverage (offering more contracts than you can afford to pay all at once), but I would rather see the safe mechanism than have to deal with debt / consequences for not being able to pay your contract rewards, etc. I think the player would be pretty pissed if he completed a mission and "sorry, the contractor can't pay you.." :x

So yeah. Guaranteed contract rewards at the moment.
That sounds good to me.
Post

Re: Contract Systems

#12
Josh,

Complexity might be the wrong word. Coming from a contracts background I guess I define things a certain way.

In your Dev Blog, you talked about exclusive versus non-exclusive contracts. When I say you're overcomplicating the subject, I just meant you're looking at it from an unorthodox angle. It's not exclusivity that matters, it's Acceptance. How do you handle Acceptance of an offer? Because all contracts begin as non-exclusive offers. In your example a company is relying exclusively on 1 person to do a task; but that's not quite correct in day-to-day business. The company can Accept anyone to do the task. Rarely is there ever a scenario where just 1 person can do what no other person can do.

Anyway, back to the subject of Contract Systems. I think it's important that you spend time on this; not because it's my job and I love it, but because it's really the heart and soul of professional transactions. I think CCP understood this when they originally came out with their Contract system, although nowadays they tend to treat it more as Objects and less as a system of interaction.
Post

Re: Contract Systems

#13
Josh,

As far as negotiations go, I would suggest leaving that to the individuals. You don't need actually build a system to negotiate; as a player I can just tell someone that I want more or less and when we agree, we can create a "contract".

Same for Consequences, which should only really come into play under Service contracts. Under service contracts, it's Payment that's important, and that's usually handled "incrementally". Contractor does x, and then bills for 7% of total fee. Ordinarily if someone breaches contract we'd take them to court. If you're not going to have a Government installed, then there's probably not a civic recourse. In this case, a mandatory Incremental payment system will handle everything for you. If a player breaches contract, they only lose an increment of payment or an increment of service. They can goto War for redress.

By the way this should actually be easier to code than you might think because you don't have to actually describe the services.

As an example: Ship Construction. A player wants 20 Battleships but doesn't have the research or tech to build it. But he has money... He contracts for 20 Battleships with an individual that can build them, and offers incremental payment, 25% for each 5 ships delivered. And maybe a 10% bonus if they're delivered early.

Another example: Defense. A player wants to hire a mercenary gang to provide defense to his star system because a rival is threatening to invade. Player pays 50K credits every 30 days to gang.

So really you just have two variables that you're working with here, Time and Payment Increments. Okay maybe "Amount" if they're contracting for reoccurring goods but that can be an optional Term. And "Bonuses"... Okay, maybe a few others, Who, Where, etc... All optional Terms. The players can write their own unique Descriptions of service.

You're just providing them with the "Contract Form".

Hope it's starting to look easier now. If you really want me to describe the different contract vehicles (forms and all their assorted options) we use to procure stuff, I'd be happy to have a chat with you. But I think a simple system would work at first.
Post

Re: Contract Systems

#14
Flatfingers,

I think your system borrows from some real world concepts so that's a great place to start but I wonder if it might be too complex. I do like most of your bullet points but I'd be concerned about the penalty box idea. I think consequence without civic recourse is best left to the individuals to work it out. I'd personally love to ram a photon torpedo down a guys throat if they reneged on a deal with me, if I could get away with it.

:P :P
Post

Re: Contract Systems

#15
The penalty option (which is just that -- optional) is meant to provide a convenient non-lethal incentive to hold to the terms of a contract.

Parties who trust each other wouldn't need to use it. It's mostly there to promote exchanges among strangers, which is where the bulk of economic activity happens in games with many characters. The stick helps encourage cooperative behavior over advantage-taking.

It wouldn't be a deal-breaker if a penalty option wasn't included. Maybe NPCs in LT will naturally have incentive to trust each other and want to make deals.

Also, thanks, Josh. :) If those suggestions spark some useful ideas, I'm happy.

Online Now

Users browsing this forum: No registered users and 2 guests

cron