[release]Sun Kiota stations

Discussion and information relevant to creating special missions, new ships, skins etc.

Moderators: another_commander, winston

Astrobe
---- E L I T E ----
---- E L I T E ----
Posts: 609
Joined: Sun Jul 21, 2013 12:26 pm

[release]Sun Kiota stations

Post by Astrobe »

This OXZ restricts Wildships to spawn at most one Kyota station near the sun and aprevents it from replacing main stations. Docking clearance is also now required.

The sun area isn't currently particularly attractive, which also diminishes the value of sun skimming and of heat shields.

Kyota stations offer interesting trading/equipment opportunities that are a bit too accessible in my opinion. "Exploiting" market differences between stations is easy but not really fun. However, this relocation works better if you also have Deep Space Pirates (or equivalent) installed.

Also, the textures of the station depart noticeably from those of the core game; placing them near the sun mitigates the "issue" because of the particular lighting conditions near the sun; also, this particular aspect can be seen as some sort of heat/radiation shielding.
Last edited by Astrobe on Sun Sep 24, 2017 6:08 pm, edited 1 time in total.
User avatar
gsagostinho
---- E L I T E ----
---- E L I T E ----
Posts: 573
Joined: Sun Jul 19, 2015 1:09 pm

Re: [release]Sun Kyota stations

Post by gsagostinho »

Nice idea, Astrobe.
Astrobe wrote: Fri Sep 15, 2017 2:57 pm
Also, the textures of the station depart noticeably from those of the core game
What do you mean by that? In terms of quality or aesthetic?
Rustem
Deadly
Deadly
Posts: 170
Joined: Mon May 25, 2015 5:23 pm
Location: Russia

Re: [release]Sun Kyota stations

Post by Rustem »

I seen populator script and originate other off-topic question : Why Kiota Manufacturing Station [(roles = "wildShips_kiota4Disc wildShips_kiota station") and (roles = "wildShips_kiota2Disc wildShips_kiota station")] is not spawned in the basic WildShips OXP? They are appearing in the other OXP and missions?

They are very rare?
Astrobe
---- E L I T E ----
---- E L I T E ----
Posts: 609
Joined: Sun Jul 21, 2013 12:26 pm

Re: [release]Sun Kyota stations

Post by Astrobe »

Rustem wrote: Fri Sep 15, 2017 5:03 pm
I seen populator script and originate other off-topic question : Why Kiota Manufacturing Station [(roles = "wildShips_kiota4Disc wildShips_kiota station") and (roles = "wildShips_kiota2Disc wildShips_kiota station")] is not spawned in the basic WildShips OXP? They are appearing in the other OXP and missions?

They are very rare?
I don't see them in the original populator script, and their roles don't allow them to replace main stations, so I guess that's why. Still, there are also market definitions for them. I'll try to reactivate them to see if they've simply been forgotten or if they've been left out because there's an issue with them.
Astrobe
---- E L I T E ----
---- E L I T E ----
Posts: 609
Joined: Sun Jul 21, 2013 12:26 pm

Re: [release]Sun Kyota stations

Post by Astrobe »

gsagostinho wrote: Fri Sep 15, 2017 4:51 pm
Nice idea, Astrobe.
Astrobe wrote: Fri Sep 15, 2017 2:57 pm
Also, the textures of the station depart noticeably from those of the core game
What do you mean by that? In terms of quality or aesthetic?
I can't tell if it's because of quality or aesthetics, but they immediately look different from main stations or constores. So placing them in a different environment also justifies, in my eye, their aspect.

BTW Sorry I realize I misspelled their name everywhere. Too much anime (Kyoto) I guess.
Astrobe
---- E L I T E ----
---- E L I T E ----
Posts: 609
Joined: Sun Jul 21, 2013 12:26 pm

Re: [release]Sun Kyota stations

Post by Astrobe »

"2Disc" and "4Disc" stations look fine. Version 1.1 available.

PS: can I edit the title of the thread to correct the misspell without breaking the thread?
User avatar
Norby
---- E L I T E ----
---- E L I T E ----
Posts: 2577
Joined: Mon May 20, 2013 9:53 pm
Location: Budapest, Hungary (Mainly Agricultural Democracy, TL10)
Contact:

