-
Notifications
You must be signed in to change notification settings - Fork 701
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
New Game Implementation: Civilization VI #3736
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are mainly suggestions, feel free to agree, disagree, or discuss any of them with me as desired.
@ScipioWright thank you for the review 🙏 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a few other things while I have a moment
World load times have become a serious issue for AP. Every generation has to load the worlds, and right now, it has to load all worlds (we don't have lazy / selective world loading yet) As a result, we're no longer as willing to merge games that store their data in this many json files and use file-io to load them. These files cannot be optimised / compiled down for the .exe build and have to be read from inside zip files (.apworld) and parsed as json every time. Your json data doesn't look very layered, so I think these could just be rewritten as Python files fully. |
Ah sweet good to know, I'll update it. Thanks!
…On Fri, Nov 29, 2024, 9:05 PM NewSoupVi ***@***.***> wrote:
World load times have become a serious issue for AP.
As a result, we're no longer as willing to merge games that store their
data in this many json files and use file-io to load them. These files
cannot be optimised / compiled down for the .exe build and have to be read
from inside zip files (.apworld) and parsed as json every time.
Your json data doesn't look very layered, so I think these could just be
rewritten as Python files fully.
If you want to keep the json files, there are several solutions, but they
all come down to the same thing: Generate .py files *from* the json
files. Usually people write a script for this that they include in the
world, or they use something like pickle.
—
Reply to this email directly, view it on GitHub
<#3736 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AB2A4KYK5MRC5ECGZGZRD732DE2QLAVCNFSM6AAAAABMBPDZBWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMBYHAYTQOBVHA>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
@NewSoupVi I've updated all the data files to be .py files. Let me know if the way I went about it solves the issue 👍 |
It'll probably be until the weekend until I can look at New Game implementations again, but yeah it seems correct! :) Thank you |
pre_hint_items: PreHintItems | ||
hide_item_names: HideItemNames | ||
advisor_show_progression_items: InGameFlagProgressionItems | ||
death_link: DeathLink |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You may want to create a DeathLink subclass to overwrite the docstring, as I suspect many will ask how deathlink works in this game otherwise. An example can be found in Subnautica's options.
for location in locations.values(): | ||
self.location_table[location.name] = location | ||
|
||
def get_filler_item_name(self) -> str: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This method will be very slow if a lot of filler needs to be created, since the items are filtered for each call with no caching.
What is this fixing or adding?
Support for Civilization VI as a new world.
How was this tested?
The world has several test suites as well as running it through alpha & beta with the community since May