Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Trading #6419

Open
wants to merge 37 commits into
base: master
Choose a base branch
from
Open

Trading #6419

wants to merge 37 commits into from

Conversation

bunnybot
Copy link

NordfrieseMirrored from Codeberg
Created on Mon Mar 25 20:16:58 CET 2024 by Benedikt Straub (Nordfriese)


Type of change
New feature

Issue(s) closed
Fixes #1863

How it works
So, here's what I want to be the big new feature for v1.3 :)
The long-existing trading system by SirVer is now completed and usable with a user interface, saveloading support, Lua API, and tribe-independent generalization.

Trades are conducted via named markets. To propose a trade to another player, open a market's window, select what wares you want to send and receive, and send out a trade offer.
Be sure to select first the player you want to trade with and then configure the wares, since only wares used by both players' respective tribe may be traded.

Your trade offers can be seen in the diplomacy window. There you can accept or reject trade offers. You need a market to accept an offer.

Once the offer has been accepted, the market requests the wares and carriers and the two markets will start exchanging wares.

All trading is land-based; only markets on the same island can trade with each other.

Possible regressions
Desyncs, crashes, race conditions, …

Screenshots
Configuring a trade:
grafik

Offered trade:
grafik

Proposed trade:
grafik

Active trade:
grafik

Caravan of traders:
grafik

Additional context
There are a number of rough edges, which is to be expected in such a feature. Some things that I especially miss in the current state of the branch are:

  • Some TODOs are not resolved yet, such as some worrying cornercase handlings in worker code (I foresee many hard-to-encounter bugs around market destruction and terraforming).
  • You cannot extend a trade or configure it to run indefinitely.
  • You cannot move a trade to a different market.
  • You cannot change the inputqueues' capacity or priority, nor stop a trade without cancelling it.
  • You cannot properly negotiate about a trade offer, except by rejecting it and creating a new offer (which is only possible if you have a market at all).
  • A market should also list trades proposed from there (with a Retract button), and allow accepting other players' trade offers from its window.
  • Placeholder graphics for all five tribes.
  • The AI completely ignores trade offers for now.

But I would consider all these minor points (except AI handling, which will be a very big point…) and would prefer to have this feature early in the release cycle, and add more functionality in smaller branches.

@bunnybot bunnybot added this to the v1.3 milestone Mar 25, 2024
@bunnybot bunnybot self-assigned this Mar 25, 2024
@bunnybot
Copy link
Author

Assigned to Nordfriese

@bunnybot bunnybot added enhancement New feature or request tribes Buildings, wares, workers, ships, ... balancing & gameplay Tribes' statistics & mechanics economy Ware priority & transport, worker creation & assignment, requests & supplies, trading labels Mar 25, 2024
@bunnybot bunnybot added the ci:success CI checks succeeded label Apr 13, 2024
@bunnybot bunnybot added ci:success CI checks succeeded and removed ci:success CI checks succeeded labels Apr 21, 2024
@bunnybot bunnybot added ci:success CI checks succeeded and removed ci:success CI checks succeeded labels Apr 30, 2024
@bunnybot bunnybot added ci:success CI checks succeeded and removed ci:success CI checks succeeded labels May 12, 2024
@bunnybot bunnybot added ci:success CI checks succeeded and removed ci:success CI checks succeeded labels May 19, 2024
@bunnybot bunnybot added ci:success CI checks succeeded and removed ci:success CI checks succeeded labels May 20, 2024
@bunnybot bunnybot added ci:success CI checks succeeded and removed ci:success CI checks succeeded labels May 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
balancing & gameplay Tribes' statistics & mechanics ci:success CI checks succeeded economy Ware priority & transport, worker creation & assignment, requests & supplies, trading enhancement New feature or request tribes Buildings, wares, workers, ships, ...
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Trading
2 participants