[MOD 0.16] Sisyphean Deliveries

Topics and discussion about specific mods
Post Reply
User avatar
Muppet9010
Filter Inserter
Filter Inserter
Posts: 278
Joined: Sat Dec 09, 2017 6:01 pm
Contact:

[MOD 0.16] Sisyphean Deliveries

Post by Muppet9010 »

Type: Mod
Name: Sisyphean Deliveries
Summary: Launch an ever-growing tribute of items into space for eternity.
License: MIT
Source: tbc
Download: https://mods.factorio.com/mod/sisyphean_deliveries
Version: 0.1.2
Release: 2018-06-17
Tested-With-Factorio-Version: 0.16.51
Category: General
Website: viewtopic.php?f=190&t=60109

Description
Sisyphus was punished by the ancient Greek gods to carry out a laborious and futile task for eternity. You and your factory are being tested to avoid the same fate. Sisyphean Deliveries requires your factory to launch an ever-growing tribute of items into space for eternity. Will you test your factory with mass rocket production or demand impossible item production from your Make Everything.

After the first rocket is launched the mod will generate a tribute demand, a list of item(s) that must be launched into space on one or more rockets. Each item type requires a full stack and is randomly generated (configurable). The tribute size is configurable and can grow as more tribute demands are completed. Rocket cargo size is configurable via the mod and the mod includes full circuit integration to automate the requesting, loading and launching of items and rockets if desired.
Included are several optional visually displayed target timers and a tribute quantity target that will alert on all players screens.
The mod is designed for multiplayer megabase games.
Via the configuration options you can have the mod test you and your base in different ways:
  • Be a mass rocket launcher with a single random item within each, an alternative to SpaceX or infinite research. An example of this gameplay style is ColonelWill's Sisyphean Deliveries series: https://www.twitch.tv/colonelwill/videos/all
  • Demanded to produce 100 random item stacks per rocket, to really give your item production system (ME - Make Everything) a complete test.
  • Anywhere in between the above 2 extremes. See the complete Configuration Options below.
Stages of the GUI before and during the tribute demands
Stages of the GUI before and during the tribute demands
GUI Stages.png (169.13 KiB) Viewed 7172 times
Configuration Option
Options marked as (StartUp) are applied at the start of a game, but their current value is saved for the duration of the game. If the current value needs to be modified during a game an API command will be available.
All other settings are checked at usage, ie: when a new demand is created or the GUI updates.
  • Tribute Demand Growth Rate: >= 0 --- The number of tribute demands that must be completed for the tribute size to increase. If set to 0 the tribute size shall start at the Tribute Maximum Size, otherwise, it starts at 1 item per tribute demand.
  • Tribute Demand Growth Size: > 0 --- The number of items the tribute demand grows by on each size increase (Tribute Growth Rate). Will stop growing when it reaches the Tribute Maximum Size.
  • Tribute Demand Maximum Size: 1-100 --- The maximum number of items that a tribute demand can grow to.
  • Prevent Duplicate Demand Items: on/off --- Prevent duplicate items from being in the same demand. The setting is ignored if the current tribute demand size is greater than the allowed item types list.
  • Tribute Freedom Target (StartUp): >= 0 --- The starting target number of tribute demands required for freedom and to complete the Sisyphean task. If set to 0 then freedom cannot be obtained. This does not "complete" the game to avoid issues.
  • Tribute Delivery Target (Minutes): >= 0 --- A visual timer in minutes for meeting each tribute demand (60 ticks per second). 0 disables
  • Initial Rocket Target (Minutes): >= 0 --- A visual timer in minutes for launching the first rocket to start tribute demands from game start (60 ticks per second). 0 disables
  • Rocket Cargo Size (StartUp): 1-100 --- The number of cargo slots a rocket has.
  • Tribute Demand Item Types --- A list of types of items that can each be enabled/disabled for inclusion in the random demand item selection process.
API Commands
API commands to manipulate startup settings and to do ad-hock mod actions, ie: restart the tribute demands after the Tribute Freedom Target is reached.
API Commands
Circuit Network Integration
Circuit Network Integration Details
FAQ
End of Game
Rocket Launching
Items Demanded
Targets and Visual Alerts
Development
Version History
Known Bugs and Issues
Planned Minor Enhancements
Planned Major Features
Exploratory Concepts and Suggestions
Concepts and Suggestions Not Being Pursued
Translations and Graphic
Last edited by Muppet9010 on Sun Jun 17, 2018 6:52 pm, edited 17 times in total.

User avatar
steinio
Smart Inserter
Smart Inserter
Posts: 2633
Joined: Sat Mar 12, 2016 4:19 pm
Contact:

Re: [MOD 0.16] Siphean Deliveries

Post by steinio »

Hi,

just curious what happens if you fail to deliver the order in time.
Image

Transport Belt Repair Man

View unread Posts

User avatar
Muppet9010
Filter Inserter
Filter Inserter
Posts: 278
Joined: Sat Dec 09, 2017 6:01 pm
Contact:

Re: [MOD 0.16] Siphean Deliveries

Post by Muppet9010 »

Presently the timer goes negative while staying red and you feel a deep sense of shame.
It wasn't clarified in the original mod spec so I avoided using the in-game complete/failed state and messages initially as I'm not sure how they behave in all scenarios. I didn't want an MP game ended due to a misclick on a dialog.

I was thinking about the timers being yellow when close to due and bright red when over due.
Do you have any thoughts around it?

seomaster99
Burner Inserter
Burner Inserter
Posts: 9
Joined: Tue May 08, 2018 1:53 pm
Contact:

Re: [MOD 0.16] Sisyphean Deliveries

Post by seomaster99 »

Very Great Idea!!!

But...
error while working with BigBags:

Image


Great idea for your mod:

1) make a separate building of the Gods that will require sacrificing certain resources.

You do not need to put resources into the rocket.
After putting in it the necessary amount - they are sacrificed (disappear)

And new high demands begin with the multiplier x1.5 or more.
Also, the types of resources that the gods want are randomly changed.

Resources from mods should be used.

Thus, players will have to build automated lines for all things to feed the gods :)

2) Each victim is counted and their levels are counted. A table with the names of the players and the level of their victim is also displayed.
Thus, an excellent competition will be created.
For example - the one who first gets to the level of the victim 500 - he won.

There may be many options!
If you can realize these things - I can open the server and regularly organize competitions.
The one who will sacrifice the gods will win! :)

sorry for my english ^)

User avatar
Muppet9010
Filter Inserter
Filter Inserter
Posts: 278
Joined: Sat Dec 09, 2017 6:01 pm
Contact:

Re: [MOD 0.16] Sisyphean Deliveries

Post by Muppet9010 »

Hi Seomaster99,

I've just tried the current BigBags mod (1,0.29) and I don't hit any errors starting a new game and launching the first few rockets with and without contents on 0.16.39. I left big bags and Sisyphean Deliveries mod settings as default for the test.
Do you have a save game from before the error when using BigBags you can send and confirm which version of Factorio you are running, plus any other details you think may be relevant?


You have a lot of ideas there, I'll try and cover them in order
1. The variable demand size increase, both static and as a multiplier has been added to the planned features list.
2. The items change randomly on each demand already.
3. The reason items from mods aren't currently used is the optional item lists are hard-coded at present. I shall review the options and impact of changing these to be by item sub-group instead, as the core game items all have these tags. This would require mods to tag their items properly and would mean any list of mod-specific item types would be much shorter. It would mean that certain items couldn't be opted out of if they didn't have a dedicated item type in the game, i.e. uranium-based products couldn't be filtered out, like they can at present. Added to the list of exploratory concepts.
4. The concept of not launching items in rockets is do-able, my question would be why do you want this?
I can see that a changed version of the mod could be used more like an infinite supply challenge if the items were categorised based on a technology level, but the mod is currently aimed as an endgame extender. Added to the list of exploratory concepts as an infinite supply run challenge (if another mod doesn't already do this).


Your suggestion number 2 I am unsure exactly how you were thinking of it working, can you elaborate?
I can see a pvp type version of the mod, so in effect the mod supporting multiple forces. Added to the list of exploratory concepts.

seomaster99
Burner Inserter
Burner Inserter
Posts: 9
Joined: Tue May 08, 2018 1:53 pm
Contact:

Re: [MOD 0.16] Sisyphean Deliveries

Post by seomaster99 »

Muppet9010 wrote:
Your suggestion number 2 I am unsure exactly how you were thinking of it working, can you elaborate?
I can see a pvp type version of the mod, so in effect the mod supporting multiple forces. Added to the list of exploratory concepts.
Hi Muppet9010 !

I tested Big Bags mod on version 0.16.39
Everything is working!
Apparently this error was on my old version 16.36

Concerning:
1) Multuplayer: Anyone who has attained the required level Tribute - he won.

2) Multuplayer: To display the table at what level Tribute is this or that player

3) Other: The required items Tribute must be larger than the stack volume and not be dependent on it. When changing the stack multiplier to the Big Bags, mod also changed the stack size Tribute

