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

Rebalance, the third #4970

Merged
merged 7 commits into from
Jul 16, 2021
Merged

Rebalance, the third #4970

merged 7 commits into from
Jul 16, 2021

Conversation

bszlrd
Copy link
Contributor

@bszlrd bszlrd commented Oct 10, 2020

I've did another pass on rebalancing the stats for all ships.
In mod form
I've used this spreadsheet to calculate the values
The spreadsheet has a quick way to copy eny of the jsons

I've included a simple price calculator, that prices some features like acceleration, exhaust velocity, mass, cargo space.
Skipjack is included in there too, so I might want to update that PR if this one gets pulled.
I've reduced accelerations quite a bit. The best you can pull off is 4.5g with the Wave. This might be controversial, but I think the lower accelerations in general will make handling more grounded, and combat more enjoyable. Hopefully the sense of mass will be better felt as well. I've added acceleration caps as well, so even at the emptiest, ships won't go up to absurd accelerations (You could go to about 20g before I think. Meat soup anyone?)
Travel times shouldn't differ significantly. They might be a little longer, but by half a day tops.

I've added aerodynamics stats as well, and pressure limit.
I've only explicitly entered equipment slots where they differ from the default.
Also the entries in them are rearranged to a more sane order.

Apart from how they now feel in general, some important testing is needed:

  • How prone the autopilot to crash, both for the player or the tradeships.
  • How much problem it has with navigation?
  • Should mission deadlines be updated? (I've botched an urgent courier mission to Jupiter by a small margin, and I suspect I would be able to pull it off if I'd been flying manually. If that's a recurring thing, I think it is good, because now the player has to judge their and their ships abilites before accepting a mission. And for urgent missions, tight margins are good in my opinion)
  • Is there any CTD happening? (I had one for the Pumpkinseed from the Eridani start before I explicitly set the default hyperdrive to class 1. Other ships might need that as well)

Issues still:

  • No medium fighter/courier/light freighter with a default class 2 hyperdrive - combat missions crash because of this (Combat.lua expects ships to have default hyperdrive class > 1 (ship rebalance) #4983)
  • Update the default Hyperdrive of the Sinonatrix to class 2, both on market and Sol start (Class one is very slow, deliveries are excessively tough that way) - OR - Play with the mission deadlines
  • Check all ships to have decent Hyperspace range with default drive. Mola Mola and Deneb has issues on master

@impaktor
Copy link
Member

I had a python-script somewhere that converts excel/csv list to our json ship format, I don't know if that's of interest.

@bszlrd
Copy link
Contributor Author

bszlrd commented Oct 11, 2020

That would be mighty useful

@impaktor
Copy link
Member

@nozmajner sadly, I can't find it atm. Doesn't seem to be in the branches I've pushed, nor the local ones. Perhaps on my old steam-engine laptop. I'll check later this weekend.

@bszlrd
Copy link
Contributor Author

bszlrd commented Oct 18, 2020

No probs at all. The sheet works nicely, and I can live with the tiny inconveniences it still has.

@bszlrd
Copy link
Contributor Author

bszlrd commented Oct 18, 2020

@WKFO I must have missed the Lodos accel cap discrepancy. Will fix.
But on the other hand, I did it for other ships, I realize. Because the autopilot tends to use the retros for ground station approach. Not a nice fix for that though.

@robothauler
Copy link
Contributor

At the moment this will break some combat missions because no ships for the role "merchant" are available.

@bszlrd
Copy link
Contributor Author

bszlrd commented Oct 18, 2020

There's a merchant role? Good to know. I'll add some then. Thanks for the heads-up!

@robothauler
Copy link
Contributor

Just for the record. Some missions spawn enemy ships only with hyperdriveClass > 0. So, these missions should be adapted afterwards.

@sturnclaw
Copy link
Member

I'm noticing all files in this PR are missing a trailing end-of-line. Before we merge this, I'd like to ensure all of the relevant JSON files terminate in a line feed according to what Github likes.

@bszlrd
Copy link
Contributor Author

bszlrd commented Oct 22, 2020

What is exactly a trailing end-of-line? A new line at the very end? If so, I updated to spreadsheet to add that.
Also added the merchant role.
I'll update the default hyperdrives too, and the mismatched retro and up accelerations tomorrow.

@bszlrd
Copy link
Contributor Author

bszlrd commented Oct 23, 2020

I've updated the acceleration limits, set up the default hyperdrives, and added the merchant role to the ships that would need it.
I've also streamlined the spreadsheet's exporting part, to fix that little lag that happened when a value was updated, and the exporter expressions redid their thing. Now there's only one exporter cell, and a ship picker for it.
And here it is in mod form for easier testing:
rebalance_2020-1023.zip

@bszlrd bszlrd added the WIP label Oct 23, 2020
@ConfedMajor
Copy link

I don't notice any diference
Is it supposed to see a diference in ships? @nozmajner

@bszlrd
Copy link
Contributor Author

bszlrd commented Oct 26, 2020

@ConfedMajor The stats of ships. Accelerations most importantly, handling.

@ConfedMajor
Copy link

The stats of ships. Accelerations most importantly, handling.

@nozmajner Oh, i never noticed something like that, i always use the autopilot.

@bszlrd
Copy link
Contributor Author

bszlrd commented Nov 4, 2020

@ConfedMajor The autopilot should feel it as well. Not that much likely.

@impaktor
Copy link
Member

impaktor commented Nov 5, 2020

OK, my interest here is mainly the prices of ships, and their relation to #4831, i.e. viability of trade. (And I haven't looked at the prices for the ships in this PR). Since we scaled the trade to be similar to Frontier (because that's what I played, so I know it worked fine), here are some prices in frontier:

  • light fighter ships, ~10t free after drive fitted, cost 30k-50k credits
  • viper & cobra, have 15t and 25t free after drive fitted, cost 80k-90k credits
  • ships with 45t-55t cost about +100k - 150k
  • trusty Asp Explorer 75t cost ~190k
  • ships with +100t cost more than 200k

Ah, fakk it, I have all the data for the Frontier ships under my fingers, so let's just do a plot (and make @laarmen happy, although I did these in under 5 minutes, so not as fancy as they used to be):

lin

OK, as I suspected, this needs log-log scaling to be approximately straight:

log

So, as I've argued a few years ago in a re-balance thread on the forum somewhere:

  • we want a roughly equidistant spacing of ships in log-log to "cover all user cases"
  • price and cargo space is roughly linear in log-log (if you squint your eyes and drink some whisky)

So I'm not arguing we should have the exact same prices as in Frontier, but they should be in a ballpark similar-ish, or cheaper because damn kids to day don't have patience to grind (:older_man: (emoticon for old man, apparently). So not off by a very large factor. Yeah, I know, I'm arguing from "what works from player perspective", rather than some complex spreadsheet summing of all the ships variables.

We also see in the plot above some ships are relatively "strangely" priced relative the others, (not monotonically increasing curve), so it's not strange to have some strange prices, ...said the strange man, strangely.

The more correct way to do this (i.e. compare ship prices with trade prices) would be to jot down free space for each ship after they're fitted with "standard" outfit for a trader (radar, atmo-shield, engine, etc.) and then look at profit for each trade run in each ship, on some profitable trade route given the new commodity prices.

And as it happens, I have that data for each ship in Frontier for the Sol-Barnard route, (which is very nice way to get going when starting the game), but I'll leave that alone for now.

@bszlrd
Copy link
Contributor Author

bszlrd commented Nov 6, 2020

Here's how that looks for our ships:

image

DeltaV with full cargo hold VS tank mass:
image

DeltaV vs Price:
image

@impaktor
Copy link
Member

impaktor commented Dec 1, 2020

The due dates on the missions will have to be adjusted since this PR will slow down the ships.

We probably need some stats on how long a journey now takes in some "reference" ship in the game, and multiply that by some factor.

I found this plot I made +5 years ago for the dev forum (I think something similar should be done now)

due_date

@bszlrd
Copy link
Contributor Author

bszlrd commented Dec 1, 2020

Prices:
image
Triple emphasis on capacity:
image

@bszlrd
Copy link
Contributor Author

bszlrd commented Jan 8, 2021

Updated the PR with the updated stats from the spreadsheet. Including the now merged Skipjack.
I've also updated the cross-section numbers of the Sinonatrix to reflect the overhauled model.

@bszlrd
Copy link
Contributor Author

bszlrd commented Jul 7, 2021

Updated this with the prices in the sheet, and rebased. Likely I screwed that up a bit, it seems that it wants to delete and add every line in the files, but on the other hand most files were all over the place, so it would happen to them anyway.
Price progression looks like this:
image

I've as discussed with @Gliese852, I've also added the "courier" role to these ships:

  • Amphiesma
  • Bluenose
  • Bowfin
  • Kanara civ
  • Lunar Shuttle
  • Mola Mola
  • Natrix
  • Pumpkinseed
  • Sinonatrix
  • Skipjack
  • Varada
  • Wave
  • Xylophis
  • As I understand, this role will be used to pick ships that will go around the system locally.

@bszlrd
Copy link
Contributor Author

bszlrd commented Jul 7, 2021

Sorry for the many commits. The last one is a change suggested by @Gliese852, so the roles are set up as an array.

@sturnclaw
Copy link
Member

I'm not going to ask you to redo all of the commits, but none of the ship json files have a line break at the end of the file; it's normally considered good practice to end your files with a new line.

Otherwise, this is looking pretty good; it'll likely get squash-merged to remove the micro-fix commits, but pending a short playtest it gets my thumbs-up!

@sturnclaw
Copy link
Member

sturnclaw commented Jul 7, 2021

To amend my prior comment: it doesn't get my thumbs-up yet because the Sinonatrix has a 66t fuel tank for some reason.

A) this makes it really hard to maintain as a starter ship, because a tank costs about 4 in-system delivery missions to refill, and
B) this gives it a fully-laden deltaV of 11,000km/s, far greater than other comparable ships (the highest ship in the courier class has a dV of only 7,500km/s fully laden) or even any ship in the game. A quick test with the spreadsheet suggests a fuel capacity in the 30-40t range is far more appropriate for the ship, yielding a dV in the 6,000-8,000km/s range and better acceleration due to the less extreme weight of the hull.

(I made and reverted some tweaks to your spreadsheet while testing numbers @nozmajner because I didn't realize I still had edit permissions there, sorry!)

@bszlrd
Copy link
Contributor Author

bszlrd commented Jul 8, 2021

Updated the stats witht the changes @Web-eWorks suggested. Also added an empty line at the end of all files. (Ignore stupid commit message... :D ).
I'm not sure if I'm up to rebasing the branch though, my fork is a bit of a mess already.

@sturnclaw
Copy link
Member

Played a bit with the new ships, liking where things are at now. Pumpkinseed feels properly speedy compared to the sinonatrix, and the skipjack's handling has improved a bit. The xylophis seems a little slow for the massive engine on the back, but most likely that's something that will be fixed with the new xylo model later on.

@sturnclaw sturnclaw merged commit 8082be2 into pioneerspacesim:master Jul 16, 2021
@bszlrd bszlrd deleted the rebalance03 branch July 16, 2021 09:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants