Supply networks basics/overview

Programmers discuss here anything related to FreeOrion programming. Primarily for the developers to discuss.

Moderator: Committer

Post Reply
Vacuum Dragon
Posts: 508
Joined: Tue Sep 30, 2014 10:01 am

Supply networks basics/overview

#1 Post by Ophiuchus » Mon Apr 30, 2018 9:16 am

One of the things in my head is how supply networks are maybe gonna evolve. So in the top post of this thread i want to make an overview of related topics and in the thread discuss/ask some implementation questions.

The supply-networks fulfill multiple functions: refueling, upgrading ship parts, adding PP to the supply-network and using PP from the supply-network for building ships and buildings.
I am gonna concentrate on the outtake part of the supply networks for building. So for that its relevant what supply propagation means, if the one supply blocks another, how blockading works and how planets are connected to the supply network of systems.

Some usecases/ideas which have been voiced for supply
  • vezzra? explained how distribution and stockpiling rationale/discussion went for resources in the far project past(needs a link)
  • building buildings on planets you dont own but are your in supply network (Is it possible to build something on planets you dont own)
  • Connecting your supply networks via allied supply networks - Allied supply
  • (overlapping) stealthed supply (not so much need since the imperial stockpile caters for some of the use cases/pain points)
  • Using PP from allied supply network - Allied supply - (automatic sharing probably not always wanted)
Implementation currently:
  • The supply calculation networks in code are the resource pools. Besides systems only production centers (ATM outposts and colonies, could be ships also) are considered
  • The UI decides if you can select a planet for building in XXX
  • The UI offers you to add to the production queue is decided in XXX - Location filter happens in XXX
  • ProductionQueue update checks items already added to the queue (from which supply network will PP be used)
I had a look at the resource pools for a prototype of building on unowned planets in supply-connected systems. I probably could simply add all planets to the supply groups if the system is supplied. AFAIU blockade only happens on system level. But then i thought it would make more sense to define the supply networks on systems only and use in ProductionQueue update the containing systems. So would it make sense to split up the productioncenter (adding up the PP in a supply network) and the possible use sites (taking PP from the supply network)?
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.

Post Reply