Re: [release]Sun Kyota stations

Post by Norby »

Yes, you can.
dybal
---- E L I T E ----
---- E L I T E ----
Posts: 499
Joined: Mon Feb 10, 2020 12:47 pm

Re: [release]Sun Kiota stations

Post by dybal »

I've often seen Kiota Stations other than Solar spawned near the Sun surface... they don't endure long there (I had one disintegrate around me after docking...).

It's clearly a bug, and yesterday I took time to track it down, and it comes from this OXP.

I don't know if it's still mantained, but bellow is my version of the populator function to solve this.

Code: Select all

this.kyotaPopulator = function ()
{
    //calculate distances
    var planetToSun = system.sun.position.distanceTo(system.mainPlanet.position);
    var wpToSun = system.sun.position.magnitude();
    var distancePlanetSunFromSurface = (planetToSun  - system.sun.radius - system.mainPlanet.radius);

    if (system.scrambledPseudoRandomNumber(127) < 0.2 ) {
        // add habitat station
        log(this.name,"Adding a Kiota Habitat Station");
        if (system.population < 30)
            var hab_station = "wildShips_kiota2Ring";
        else {
            if (system.population > 45) {
                if (system.scrambledPseudoRandomNumber(319) > 0.5)
                    var hab_station = "wildShips_kiota8Ring";
                else
                    var hab_station = "wildShips_kiota8RingV";
            }
            else {
                if (system.scrambledPseudoRandomNumber(319) > 0.5)
                    var hab_station = "wildShips_kiota4Ring";
                else
                    var hab_station = "wildShips_kiota4RingV";
            }
        }
        var x_coord = system.scrambledPseudoRandomNumber(598) * 25E3;
        var y_coord = system.scrambledPseudoRandomNumber(482) * 25E3;
        var z_coord = system.mainPlanet.radius + 0.1 * distancePlanetSunFromSurface;
        var exactPosition = Vector3D(x_coord, y_coord, z_coord).fromCoordinateSystem("psm");
        system.setPopulator("wild_ships_habitat", {
            callback: function(pos) {            
                system.addShips(hab_station, 1, pos, 0);                    
            }.bind(this),
            location: "COORDINATES",
            coordinates: exactPosition,
            deterministic: true
        });
    }
    else if(system.scrambledPseudoRandomNumber(891) < 0.2) {
        // add comms stations
        log(this.name,"Adding a Kiota Comm Station");
        if (system.population > 40)
            var comms_station = "wildShips_kiota4Comms";
        else
            var comms_station = "wildShips_kiota2Comms";
        var x_coord = system.scrambledPseudoRandomNumber(599) * 25E3;
        var y_coord = system.scrambledPseudoRandomNumber(483) * 25E3;
        var z_coord = 0.3 * (wpToSun  - system.sun.radius);
        var exactPosition = Vector3D(x_coord, y_coord, z_coord).fromCoordinateSystem("wsm");
        system.setPopulator("wild_ships_comms", {
            callback: function(pos) {            
                system.addShips(comms_station, 1, pos, 0);                    
            }.bind(this),
            location: "COORDINATES",
            coordinates: exactPosition,
            deterministic: true
        });
    }
    else if (system.scrambledPseudoRandomNumber(189) < 0.2 ) {
        // add solar stations
        log(this.name,"Adding a Kiota Solar Station");
        if (system.population > 40)
            var solar_station = "wildShips_kiota4Solar";
        else
            var solar_station = "wildShips_kiota2Solar";
        var x_coord = system.scrambledPseudoRandomNumber(600) * 25E3;
        var y_coord = system.scrambledPseudoRandomNumber(484) * 25E3;
        var z_coord = system.mainPlanet.radius + 0.9 * distancePlanetSunFromSurface;
        var exactPosition = Vector3D(x_coord, y_coord, z_coord).fromCoordinateSystem("psm");
        system.setPopulator("wild_ships_solar", {
            callback: function(pos) {            
                system.addShips(solar_station, 1, pos, 0);                    
            }.bind(this),
            location: "COORDINATES",
            coordinates: exactPosition,
            deterministic: true
        });
    }
    else if (system.techLevel > 6 && system.scrambledPseudoRandomNumber(713) < 0.2 ) {
        // add research stations to higher tech systems
        log(this.name,"Adding a Kiota Research Station");
        if (system.techLevel > 11)
            var research_station = "wildShips_kiota4Spur";
        else
            var research_station = "wildShips_kiota2Spur";
        var x_coord = system.scrambledPseudoRandomNumber(601) * 25E3;
        var y_coord = system.scrambledPseudoRandomNumber(485) * 25E3;
        var z_coord = 0.6 * (wpToSun  - system.sun.radius);;
        var exactPosition = Vector3D(x_coord, y_coord, z_coord).fromCoordinateSystem("wsm");
        system.setPopulator("wild_ships_research", {
            callback: function(pos) {            
                system.addShips(research_station, 1, pos, 0);                    
            }.bind(this),
            location: "COORDINATES",
            coordinates: exactPosition,
            deterministic: true
        });
    }
    else if (system.scrambledPseudoRandomNumber(301) < 0.2 ) {
        if (system.economy < 3) {
            // add manufacturing stations to industrial systems
            log(this.name,"Adding a Kiota Manufactoring Station");
            if (system.productivity > (30000 - (system.economy * 2500)))
                var man_station = "wildShips_kiota4Disc";
            else
                var man_station = "wildShips_kiota2Disc";
        }
        else if (system.economy > 4) {
            // add biosphere stations to agro systems
            log(this.name,"Adding a Kiota Biosphere Station");
            if(system.productivity > (30000 - ((system.economy - 5) * 2500)))
                var man_station = "wildShips_kiota4Sphere";
            else
                var man_station = "wildShips_kiota2Sphere";
        }
        else return;
        var x_coord = system.scrambledPseudoRandomNumber(602) * 25E3;
        var y_coord = system.scrambledPseudoRandomNumber(486) * 25E3;
        var z_coord = system.mainPlanet.radius + 0.5 * distancePlanetSunFromSurface; 
        var exactPosition = Vector3D(x_coord, y_coord, z_coord).fromCoordinateSystem("psm");
        system.setPopulator("wild_ships_manufacturing", {
            callback: function(pos) {            
                system.addShips(man_station, 1, pos, 0);                    
            }.bind(this),
            location: "COORDINATES",
            coordinates: exactPosition,
            deterministic: true
        });
    }
    log(this.name, "relocated a station successfully");
}
Changes made:

- corrected the lane placements to match Thargoid's WildShips - all stations were being placed in the Main Planet - Sun lane near the Sun...
- changed the salt for the scrambleRandomNumber function calls to match Thargoid's WildShips (that looked like copy/paste troubles);
- corrected the dataKeys for each kind of station based on their descriptions on Thargoid's WildShips shipdata; (that looked like copy/paste troubles too); Thargoid's original populator has a bug that lead it to spawn biospehere stations (wildShips_kiota[2|4]Sphere) on industrial systems instead of manufactoring stations (wildShips_kiota[2|4]Disc), corrected it here too;
- altered the order of the station types in the code to match Thargoid's WildShips populator (to make it easier to compare the two of them); since only one of them will be spawned, the order matters: the ones at the end will have a chance to spawn only if those at the top hadn't been spawned... that could change the kind of station spawned in a given system before/after this fix, but that was already the case with the scrambleRandomNumber salt alteration.

The docking clearance requirement is being applied only to the Habitat Stations (wildShips_kiota4Ring)... I don't know if that was the intentional, so I didn't mess with it

EDIT: corrected typo in log message
Last edited by dybal on Thu Jun 18, 2020 5:23 pm, edited 1 time in total.
User avatar
Milo
---- E L I T E ----
---- E L I T E ----
Posts: 466
Joined: Mon Sep 17, 2018 5:01 pm

Re: [release]Sun Kiota stations

Post by Milo »

Nice work. There's also a typo in the log message at the bottom ("successfully").

As for docking clearance (referring to the separate shipdata_overrides.plist provided by this OXP), in the original WildShips OXP, none of the stations require docking clearance (requires_docking_clearance = no is explicitly set only for the kiota4ring variant, but the default is no, so it is implied for all of them). In this OXP, the shipdata_overrides.plist sets requires_docking_clearance = yes; for the kiota4_ring variant only. Since Astrobe's comment at the top of the shipdata_overrides.plist says "Enforce docking clearance and prevent the replacement of the main station by a Kyota" it seems that the intention was to enable the docking clearance requirement for all of the variants. Astrobe probably thought that the others had it enabled by default.

If you don't mind, could you put together a plist that would make the change for all of the variants?

Edited to add: It looks like you placed some of the Kiota stations closer to the planet than the sun? Part of Astrobe's intention with this OXP was to give a reason to visit the sun vicinity.
dybal
---- E L I T E ----
---- E L I T E ----
Posts: 499
Joined: Mon Feb 10, 2020 12:47 pm

Re: [release]Sun Kiota stations

Post by dybal »

Milo wrote: Thu Jun 18, 2020 4:31 pm
Nice work. There's also a typo in the log message at the bottom ("successfully").

As for docking clearance (referring to the separate shipdata_overrides.plist provided by this OXP), in the original WildShips OXP, none of the stations require docking clearance (requires_docking_clearance = no is explicitly set only for the kiota4ring variant, but the default is no, so it is implied for all of them). In this OXP, the shipdata_overrides.plist sets requires_docking_clearance = yes; for the kiota4_ring variant only. Since Astrobe's comment at the top of the shipdata_overrides.plist says "Enforce docking clearance and prevent the replacement of the main station by a Kyota" it seems that the intention was to enable the docking clearance requirement for all of the variants. Astrobe probably thought that the others had it enabled by default.

If you don't mind, could you put together a plist that would make the change for all of the variants?
Please do and, post it here (I will include it in my installation).