User avatar
Muppet9010
Filter Inserter
Filter Inserter
Posts: 278
Joined: Sat Dec 09, 2017 6:01 pm
Contact:

Re: [MOD 0.16] Sisyphean Deliveries

Post by Muppet9010 »

Version 3 is out. It is mainly GUI polishing and rounding out existing features.

Full Changes:
  • Fixed Duplicate Item Prevention option to take effect, rather than being forced permanently on.
  • Red warning text made brighter so stands out.
  • GUI alignment standardised
  • Change tribute demand warning to be 2 stage, orange for 20-10% time left, red for 10-0% time left. re-pop tribute demand window on change to both warning states.
  • Change first rocket warning to be 2 stage, orange for 20-10% time left, red for 10-0% time left. re-pop tribute demand window on change to both warning states.
  • Tribute demand items on hover to be on the item frame plus the item image and text. resolve current onhover dead spot issue. Still a tiny dead zone between the image and text, but all GUI elements have the onhover.
  • Timers need to show the time in hours, minutes or seconds based on current quantity. currently just shows the minutes.
  • Tested with Big Bags mod and demands are 1 stack of its increased size, i.e. 500 solar panels.
  • Tribute Demand Growth size configurable.
  • Tribute Freedom Target and both delivery targets show a centered themed message to make it very apparent you've won/lost. This message should not end the game in any way though.
  • Change tribute demand list supplied quantity to be colour coded based on number supplied. Default color for none or some, green for all. Should resolve very wide 3 digit supplied and stack size issue and make the demand screen less cluttered when multiple demands. On hover still shows exact supplied out of total required (stack size).

Confirmed that item stack size is the games current size and so other mods will affect this. This is to allow for future inclusion of other mod items and to avoid even more config options to manage setting quantity amounts.

User avatar
Muppet9010
Filter Inserter
Filter Inserter
Posts: 278
Joined: Sat Dec 09, 2017 6:01 pm
Contact:

Re: [MOD 0.16] Sisyphean Deliveries

Post by Muppet9010 »

Version 0.0.4 and 0.0.5 are just cosmetic changes to do with timers and displaying nicer.

0.0.5 (2018-05-16 - 0.16.41):
  • Timers show as PRIMARY:SECONDARY rather than decimals, i.e. 3:27 hours
0.0.4 (2018-05-15 - 0.16.41):
  • Fixed target timer issue affecting 2 or more hours being displayed wrong.
  • Updated GUI refresh to be once a second, rather than every 10

User avatar
Muppet9010
Filter Inserter
Filter Inserter
Posts: 278
Joined: Sat Dec 09, 2017 6:01 pm
Contact:

Re: [MOD 0.16] Sisyphean Deliveries

Post by Muppet9010 »

Version 0.06 release based on feedback to make improvements and fixes, no new features.
  • Fixed - when there are duplicated items if the stack is oversupplied across multiple rockets all later instances of that item are incorrectly completed. 2 stacks demanded and supplied as 1/2 stack, followed by 1 stack. On the second rocket launch, both demands for stack 1 and 2 are completed.
  • Fixed - GUI not scrolling when over 50 item demand size and resolved the GUI recreating more than needed, causing it to scroll back to the top.
  • Improved - Demand order items in GUI ordered by status (partial completed, not completed, completed) then by item name. So the first ones on the list are outstanding and duplicates of an equal completed state are next to each other.
  • Improved - Added padding to secondary timer values to be double digits, i.e. minute value when the primary value is hours; 1:5 hours = 1:05 hours
  • Code - Timer display text and number handling simplified.
  • Fixed - the mod menu after failing a target shows correct text
  • Improved - API Commands confirm the action done in the global text (positive or negative outcome)

User avatar
Muppet9010
Filter Inserter
Filter Inserter
Posts: 278
Joined: Sat Dec 09, 2017 6:01 pm
Contact:

Re: [MOD 0.16] Sisyphean Deliveries

Post by Muppet9010 »

Version 0.0.7 released. This includes a number of corrections and additions of items, tweaked GUI contents and some back-end code refactoring. Next planned changes are larger with Circuit Logic, complete GUI refresh and change to use item groups to support other mods.
All feedback and suggestions welcome.
  • Fixed - Nuclear fuel as a tribute demand item was under Standard Factory Buildings list and not Uranium.
  • Fixed - Mod setting text for tribute demand item list "Standard Factory Buildings" clarified to be "Standard Factory Buildings & Intermediate Products".
  • Fixed - sisyphean_complete_tribute API command marks each demanded item as completed in addition to the tribute demand as a whole.
  • Fixed - When "Prevent Duplicate Demand Items" is enabled if there are fewer items in the allowed item list than the current tribute demand size the option is ignored for the items above the allowed item list size. In this scenario, it ensures a full-sized tribute demand is made and that at least one of every item is included before the duplicates are allowed in.
  • Improved - Don't include Rocket Part components or satellites in demands as they can't be loaded by inserters into the rocket.
  • Improved - Add localised help string to the API commands for use with "/h COMMAND". Also simplified API command descriptions and documentation.
  • Improved - update status messages to be more self-descriptive and rely less on hover text. avoid repeated explanations for streamers.
  • Improved - Science packs can be included in the demand list via a mod option, the default is on.
  • Improved - Added percentage of tributes made, total tributed and projected items with the percentage into the Tributes Made counter GUI section.
  • Improved - Added mod global set commands to support debugging issues if required.
  • Code - reworked win/lost and new demand logic to avoid rare cases the mod got in an undesirable state when continued after a win/lost condition.
  • Code - Change timer function to return a flag saying positive or negative and just prefix a "-" if minus, rather than manipulate the time section values. Keeps all aw time values positive for simpler use.
  • Code - migration process changed to behave better cross multiple version changes.

User avatar
Muppet9010
Filter Inserter
Filter Inserter
Posts: 278
Joined: Sat Dec 09, 2017 6:01 pm
Contact:

Re: [MOD 0.16] Sisyphean Deliveries

Post by Muppet9010 »

Version 0.1.0 introduces circuitry integration as detailed below. This is complete functionality wise, however there some listed optimisations and graphics to still be added.
  • New Feature - Circuit Network Integration
    A number of circuit network connectible entities have been added to support the automation of demanded item loading and rocket launch. At a simple level, all circuitry should be usable in any fashion and recover from any mishaps (early launches) automatically.
    Detailed information on each entity:
    • Rocket Silo Controller can be placed next to a silo and will be paired to that silo until either is removed. Each rocket silo and rocket silo controller can only support 1 pairing of this type. If it is in the enabled circuit logic state the rocket will be launched if possible.
    • Rocket Load Receiver is intended to automate rocket loading with required items. Each rocket load receiver can be placed next to a silo and will be paired with the silo until either is removed. Each rocket silo and rocket load receiver can only support 1 pairing of this type. The rocket load receiver will output the following information signals:
      • Rocket Ready To Load signal when the rocket is built and can be loaded. This signal is not present when the Rocket Ready To Launch signal is active.
      • Rocket Ready To Launch signal when all demanded items are loaded or the rocket is full. A full rocket can be either all slots are at capacity or there are no free slots for the extra demanded items and used slots are either full or at demand level. When there are multiple silos and there are no more items to be reserved (see below) the current rocket is deemed as full.
      • When there is a Rocket Ready To Load signal being output the load receiver will reserve and output a single outstanding demanded item and stack size from the current demand to the circuit network, i.e. "Iron Plate" with a value of 100. It will also output a Demand Stack Size signal of the outstanding items for use with filter inserter stack size circuitry. The outstanding items do not include item stacks reserved by other rocket loading controllers and so multiple rocket silos each with their own rocket load receiver can be used without risk of duplicating or splitting item stacks across silos. Once the reserved demanded item is supplied to the rocket, the rockets state shall be re-assessed and if it is still in Rocket Ready To Load a new demanded item will be reserved and broadcast to the circuit network (for when a rocket has multiple inventory slots).
      • Tribute Demand Receiver is intended to pass the outstanding demanded items into a circuit network. The receiver will output signals of the demanded items still to be received as tribute. Multiple Receivers can be used and each will output the same real-time information. The tribute demand receiver will also output general tribute information via signals:
        • Demand Target Time Remaining signal will have a value of how many seconds are left until the current target timer is up. Intended usage is for the creation of audible alarms or for waiting to launch rockets close to the deadline. Remaining seconds value will be either Tribute Delivery Target or Initial Rocket Target if enabled and appropriate, otherwise the signal won't be present.

    Some additional signals have been added to support more advanced and clear circuit logic. They have are free to use for any purpose, although examples are included.
    • Launch Rocket signal is added by the mod for optional use. Envisaged for use with the Rocket Silo Controller to help make signals clearer when using multiple silos and decider combinators to synchronise rocket launches.

    General Notes:
    • Care should be taken with inserter stack sizes to avoid the inserter still holding items after a rocket launch and polluting the next rocket with unwanted items. The simplest way to handle this is to have a single filter inserter have its item and stack size set by the Rocket Load Receiver.
    • Factorio's default rocket silo auto-launch feature cannot be used as it will trigger after just 1 item is loaded.
    • If multiple silos and rocket load controls are in use they will try and load and launch the rockets as fast as possible. Should you have a rocket inventory size greater than 1 this may lead to wasted inventory space on the later rockets in a demand. More advanced circuit logic could be used to avoid this if desired using the rocket state signals from the rocket load receiver.
    • Each rocket silo can only be paired with 1 rocket load receiver and 1 rocket silo controller. Should a neighbouring rocket silo, controller or receiver already be paired then the newly placed entity will not pair with anything. Leaving a tile space between clusters of a silo and their controllers/receivers is advised to avoid any unexpected results when blueprinting or replacing.
    • If using multiple silos with rocket load receivers and you launch a partial stack, the partially tributed item will become available for another silo to complete as normal. After each launch the rocket load controllers return to a neutral state and begin the demanded item reserving process again, getting the demand completed as quickly as possible.
  • Fixed - Repair Packs, Iron Axe and Steel Axe added to requested items list.
  • Fixed - When tribute target is changed via API the item total will increase at the same time, rather than on next rocket launch.

