mirror of
https://github.com/ArchipelagoMW/Archipelago.git
synced 2026-04-02 00:03:28 -07:00
* APQuest * Add confetti cannon * ID change on enemy drop * nevermind * Write the apworld * Actually implement hard mode * split everything into multiple files * Push out webworld into a file * Comment * Enemy health graphics * more ruff rules * graphics :) * heal player when receiving health upgrade * the dumbest client of all time * Fix typo * You can kinda play it now! Now we just need to render the game... :))) * fix kvui imports again * It's playable. Kind of * oops * Sounds and stuff * exceptions for audio * player sprite stuff * Not attack without sword * Make sure it plays correctly * Collect behavior * ruff * don't need to clear checked_locations, but do need to still clear finished_game * Connect calls disconnect, so this is not necessary * more seemless reconnection * Ok now I think it's correct * Bgm * Bgm * minor adjustment * More refactoring of graphics and sound * add graphics * Item column * Fix enemies not regaining their health * oops * oops * oops * 6 health final boss on hard mode * boss_6.png * Display APQuest items correctly * auto switch tabs * some mypy stuff * Intro song * Confetti Cannon * a bit more confetti work * launcher component * Graphics change * graphics and cleanup * fix apworld * comment out horse and cat for now * add docs * copypasta * ruff made my comment look unhinged * Move that comment * Fix typing and don't import kvui in nogui * lmao that already exists I don't need to do it myself * Must've just copied this from somewhere * order change * Add unit tests * Notes about the client * oops * another intro song case * Write WebWorld and setup guides * Yes description provided * thing * how to play * Music and Volume * Add cat and horse player sprites * updates * Add hammer and breakable wall * TODO * replace wav with ogg * Codeowners and readme * finish unit tests * lint * Todid * Update worlds/apquest/client/ap_quest_client.py Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com> * Update worlds/apquest/client/custom_views.py Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com> * Filler pattern * __future__ annotations * twebhost * Allow wasd and arrow keys * correct wording * oops * just say the website * append instead of += * qwint is onto my favoritism * kitty alias * Add a comment about preplaced items for assertAccessDependency * Use classvar_matrix instead of MultiworldTestBase * actually remove multiworld stuff from those tests * missed one more * Refactor a bit more * Fix getting of the user path * Actually explain components * Meh * Be a bit clearer about what's what * oops * More comments in the regions.py file * Nevermind * clarify regions further * I use too many brackets * Ok I'm done fr * simplify wording * missing . * Add precollected example * add note about precollected advancements * missing s * APQuest sound rework * Volume slider * I forgot I made this * a * fix volume of jingles * Add math trap to game (only works in play_in_console mode so far) * Math trap in apworld and client side * Fix background during math trap * fix leading 0 * Sound and further ui improvements for Math Trap * fix music bug * rename apquest subfolder to game * Move comment to where it belongs * Clear up language around components (hopefully) * Clear up what CommonClient is * Reword some more * Mention Archipelago (the program) explicitly * Update worlds/apquest/docs/en_APQuest.md Co-authored-by: Ixrec <ericrhitchcock@gmail.com> * Explain a bit more why you would use classvar matrix * reword the assert raises stuff * the volume slider thing is no longer true * german game page * Be more clear about why we're overriding Item and Location * default item classification * logically considered -> relevant to logic () * Update worlds/apquest/items.py Co-authored-by: Ixrec <ericrhitchcock@gmail.com> * a word on the ambiguity of the word 'filler' * more rewording * amount -> number * stress the necessity of appending to the multiworld itempool * Update worlds/apquest/locations.py Co-authored-by: Ixrec <ericrhitchcock@gmail.com> * get_location_names_with_ids * slight rewording of the new helper method * add some words about creating known location+item pairs * Add some more words to worlds/apqeust/options.py * more words in options.py * 120 chars (thanks Ixrec >:((( LOL) * Less confusing wording about rules, hopefully? * victory -> completion * remove the immediate creation of the hammer rule on the option region entrance * access rule performance * Make all imports module-level in world.py * formatting * get rid of noqa RUF012 (and also disable the rule in my local ruff.toml * move comment for docstring closer to docstring in another place * advancement???? * Missing function type annotations * pass mypy again (I don't love this one but all the alternatives are equally bad) * subclass instead of override * I forgor to remove these * Get rid of classvar_matrix and instead talk about some other stuff * protect people a bit from the assertAccessDependency nonsense * reword a bit more * word * More accessdependency text * More accessdependency text * More accessdependency text * More accessdependency text * oops * this is supposed to be absolute * Add some links to docs * that's called game now * Add an archipelago.json and explain what it means * new line who dis * reorganize a bit * ignore instead of skip * Update archipelago.json * She new on my line till I * Update archipelago.json * add controls tab * new ruff rule? idk * WHOOPS * Pack graphics into fewer files * annoying ruff format thing * Cleanup + mypy * relative import * Update worlds/apquest/client/custom_views.py Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com> * Update generate_math_problem.py * Update worlds/apquest/game/player.py Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com> --------- Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com> Co-authored-by: Ixrec <ericrhitchcock@gmail.com> Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
70 lines
3.7 KiB
Markdown
70 lines
3.7 KiB
Markdown
# APQuest
|
|
|
|
## Where is the options page?
|
|
|
|
The [player options page for this game](../player-options) contains all the options you need to configure and export a
|
|
config file.
|
|
|
|
## What is APQuest?
|
|
|
|
APQuest is an original game made entirely by NewSoupVi.
|
|
It is a minimal 8bit-era inspired adventure game with grid-like movement.
|
|
It is about 20 seconds long. However, the client can seamlessly switch between different slots,
|
|
so if you want to have 10 of them, that should work pretty well.
|
|
|
|
Crucially, this game is entirely integrated into the client sitting inside its .apworld.
|
|
If you have the .apworld installed into your [Archipelago](https://github.com/ArchipelagoMW/Archipelago/releases/latest)
|
|
install, you can play APQuest.
|
|
|
|
## Why does APQuest exist?
|
|
|
|
APQuest is implemented to be an example .apworld that can be used as a learning tool for new .apworld developers.
|
|
Its [source code](https://github.com/NewSoupVi/Archipelago/tree/apquest/worlds/apquest)
|
|
contains countless comments explaining how each part of the World API works.
|
|
Also, as of the writing of this setup guide (2025-08-24), it is up to date with all the modern Archipelago APIs.
|
|
|
|
The secondary goal of APQuest is to be a semi-minimal generic world that is owned by Archipelago.
|
|
This means it can be used for Archipelago's unit tests without fear of eventual removal.
|
|
|
|
Finally, APQuest was designed to be the first ever "game inside an .apworld",
|
|
where the entire game is coded in Python and Kivy and is playable from within its CommonClient-based Client.
|
|
I'm not actually sure if it's the first, but I'm not aware of any others.
|
|
|
|
## Once I'm inside the APQuest client, how do I actually play APQuest?
|
|
|
|
WASD or Arrow Keys for movement.
|
|
Space to swing your sword (if you have it) or interact with objects.
|
|
C to fire the Confetti Cannon.
|
|
|
|
Open chests, slash bushes, open doors, press buttons, defeat enemies.
|
|
Once you beat the dragon in the top right room, you win.
|
|
That's all there is! Have fun!
|
|
|
|
## A statement on the ownership over APQuest
|
|
|
|
APQuest is licensed using the [MIT license](https://opensource.org/license/mit),
|
|
meaning it can be modified and redistributed by anyone for any purpose.
|
|
However, Archipelago has its own ownership structures built ontop of the license.
|
|
These ownership structures call into question whether any world implementation can permanently be relied on.
|
|
|
|
In terms of these non-binding, non-legal Archipelago ownership structures, I will make the following statement.
|
|
|
|
I, NewSoupVi, hereby relinquish any and all rights to remove APQuest from Archipelago.
|
|
This applies to all parts of APQuest with the sole exception of the music and sounds.
|
|
If I want the sounds to be removed, I must do so via a PR to the Archipelago repository myself.
|
|
Said PR must keep APQuest intact and playable, just with the music removed.
|
|
|
|
As long as I am the maintainer of APQuest, I wish to act as such.
|
|
This means that any updates to APQuest must go through me.
|
|
|
|
However, if I ever cease to be the maintainer of APQuest,
|
|
due to my own wishes or because I fail to uphold the maintainership "contract",
|
|
the maintainership of APQuest will go to the Core Maintainers of Archipelago, who may then decide what to do with it.
|
|
They can decide freely, but if the maintainership goes to another singular person,
|
|
it is my wish that this person adheres to a similar set of rules that I've laid out here for myself.
|
|
|
|
Hopefully, this set of commitments should ensure that APQuest will forever be an apworld that can be relied on in Core.
|
|
If the ownership structures of Archipelago change,
|
|
I trust the Core Maintainers (or the owners in general) of Archipelago to make reasonable assumptions
|
|
about how this statement should be reinterpreted to fit the new rules.
|