I think so too, but Astrobe might be bumped by posting here and perhaps clarify his original intention (I try to comply with the spirit of the original author's creation - as far as I can infer it).

There's no license file in the OXZ... the manifest says CC-BY-NC-SA 4.0, which is good enough for me, but perhaps not for more AC people... I will PM him and ask if he minds if other people take this OXP maintenance (and perhaps removes the current manifest from oolite.org so we can put an updated one there)
User avatar
Milo
---- E L I T E ----
---- E L I T E ----
Posts: 466
Joined: Mon Sep 17, 2018 5:01 pm

Re: [release]Sun Kiota stations

Post by Milo »

Revised shipdata_overrides.plist:

Code: Select all

// Enforce docking clearance, add heat insulation and prevent the replacement of the main station by a Kiota station
{
	// Stations

	wildShips_kiota4Ring = {
		requires_docking_clearance = yes;
		roles = "wildShips_kiota4Ring wildShips_kiota station"; // removed dodo(0.1) dodec(0.1) dodecahedron(0.1)
		heat_insulation = 10.0;
	};

	wildShips_kiota4RingVariant = {
		requires_docking_clearance = yes;
		roles = "wildShips_kiota4RingV wildShips_kiota station"; // removed dodo(0.1) dodec(0.1) dodecahedron(0.1)
		heat_insulation = 10.0;
	};
	
	wildShips_kiota2Ring = {
		requires_docking_clearance = yes;
		//roles = "wildShips_kiota2Ring wildShips_kiota station"; // no change required to prevent main station replacement
		heat_insulation = 10.0;
	};

	wildShips_kiota8Ring = {
		requires_docking_clearance = yes;
		roles = "wildShips_kiota8Ring wildShips_kiota station"; // removed ico(0.1) icosa(0.1) icosahedron(0.1)
		heat_insulation = 10.0;
	};

	wildShips_kiota8RingVariant = {
		requires_docking_clearance = yes;
		//roles = "wildships_kiota8RingV wildShips_kiota station"; // no change required to prevent main station replacement
		heat_insulation = 10.0;
	};
	
	wildShips_kiota2Spur = {
		requires_docking_clearance = yes;
		//roles = "wildShips_kiota2Spur wildShips_kiota station"; // no change required to prevent main station replacement
		heat_insulation = 10.0;
	};

	wildShips_kiota4Spur = {
		requires_docking_clearance = yes;
		//roles = "wildShips_kiota4Spur wildShips_kiota station"; // no change required to prevent main station replacement
		heat_insulation = 10.0;
	};
	
	wildShips_kiota2Disc = {
		requires_docking_clearance = yes;
		//roles = "wildShips_kiota2Disc wildShips_kiota station"; // no change required to prevent main station replacement
		heat_insulation = 10.0;
	};

	wildShips_kiota4Disc = {
		requires_docking_clearance = yes;
		//roles = "wildShips_kiota4Disc wildShips_kiota station"; // no change required to prevent main station replacement
		heat_insulation = 10.0;
	};

	wildShips_kiota4Sphere = {
		requires_docking_clearance = yes;
		//roles = "wildShips_kiota4Sphere wildShips_kiota station"; // no change required to prevent main station replacement
		heat_insulation = 10.0;
	};

	wildShips_kiota2Sphere = {
		requires_docking_clearance = yes;
		//roles = "wildShips_kiota2Sphere wildShips_kiota station"; // no change required to prevent main station replacement
		heat_insulation = 10.0;
	};

	wildShips_kiota4Comms = {
		requires_docking_clearance = yes;
		//roles = "wildShips_kiota4Comms wildShips_kiota station"; // no change required to prevent main station replacement
		heat_insulation = 10.0;
	};

	wildShips_kiota2Comms = {
		requires_docking_clearance = yes;
		//roles = "wildShips_kiota2Comms wildShips_kiota station"; // no change required to prevent main station replacement
		heat_insulation = 10.0;
	};


	wildShips_kiota4Solar = {
		requires_docking_clearance = yes;
		//roles = "wildShips_kiota4Solar wildShips_solar wildShips_kiota station"; // no change required to prevent main station replacement
		heat_insulation = 10.0;
	};

	wildShips_kiota2Solar = {
		requires_docking_clearance = yes;
		//roles = "wildShips_kiota2Solar wildShips_solar wildShips_kiota station"; // no change required to prevent main station replacement
		heat_insulation = 10.0;
	};

}
Last edited by Milo on Fri Jul 10, 2020 3:30 pm, edited 1 time in total.
dybal
---- E L I T E ----
---- E L I T E ----
Posts: 499
Joined: Mon Feb 10, 2020 12:47 pm

Re: [release]Sun Kiota stations

Post by dybal »

Milo wrote: Thu Jun 18, 2020 4:31 pm
Edited to add: It looks like you placed some of the Kiota stations closer to the planet than the sun? Part of Astrobe's intention with this OXP was to give a reason to visit the sun vicinity.
I tried to put them in the same place Thargoid's WildShips used: same lanes, same relative distances in the lane.

Habitat: Planet-Sun, 10% distance instead of Planet-Sun 90%
Comm: WP-Sun, 30% distance instead of Planet-Sun 90%
Solar: Planet-Sun, 90% distance, unaltered
Research: WP-Sun, 60% distance instead of Planet-Sun 90%
Manufactoring/Biosphere> Planet-Sun, 50% distance instead of Planet-Sun 90%

It didn't occur me he might have intended for all of them to be in the Planet-Sun lane close to the Sun, it looked like a bug.

What would be reasonable distances?

For Habitat Stations, it makes sense to be closer to the main planet to reduce commuting time.
Comm Stations could be closer to the Sun to get more free-energy, but not close enough to get interference... perhaps 60%?
Research could be as close as Solar if we override its heat_insulation;
Manufactoring/Biosphere could be closer for the free energy/increased radiance, but not so much as to need increased heat_insulation (adds to the overhead costs :D )... perhaps 60%?
User avatar
Milo
---- E L I T E ----
---- E L I T E ----
Posts: 466
Joined: Mon Sep 17, 2018 5:01 pm

Re: [release]Sun Kiota stations

Post by Milo »

What you proposed makes sense but I think all of them, even the habitat stations, should be at least 75% of the distance to the sun surface to give the player a reason to travel close enough to the sun that when they leave the station they could go sun skimming without much additional travel time. (With other OXPs, for example Fuel Tweaks that introduces Quirium Fuel and rationing, this would be even more appealing. I would also consider checking for Fuel Tweaks and proactively imposing fuel rationing at the Kiota stations independent of whether it is enabled globally.)

Here is another idea that could be added to this OXP to make visiting the Kiota stations worthwhile: we could use the new market script feature to adjust the market prices for the Kiota stations so that certain commodities (food and luxuries, maybe?) would give a small profit if taken from the main station to the Kiota station. This would create a small in-system trading opportunity and a reason for players to visit the Kiota and (since they're nearby anyway) perhaps also sun-skim before leaving the system.

I would set the Kiota station market to start with a high quantity of those commodities already in the market to represent limited demand because other traders also supply the station and the population is small. For example, if the Kiota station can accept up to 10 tons of food and up to 10 tons of luxuries from the player for a small profit compared to main station prices, that might be enough incentive for players to add the Kiota to their route for leaving the system. Since food is cheaper and therefore less profitable per ton, I would make food have a higher price increase at the Kiota (maybe 25-35% for food, which with average price of 4.4 credits and 10 tons gives a profit of 11 to 15.4 credits) and luxuries less (maybe 10-15%, which with average price of 91.2 credits and 5 tons gives a profit of 91.2 to 136.8 credits). Between 102.2 and 152.2 credits (10.6% to 15.9%) in combined profit from an average investment of 956 credits (the cost to buy 10 of each from the main station at average price).

To avoid the situation where the player goes to the Kiota to sell food and luxuries but then can't find good prices there for other cargo to trade in the next system, the Kiota also should have at least 10 of each of the commodities the main station has in stock, at the same price (so no reason to go back to the main station), so after trading the food and luxuries from the main station to the Kiota, the player can fill their remaining cargo hold there with whatever trade goods they want to take to the next system (unless they are taking food and luxuries to the next system, in which case they would only visit the Kiota if the main station doesn't have enough in stock to fill their cargo hold and they don't mind some extra travel time in-system).

With Fuel Tweaks, the player could also choose to scoop some Quirium Fuel to fill the remaining cargo hold after leaving the Kiota.
dybal
---- E L I T E ----
---- E L I T E ----
Posts: 499
Joined: Mon Feb 10, 2020 12:47 pm

Re: [release]Sun Kiota stations

Post by dybal »

Milo wrote: Thu Jun 18, 2020 5:59 pm
What you proposed makes sense but I think all of them, even the habitat stations, should be at least 75% of the distance to the sun surface to give the player a reason to travel close enough to the sun that when they leave the station they could have the possibility to go sun skimming without much additional travel time. (With other OXPs, for example Fuel Tweaks that introduces Quirium Fuel and rationing, this would be even more appealing. I would even consider checking for Fuel Tweaks and proactively imposing fuel rationing at the Kiota stations.)
Solar and Research really close and the other as close as possible without too much heat insulation - it should be safe for a ship without heat shielding to stay in the region of Habitat, Manufactoring or Biosphere Station (Comm could be in more hazardous regions) for a long period (the stations could have higher heat_insulation in the shipdata-overrides to avoid surprises - there are some systems with really strong flares if you run the right OXPs...)... do you know how the core game calculates the heat input/output for an entity? How does the heat input varies with Sun's size/distance/activity (might have to take that into account to calculate station placement distance)? It would be OK for it to be hazardous for a normal ship during a flare event, but it should be safe otherwise.
Milo wrote: Thu Jun 18, 2020 5:59 pm
Here is another idea that could be added to this OXP to make visiting the Kiota stations worthwhile: we could use the new market script feature to adjust the market prices for the Kiota stations so that certain commodities (food and luxuries, maybe?) would give a small profit if taken from the main station to the Kiota station. This would create a small in-system trading opportunity and a reason for players to visit the Kiota and (since they're nearby anyway) perhaps also sun-skim before leaving the system.

I would set the Kiota station market to start with a high quantity of those commodities already in the market to represent limited demand because other traders also supply the station and the population is small. For example, if the Kiota station can accept up to 10 tons of food and up to 10 tons of luxuries from the player, for a modest profit compared to main station prices, that might be enough incentive for players to add the Kiota to their route for leaving the system. Since food is cheaper and therefore less profitable per ton, I would make food have a higher price increase at the Kiota (maybe 25-35% for food, which with average price of 4.4 credits and 10 tons gives a profit of 11 to 15.4 credits) and luxuries less (maybe 10-15%, which with average price of 91.2 credits and 5 tons gives a profit of 91.2 to 136.8). Between 102.2 and 152.2 credits (10.6% to 15.9%) in combined profit from an average investment of 956 credits (the cost to buy 10 of each from the main station at average price).

To avoid the situation where the player goes to the Kiota to sell food and luxuries but then can't find good prices there for other cargo to trade in the next system, the Kiota also should have at least 10 of each of the commodities the main station has in stock, at the same price (so no reason to go back to the main station), so after trading the food and luxuries from the main station to the Kiota, the player can fill their remaining cargo hold there with whatever trade goods they want to take to the next system (unless they are taking food and luxuries to the next system, in which case they would only visit the Kiota if the main station doesn't have enough in stock to fill their cargo hold and they don't mind some extra travel time in-system).
(Buyer/selling market, market capacity and margins) vs (commodity set) and market reset time (how long it takes for market full or market sold to come back to medium values) should vary according to the station type (setting things up to encourage a player behaviour is fine, but the setup must make sense and be convincing in the game reality):

Habitat (high population density, doesn't produce anything): buyer market for [(food,textiles,liquor,luxuries,narcotics) at large market capacity, (gold,platinum,gem stones) at medium capacity], low availability (but not zero) of any commodity (no local production, so it would be from trans-shipments), fast market reset

Manufactoring (low to medium population density, local production): buyer market for [(gold, platinum, gem stones) at low capacity, (food,textiles,liquor,luxuries,narcotics,furs) at medium capacity, (minerals, alloys) at high capacity], seller market for (computers,machines,luxuries) at high capacity, low availability (but not zero) for other commodities (trans-shipments again), fast market reset

BioSphere (low population density, local production): buyer market for (computers,machines,minerals) at medium capacity, seller market for (food,textiles,liquor) at high capacity, low availability (but not zero) for other commodities (trans-shipments again), medium market reset

Research/Comm (low population, no local production): buyer market for (food,textiles,liquor,luxuries,narcotics,computers,machinery) at low volume butt really high margin, low availability (but not zero) for other commodities (trans-shipments again), slow market reset
User avatar
Milo
---- E L I T E ----
---- E L I T E ----
Posts: 466
Joined: Mon Sep 17, 2018 5:01 pm

Re: [release]Sun Kiota stations

Post by Milo »

I don't know anything about heat calculations yet. I don't think we need to worry too much about ships without heat shielding visiting Kiota stations, if it's too hazardous for them then they just won't go. As long as the stations themselves don't melt, it should be okay.

For the markets, your concepts make sense. But to encourage the play style of visiting the Kiota before jumping out, the price of "trans-shipment" commodities (what isn't produced by the Kiota but is presumably brought by other traders before) would need to be almost the same as the main station's prices for those goods... most of the time (occasional deviations from the norm would be expected). Otherwise the increased cost of buying other goods from the Kiota to take to the next system would cancel out the profits from bringing goods to the Kiota.

"Realistically," if there is ever a significant price difference between in-system stations, you would expect in-system traders to exploit the arbitrage by moving the goods between those stations until the prices reach an equilibrium point, so most of the time you would expect the main station and Kiota to have prices very close to each other. I think this argues against my idea overall, especially for higher-value-per-weight goods like luxuries. It would be overly complex, I think, to simulate real-time price fluctuations creating short-term arbitrage opportunities, plus the player would need to somehow become aware of these opportunities and capitalize on them before other NPC traders do, which seems unlikely considering that local NPC traders have "connections" and might find out about such opportunities faster.

Another idea to provide a small profit opportunity that might sidestep some of those problems would be to offer short-expiration in-system parcel delivery missions from main station to Kiota, instead of actually pricing the stations' markets for arbitrage on trade goods. The concept here would be that the parcel is not a standard commodity but rather something unique and the player is simply in the right place at the right time.
Post Reply