User avatar
Muppet9010
Filter Inserter
Filter Inserter
Posts: 278
Joined: Sat Dec 09, 2017 6:01 pm
Contact:

Re: [MOD 0.16] Sisyphean Deliveries

Post by Muppet9010 »

version 0.1.1 released. mainly adds initial graphics to signals for rocket circuitry and some minor tweaks to rocket circuitry.
  • Fixed - Handled situation in order reserved validity check for if an order's reserving rocket load receiver no longer had a silo, but the order was still reserved (the rocket load controller had released its known reserved order item).
  • Fixed - Signal name to translations corrected
  • Improved - Rocket Load Receiver will output a Preparing Rocket signal when the rocket is being prepared and is not available for loading or launching.
  • Improved - ALl signals have initial graphics rather than place holders.

User avatar
Muppet9010
Filter Inserter
Filter Inserter
Posts: 278
Joined: Sat Dec 09, 2017 6:01 pm
Contact:

Re: [MOD 0.16] Sisyphean Deliveries

Post by Muppet9010 »

Version 0.1.2 released to fix some non-critical issues:
  • Fixed - A large UPS spike occurred when tribute demand items were received in Multiplayer games with many players. The GUI now only updates connected players and when players rejoin they will have their GUI updated immediately to catch up.
  • Fixed - Typo in Iron Axe demanded item.

Chestersday
Manual Inserter
Manual Inserter
Posts: 2
Joined: Sun Mar 10, 2019 6:17 pm
Contact:

Re: [MOD 0.16] Sisyphean Deliveries

Post by Chestersday »

Hi,

first i want to say great job on this MOD! it gives the game a higher target :)

Now my Problem, I am a streamer and started a Map with this Mod on 0.16.x and now its 0.17.x - is there a chance that it will be updated soon?

I am looking forward to hear from you soon.

Greetings Chester

User avatar
Muppet9010
Filter Inserter
Filter Inserter
Posts: 278
Joined: Sat Dec 09, 2017 6:01 pm
Contact:

Re: [MOD 0.16] Sisyphean Deliveries

Post by Muppet9010 »

I'll have a look and see if its simple enough to get the mod over to 0.17 as is.
Just to warn you it has a number of design and code flaws in the current version mainly around the smarts with multiple rocket silos and I haven't had the drive to fix it properly as I've stopped using the mod myself.

Chestersday
Manual Inserter
Manual Inserter
Posts: 2
Joined: Sun Mar 10, 2019 6:17 pm
Contact:

Re: [MOD 0.16] Sisyphean Deliveries

Post by Chestersday »

I'm so lucky that you will have a look for it.

Tank you <3.

User avatar
Muppet9010
Filter Inserter
Filter Inserter
Posts: 278
Joined: Sat Dec 09, 2017 6:01 pm
Contact:

Re: [MOD 0.16] Sisyphean Deliveries

Post by Muppet9010 »

Ok pushed the 0.17 update to the mod portal. Relatively little broke on the test maps and cases I had to hand.

As the mod portal is usable for communication now compared to when I first released the mod any issues can be raised there.

MisterFister
Long Handed Inserter
Long Handed Inserter
Posts: 99
Joined: Tue Jun 27, 2017 1:12 am
Contact:

Re: [MOD 0.16] Sisyphean Deliveries

Post by MisterFister »

Only necro-ing to state that this is an awesome idea for a mod. It's a shame that it hasn't evolved to post-release. A sincere thank you to this modder, and all modders for volunteering their time and ability to make games like Factorio better.

Post Reply

Return to “Mods”