corru.observer/Development Pages
This is a sub-page of Corru.observer.
To do: Cover the earlier version of crittatest (located here, with additional combat data stored here, here, and here). Will probably need to be its own subpage given the sheer quantity of mechanical differences from final, not to mention the unique enemy graphics and music... |
corru.observer has many development subpages used for various things from testing to bug-squashing.
Note that these pages may require appending ?force to the end of the URL to load in properly.
Contents
/concepts/bathysphere/
A (currently-laggy) test page for an unused 3d-lookaround system, featuring a nonexistant "test fishy" entity, along with a note explaining why it was scrapped.
this kinda sucks, maybe we should make the turning be WASD/buttons only and then have the mouse be independent otherwise scanning is gonna be weird
/concepts/canvastest/
A test page for testing using canvases for the display of various things, featuring the konstrukt placeholder graphic.
/concepts/critta/
A test page for ::/FRAME/! This page is actually very interesting, as it contains a lot of information about a slightly later iteration of an early prototype of it, such as a lot of unused dialogue explaining how it worked!
Dialogue
explainer
start actual_site_error yo wat up. this is the tutorial dialogue. there's a lot going on here EXEC::body.classList.add('tutorialmode') there's a map you can fight your way through, and you can make your own characters, crittamode style! woah! btw all visuals and text is subject to change, pretty much everything is temporary. especially the placeholder enemies music is also temporary this is just my The Ruins playlist on soundcloud no story spoilers or anything in here BE SURE YOU CUSTOMIZE YOUR CRITTA (in da party menu) BEFORE YOU SET OFF OR YOU'LL PROBABLY DIE FAST!! there isn't exactly an end, but you can consider your "run" done when you've destroyed each area P.S. these tutorials are verbose as hell but they won't be in the game proper RESPONSES::actual_site_error tell me about the map<+>map tell me about making characters<+>critta RESPONSES::sys close<+>END EXEC::body.classList.remove('tutorialmode') close and dont show for rest of session<+>END EXEC::body.classList.remove('tutorialmode');change("TEMP!!crittut", true) critta actual_site_error so, in this gamemode, your party works way differently you have "shells", both customizable characters and lives! EXEC::togglePartyMenu();body.setAttribute("highlight", "shells") you can get more shells by clearing the marked areas on the map. if you lose a combat, all of your active shells are destroyed (though you keep the components they were made up of) to customize them, you just click that 'modify' button to open the panel. you can change their actions, name and even portrait image! if you lose all of your shells - game over!! sourceless CUSTOMIZING actual_site_error each shell has four slots, replacing their actions in the 1/2/3 slots, with the fourth giving them a powerful passive effect! EXEC::togglePartyMenu();toggleCrittaMenu(page.party[0].slug);body.setAttribute("highlight", "critta") each component type you can use fits a certain niche - experiment with them to find out what works best for you! there will be augments for them as well but they haven't been written yet EXEC::toggleCrittaMenu() RESPONSES::actual_site_error tell me about the map<+>map tell me about making characters<+>critta RESPONSES::sys close<+>END EXEC::body.classList.remove('tutorialmode') close and dont show for rest of session<+>END EXEC::body.classList.remove('tutorialmode');change("TEMP!!crittut", true) map actual_site_error first things first: the map is randomly generated your goal (for now) is to defeat the marked areas! there will be a big boss eventually, with zones being optional encounters, but not on this page... anyway there are three terms you'll want to know here: "organelles", "caches", and your "ship". sourceless CACHES AND organelles actual_site_error "shell" nodes are (usually) easy fights that can get you new party members EXEC::body.setAttribute("highlight", "cache") "caches", the randomly placed smaller circles, are fights, and going to them will start a fight that gives item and component rewards. (highlighted) EXEC::body.setAttribute("highlight", "cache") the crimson-colored "caches" are minibosses, and beating them will also destroy the organelle they're in the center of. (highlighted) EXEC::body.setAttribute("highlight", "miniboss") organelles are the big scary circles. they make everything inside have more difficult enemies, EXEC::body.setAttribute("highlight", "") and grant a combat modifier of some sort, i.e. "all actions have a chance to repeat" - for both allies and enemies! EXEC::content.querySelector('critta-map').selectNodeID('node4') getting rid of organelles by killing their minibosses will destroy the zone and its effects including the extra rewards from fighting in them! you can always tell what a organelle is doing by clicking on a cache inside it. sys YOUR SHIP AND MOVEMENT actual_site_error ok so this little yellow thing at the bottom is your "ship". EXEC::body.setAttribute("highlight", "ship");document.querySelector("critta-map").clearSelectedNode() there's a circle around it, which tells you your range you can move to any cache within range by clicking them! if there are no caches in range, or you want to cut your own path, you can click anywhere within your range circle to create a brand new "exploration cache"! these are easier (sometimes being as little as one enemy), but give less rewards. EXEC::document.querySelector("critta-map").createTempNode({ x: Number(document.querySelector("critta-ship").getAttribute("x")), y: Number(document.querySelector("critta-ship").getAttribute("y")) - 15, select: true }) if you're unlucky and all caches are high threat, try preparing by using exploring the outskirts to gather items and parts! any cache you clear will be a safe point you can jump to without starting another fight. that pretty much does it for the map! try clicking around and seeing what's going on! EXEC::document.querySelector("critta-map").clearSelectedNode() but beware... you only start with one character in your party, so make sure you build them in the party menu before you set off! EXEC::body.setAttribute("highlight", "") RESPONSES::actual_site_error tell me about the map<+>map tell me about making characters<+>critta RESPONSES::sys close<+>END EXEC::body.classList.remove('tutorialmode') close and dont show for rest of session<+>END EXEC::body.classList.remove('tutorialmode');change("TEMP!!crittut", true)
loop
start actual_site_error as da wall's imperfect reset countdown expires, the iteration stops... darn!! didn't get it this time! but the damage you did stays, forever perhaps you can defeat it next time... if you didn't get very far, consider what certain status effects do >:) sourceless the iteration begins anew, albeit imperfectly your shells and inventory are retained, but new organelles fill the space and a new permanent effect now lingers over everything... perhaps it will help you? actual_site_error you could persist and go again with your same team, but if it's more ideal, you could reset - the boss's HP will still remain altered even in your new run RESPONSES::actual_site_error continue<+>END EXEC::env.e3a2.loop(false) reset<+>END EXEC::env.e3a2.loop(true)
bosswarn
start actual_site_error woah... that's the wall!! did you see how much HP it has? don't worry - it's too big to reset, so any damage you deal will carry over to a new run! but take a second to consider your critta builds before proceeding... you're going to need to deal a lot of damage and survive for as long as possible! this message will only ever appear once EXEC::change("bosswarn", true) RESPONSES::self ok<+>END
win
start actual_site_error the firmament is defeated! you could loop again, granting it a fraction of its max HP... or you can reset everything for further testing RESPONSES::actual_site_error loop anyway<+>END EXEC::change("e3a2bosshp", 100000);env.e3a2.loop(false) reset boss HP and full reset<+>END EXEC::change("e3a2bosshp", 1000000);corruRefresh("/concepts/critta/")
/concepts/daemon/
A test page for the display of daemons in ::/FRAME/, showing all of their internal names. Of note is that Antishells are missing from this page.
/concepts/enemy/
A test page used to test various combat-related things throughout development! At the moment, despite the "..__movefriendtesting__.." name, it is testing the ::/FRAME/ finale, with additional custom dialogue for the end section. Of note is that an unused and broken older version of this testing page remains at "/concepts/enemy", without the last slash.
Dialogue
escapewin
start sourceless this is where it would end :) EXEC::env.boatEscape.changeBoatCol(1) RESPONSES::bstrd ok<+>END
enemytest
start sourceless The fiends approach! RESPONSES::akizet engage<+>END EXEC::env.combat.dynamicCombat() disable<+>disable SHOWIF::'EXEC::checkItem(env.ITEM_LIST.disabler)' FAKEEND::(use disabler) disable sourceless A disabler is used! EXEC::killStageEnemy(env.currentDialogue.originEntityID);removeItem(env.ITEM_LIST.disabler) RESPONSES::akizet continue<+>END
enemytestvictory
start sourceless The fiends relent! TEXEC::env.combat.dynamicReward() RESPONSES::akizet continue<+>END
/concepts/firefox/
A test page used for squashing a bug in the firefox browser, featuring the central room of Jokzi Ozo as a testbed. There are a few parameters for this page for testing purposes; one is "nofloaty", removing all floaty tiles; another is "canvasfloor", which turns the floor into a canvas element; and finally "safety", which removes the internal "firefreak" css class that appears if you are using firefox on Windows.
/concepts/fogtest/
A test page for testing various levels of fog, as a test to mitigate lag. Of small note is that this features both of the placeholder graphics, being placehold and konstrukt.
/concepts/melee/
A test page for the incoherent attack of Golem Maintenance's Foundation Golem. This has additional URL parameters to change a few aspects about the minigame, with one, "length", controlling the amount of tiles on the board at a default of 7; and the other, "steps", at a default of 2, controlling the amount of moves available to both sides.
/concepts/prog/
A whole testing page for Golem Maintenance, testing out the progression and combat of the whole area. Of note is that this includes an "augment terminal" object with a placeholder description of "babababababa", different from the used "lesser terminal" in Golem Maintenance.
Dialogue
explainer
start actual_site_error this dialogue will only show up once per session so pls read if u haven't this room tests how progresion and fighting against the new enemies feels for ep3 these are all the fights that will be in EP3, basically in order there's a buncha stuff happening... especially since you can do the three wings in any order! first off, you need to clear the first few enemies in front in MANUFACTURING (ON DA LEFT) you unlock augments and some parts for the IK golem (unlockable character) in SFER (MIDDLE) has story bits but is required for the other parts for IK golem once you have both IK golem parts, it will be automatically added to your party (in this test room anyway) in OPS (right) you unlock bozko and cavik once all three wings are cleared, the boss (behind you) can be fought anyway u have a bunch of items, including the sorry cyst that will add a gun augment you can give to anyone finally, you can re-organize your party! press Z and drag people around only 3 people can be active at a time, and akizet has to be active, so you basically have two interchangable slots ok have fun! RESPONSES::actual_site_error kill all initial enemies<+>loop EXEC::document.querySelectorAll('.initial-evil').forEach(el=>el.parentElement.innerHTML = "") kill all manufacturing enemies<+>loop EXEC::document.querySelectorAll('.m-evil').forEach(el=>el.parentElement.innerHTML = "") kill all sfer enemies<+>loop EXEC::document.querySelectorAll('.s-evil').forEach(el=>el.parentElement.innerHTML = "") kill all ops enemies<+>loop EXEC::document.querySelectorAll('.o-evil').forEach(el=>el.parentElement.innerHTML = "") kill all but boss<+>loop EXEC::document.querySelectorAll('.o-evil, .s-evil, .m-evil').forEach(el=>el.parentElement.innerHTML = "") FAKEEND::(behind you btw watch out) RESPONSES::sys quick kill menu<+>CHANGE::quickkill continue<+>END
quickkill
start actual_site_error if u wanna clear areas, do this before continuing otherwise put startDialogue("quickkill") in your console to open it again RESPONSES::actual_site_error kill all initial enemies<+>start EXEC::document.querySelectorAll('.initial-evil').forEach(el=>el.parentElement.innerHTML = "") kill all manufacturing enemies<+>start EXEC::document.querySelectorAll('.m-evil').forEach(el=>el.parentElement.innerHTML = "") kill all sfer enemies<+>start EXEC::document.querySelectorAll('.s-evil').forEach(el=>el.parentElement.innerHTML = "") kill all ops enemies<+>start EXEC::document.querySelectorAll('.o-evil').forEach(el=>el.parentElement.innerHTML = "") kill all but boss<+>start EXEC::document.querySelectorAll('.initial-evil, .o-evil, .s-evil, .m-evil').forEach(el=>el.parentElement.innerHTML = "") FAKEEND::(behind you btw watch out) RESPONSES::sys continue<+>END
enemytest
start sourceless The fiends approach! RESPONSES::akizet engage<+>END EXEC::env.combat.dynamicCombat() disable<+>disable SHOWIF::'EXEC::checkItem(env.ITEM_LIST.disabler)' FAKEEND::(use disabler) debug kill<+>disable FAKEEND::(use disabler even if u dont have one) disable sourceless A disabler is used! EXEC::removeItem(env.ITEM_LIST.disabler) RESPONSES::akizet continue<+>END EXEC::env.combat.dynamicCombat({dry: true});cutscene(true);setTimeout(()=>{cutscene(false);env.combat.dynamicCallback(env.rpg.enemyTeam)}, 1010) FAKEEND::(wait)
d3_genericenemyvictory
start sourceless The fiends relent! EXEC::env.stage.current.onStep() TEXEC::env.combat.dynamicReward() RESPONSES::akizet continue<+>END RESPONSES::sys demo final boss post dialogue<+>CHANGE::bossclear FAKEEND::(dont click unless you killed boss)
/concepts/stage
A broken test page only accessible without the slash at the end, featuring a test empty version of the "dullvessel_observatory" map. Does not load in the current version of corru.observer.