-
Notifications
You must be signed in to change notification settings - Fork 814
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
Jak and Daxter: Implement New Game #3291
base: main
Are you sure you want to change the base?
Jak and Daxter: Implement New Game #3291
Conversation
…First spoiler log generated.
…gions and rules, but still missing one-way Entrances.
…asier reading and code reuse.
…ion between the client and the game.
…t/less dependent on order of ops.
* Jak 1: Initial commit: Cell Locations, Items, and Regions modeled. * Jak 1: Wrote Regions, Rules, init. Untested. * Jak 1: Fixed mistakes, need better understanding of Entrances. * Jak 1: Fixed bugs, refactored Regions, added missing Special Checks. First spoiler log generated. * Jak 1: Add Scout Fly Locations, code and style cleanup. * Jak 1: Add Scout Flies to Regions. * Jak 1: Add version info. * Jak 1: Reduced code smell. * Jak 1: Fixed UT bugs, added Free The Sages as Locations. * Jak 1: Refactor ID scheme to better fit game's scheme. Add more subregions and rules, but still missing one-way Entrances. * Jak 1: Add some one-ways, adjust scout fly offset. * Jak 1: Found Scout Fly ID's for first 4 maps. * Jak 1: Add more scout fly ID's, refactor game/AP ID translation for easier reading and code reuse. * Jak 1: Fixed a few things. Four maps to go. * Jak 1: Last of the scout flies mapped! * Jak 1: simplify citadel sages logic. * Jak 1: WebWorld setup, some documentation. * Jak 1: Initial checkin of Client. Removed the colon from the game name. * Jak 1: Refactored client into components, working on async communication between the client and the game. * Jak 1: In tandem with new ArchipelaGOAL memory structure, define read_memory. * Jak 1: There's magic in the air... * Jak 1: Fixed bug translating scout fly ID's. * Jak 1: Make the REPL a little more verbose, easier to debug. * Jak 1: Did you know Snowy Mountain had such specific unlock requirements? I didn't. * Jak 1: Update Documentation. * Jak 1: Simplify user interaction with agents, make process more robust/less dependent on order of ops. * Jak 1: Simplified startup process, updated docs, prayed. * Jak 1: quick fix to settings.
Checking in to see if anyone wants to do another code review. I'd like to get this into the next Archipelago release if possible. If anything needs more discussion, just let me know. EDIT: I realized I never advertised this feature: Auto Detect OpenGOAL InstallThe client will now automatically find your install location of OpenGOAL and use it. You no longer have to touch the Host.yaml whatsoever after installing the apworld or mod. If it fails to find your install directory, you can still provide it manually in the Host.yaml and turn the auto-detection feature off. |
df6b2e9
to
770f057
Compare
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.
Only got partway through the PR, but this is what I found so far. Nothing too major to report so far, just some minor things that could use changes or be addressed.
worlds/jakanddaxter/__init__.py
Outdated
""" | ||
# ID, name, version | ||
game = jak1_name | ||
required_client_version = (0, 4, 6) |
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 will very likely need to be updated due to the various changes coming for item IDs and Python 3.8 support.
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.
I presume required_client_version = (0, 6, 0)
?
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.
That's what I'd assume, but 0.5.1 would probably suffice for PRs sake. It's unclear what needs to be done now in preparation for 0.6.0
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.
I think I actually began using the icon functionality that was merged in after 0.5.1's release, so technically I think I need this to be 0.6.0.
icon_paths["precursor_orb"] = f"ap:{__name__}/icons/precursor_orb.png"
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.
Isn't client version the, well, client version? Not the Archipelago version?
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.
So it seems. I may have been using the wrong variable?
required_client_version: Tuple[int, int, int] = (0, 1, 6)
"""
override this if changes to a world break forward-compatibility of the client
The base version of (0, 1, 6) is provided for backwards compatibility and does *not* need to be updated in the
future. Protocol level compatibility check moved to MultiServer.min_client_version.
"""
required_server_version: Tuple[int, int, int] = (0, 5, 0)
"""update this if the resulting multidata breaks forward-compatibility of the server"""
Let me ask what I should do in ap-world-dev.
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.
Jury's still out... will revisit when my brain no longer requires percussive maintenance.
worlds/jakanddaxter/docs/en_Jak and Daxter The Precursor Legacy.md
Outdated
Show resolved
Hide resolved
worlds/jakanddaxter/docs/en_Jak and Daxter The Precursor Legacy.md
Outdated
Show resolved
Hide resolved
Co-authored-by: Nicholas Saylor <[email protected]>
Co-authored-by: Nicholas Saylor <[email protected]>
Co-authored-by: Nicholas Saylor <[email protected]>
Co-authored-by: Nicholas Saylor <[email protected]>
# Conflicts: # docs/CODEOWNERS
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.
Changing my review to comment as nothing that I have viewed is particularly worrisome to me.
…ld guide and README.md.
* Add trap items, relevant options, and citadel orb caches. * Update REPL to send traps to game. * Fix item counter. * Allow player to select which traps to use. * Fix host.yaml doc strings, ap-setup-options typing, bump memory version to 5. * Alter some trap names. * Update world doc. * Add health trap. * Added 3 more trap types. * Protect against empty trap list. * Reword traps paragraph in world doc. * Another update to trap paragraph. * Concisify trap option docstring. * Timestamp on game log file. * Update client to handle waiting on title screen. * Send slot name and seed to game. * Use self.random instead. * Update setup doc for new title screen. * Quick clarification of orb caches in world doc. * Sanitize slot info earlier. * Added to and improved unit tests. * Light cleanup on world. * Optimizations to movement rules, docs: known issues update.
Edited OP to be more up-to-date on progress. See below for the original.
What is this fixing or adding?
This PR adds Jak and Daxter: The Precursor Legacy to Archipelago. This includes the world, the locations, the items, the text client, web world, documentation, and setup guide.
How was this tested?
190300 other players.If this makes graphical changes, please attach screenshots.
Original Post
This is a draft PR for code review, beta test volunteers, etc. If I've got any style issues, or use deprecated features, or have obvious logical problems, please let me know!
My origin PR squashed some 17 commits, so if you want that kind of granular history, see here.
What is this fixing or adding?
This commit adds Jak and Daxter: The Precursor Legacy to Archipelago. This includes the world, the locations, the items, the text client, web world, documentation, and setup guide.
How was this tested?
If this makes graphical changes, please attach screenshots.
N/A.