--- Log opened Tue Sep 11 00:00:26 2018 |
00:03 | | Emmy [Emmy@Nightstar-9p7hb1.direct-adsl.nl] has quit [Ping timeout: 121 seconds] |
00:15 | | ErikMesoy1 [Bruker@Nightstar-hq72t5.customer.cdi.no] has joined #code |
00:18 | | ErikMesoy [Bruker@Nightstar-hq72t5.customer.cdi.no] has quit [Ping timeout: 121 seconds] |
00:36 | | Derakon[AFK] is now known as Derakon |
00:40 | | himi [sjjf@Nightstar-1drtbs.anu.edu.au] has joined #code |
00:40 | | mode/#code [+o himi] by ChanServ |
01:01 | | Kindamoody is now known as Kindamoody[zZz] |
01:04 | | celmin|away is now known as celticminstrel |
--- Log closed Tue Sep 11 01:36:02 2018 |
--- Log opened Tue Sep 11 01:43:16 2018 |
01:43 | | TheWatcher [chris@GlobalOperator.Nightstar.Net] has joined #code |
01:43 | | Irssi: #code: Total of 33 nicks [25 ops, 0 halfops, 0 voices, 8 normal] |
01:43 | | mode/#code [+o TheWatcher] by ChanServ |
01:43 | | Irssi: Join to #code was synced in 15 secs |
--- Log closed Tue Sep 11 02:23:11 2018 |
--- Log opened Tue Sep 11 02:59:58 2018 |
02:59 | | TheWatcher [chris@GlobalOperator.Nightstar.Net] has joined #code |
02:59 | | Irssi: #code: Total of 31 nicks [24 ops, 0 halfops, 0 voices, 7 normal] |
02:59 | | mode/#code [+o TheWatcher] by ChanServ |
02:59 | | Orthia [quassel@Nightstar-ksqup0.co.uk] has joined #code |
03:00 | | mode/#code [+o Orthia] by ChanServ |
03:00 | | Irssi: Join to #code was synced in 25 secs |
03:17 | <&McMartin> | ... oh wait, these meshes are nothing but triangles |
03:17 | <&McMartin> | Mine is an evil laugh! |
03:18 | <&ToxicFrog> | Randomizer now ingests inventory, emits list of all places you can get to and what they contain. |
03:18 | <&ToxicFrog> | The rest is now all UI. |
03:18 | <&McMartin> | You're writing a randomizer for something, but I seem to have missed what. |
03:19 | <@macdjord> | McMartin: Metroid of some vintage, I beleive. |
03:19 | <&ToxicFrog> | Oh, and handling can-escape? |
03:19 | <&ToxicFrog> | "randomizer" was a typo |
03:20 | <&ToxicFrog> | I'm writing a hint system for existing randomizers. |
03:20 | <&McMartin> | Ah. Now I know it's MP1. :) |
03:20 | <&McMartin> | Also, in shocking news |
03:20 | <&McMartin> | I picked up a used, obsolete tech book for $5 |
03:20 | <&McMartin> | It actually still has the CD in the back. |
03:21 | <&ToxicFrog> | It takes as input a game description (location -> prerequisites for entry map, item deduplication and pseudo-item tables), a randomizer seed description (location -> item), and an inventory (list of visited locations) |
03:21 | <&ToxicFrog> | And from that figures out what locations you can now reach |
03:22 | <&ToxicFrog> | The ultimate goal is an interactive program that lets you ask questions like "what major items can I reach with my current inventory" or "which zones have accessible items, and how many" |
03:22 | <&McMartin> | That seems like it might fall down in cases where you don't know that, to choose a non-random example, a certain area can be run backwards |
03:22 | <&ToxicFrog> | McMartin: this information should be in the reachability map, which is extracted from the randomizer itself |
03:23 | <&ToxicFrog> | So if the randomizer doesn't know that an area can be run backwards in the first place, it won't generate layouts that require you to do so |
03:23 | <&McMartin> | OK. |
03:23 | <&McMartin> | ... extracted? |
03:23 | <&ToxicFrog> | (that said, the MP1 randomizer is fairly sophisticated in this regard and takes into account alternate routes, reverse phendrana, etc even for glitchless runs) |
03:24 | <&McMartin> | Are there standardized randomizer generators? |
03:24 | <&ToxicFrog> | It has about 2100 lines of typescript defining functions of the form "can we reach this room given this inventory" and, for some rooms, "can we exit this room given this inventory and room contents" |
03:24 | <&ToxicFrog> | I have written a thing to conver this to a pile of clojure and, eventually, a pile of json |
03:24 | <&ToxicFrog> | (the MP2 randomizer has a bigass binary blob that appears to be a partially postprocessed chunk of the MP2 data files; that's going to be all sorts of fun to convert) |
03:25 | <&ToxicFrog> | So, no, there is not a standardized randomizer generator, at least for Metroid Prime, and there is no standardized format for the reachability map. It's all bespoke. |
03:25 | <&ToxicFrog> | If it weren't this project would be done already. |
03:26 | <&ToxicFrog> | The project so far is ~50 lines of clojure for the actual logic and ~150 lines of lua to convert typescript into clj (defmethod) calls. |
03:27 | <&ToxicFrog> | My ultimate goal is to emit json so that a given game can be described by a rules file (item and reachability maps) and randomizer layout file (location to item map). |
03:27 | <&ToxicFrog> | But for now I just want it up and running before Alex insists we play another round of MP1 so that I know where to go~ |
03:28 | <&ToxicFrog> | Another benefit of having this will be that it'll be able to automatically check exit requirements and thus go "you can get to this room, but you shouldn't, because you'll softlock the game" |
03:29 | <&ToxicFrog> | And I may special-case in a check for the thermal visor control tower bug. |
03:31 | <&McMartin> | Oh wait, my faith in humanity is restored to normal levels |
03:32 | <&McMartin> | There is a gigantic crack running through the CD |
03:34 | <&McMartin> | And yet, that does not seem to have stopped me from copying off all the data on it, even though imaging it is a non-starter. |
03:35 | <&McMartin> | I guess that does count as "Very Good Condition" after all. |
03:41 | | * ToxicFrog feeds in the route from the current run of MP1 as a test, checking after each item, and gets results that perfectly accord with the game experience so far |
03:41 | <&ToxicFrog> | (it's a Pretty Weird Experience that has me with the missiles, morph ball, boost ball, spider ball, phazon suit, wave beam, and ice beam after like twelve rooms) |
03:41 | <&ToxicFrog> | (but no bombs!) |
04:19 | | VirusJTG [VirusJTG@Nightstar-42s.jso.104.208.IP] has quit [[NS] Quit: Leaving] |
04:20 | | VirusJTG [VirusJTG@Nightstar-42s.jso.104.208.IP] has joined #code |
04:20 | | mode/#code [+ao VirusJTG VirusJTG] by ChanServ |
05:11 | | celticminstrel is now known as celmin|sleep |
05:18 | | Derakon is now known as Derakon[AFK] |
06:30 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
06:30 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
07:21 | | ErikMesoy1 is now known as ErikMesoy |
07:21 | | mode/#code [+o ErikMesoy] by ChanServ |
07:44 | | himi [sjjf@Nightstar-1drtbs.anu.edu.au] has quit [Ping timeout: 121 seconds] |
07:56 | | macdjord is now known as macdjord|slep |
09:28 | | JustLurk [justbob@ServerAdministrator.Nightstar.Net] has joined #code |
09:28 | | JustBob [justbob@Nightstar.Customer.Dissatisfaction.Administrator] has quit [NickServ (RECOVER command used by JustLurk)] |
09:28 | | mode/#code [+o JustLurk] by ChanServ |
09:28 | | JustLurk is now known as JustBob |
09:41 | | Kindamoody[zZz] is now known as Kindamoody |
10:29 | | Emmy [Emmy@Nightstar-9p7hb1.direct-adsl.nl] has joined #code |
10:42 | | Degi [Degi@Nightstar-tibk8o.dyn.telefonica.de] has joined #code |
11:38 | <~Vornicus> | Why is it that writing testing code is so pleasant and yet I avoid it so hard |
11:58 | <~Vornicus> | I guess some of these things the structures I need to verify are ...quite large, but |
13:59 | | celmin|sleep is now known as celmin|away |
15:35 | | Vash [Vash@Nightstar-sjaki9.res.rr.com] has joined #code |
16:50 | | Degi [Degi@Nightstar-tibk8o.dyn.telefonica.de] has quit [Ping timeout: 121 seconds] |
18:08 | | Degi [Degi@Nightstar-tibk8o.dyn.telefonica.de] has joined #code |
19:47 | | Degi [Degi@Nightstar-tibk8o.dyn.telefonica.de] has quit [Ping timeout: 121 seconds] |
20:14 | | JustLurk [justbob@ServerAdministrator.Nightstar.Net] has joined #code |
20:14 | | JustBob [justbob@Nightstar.Customer.Dissatisfaction.Administrator] has quit [NickServ (RECOVER command used by JustLurk)] |
20:14 | | mode/#code [+o JustLurk] by ChanServ |
20:14 | | JustLurk is now known as JustBob |
21:51 | | Degi [Degi@Nightstar-tibk8o.dyn.telefonica.de] has joined #code |
22:09 | | domtron [domtron@Nightstar-r8ehsd.ct.charter.com] has joined #code |
22:30 | | Vash [Vash@Nightstar-sjaki9.res.rr.com] has quit [Connection closed] |
22:32 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
22:47 | | domtron_ [domtron@Nightstar-r8ehsd.ct.charter.com] has joined #code |
22:48 | | domtron [domtron@Nightstar-r8ehsd.ct.charter.com] has quit [Connection closed] |
22:48 | | domtron_ [domtron@Nightstar-r8ehsd.ct.charter.com] has quit [Connection closed] |
23:35 | | Emmy [Emmy@Nightstar-9p7hb1.direct-adsl.nl] has quit [Ping timeout: 121 seconds] |
23:50 | | himi [sjjf@Nightstar-1drtbs.anu.edu.au] has joined #code |
23:50 | | mode/#code [+o himi] by ChanServ |
--- Log closed Wed Sep 12 00:00:28 2018 |