Difference between revisions of "Talk:2712: Gravity"

Explain xkcd: It's 'cause you're dumb.
Jump to: navigation, search
(Navigation display)
Line 216: Line 216:
 
setInterval(function() { document.getElementById('coorddisplay').innerText = `${Comic.voyager.pos.x.toFixed(2)}, ${Comic.voyager.pos.y.toFixed(2)}; ${Comic.voyager.pos.vx.toFixed(3)}, ${Comic.voyager.pos.vy.toFixed(3)}` }, 500)  
 
setInterval(function() { document.getElementById('coorddisplay').innerText = `${Comic.voyager.pos.x.toFixed(2)}, ${Comic.voyager.pos.y.toFixed(2)}; ${Comic.voyager.pos.vx.toFixed(3)}, ${Comic.voyager.pos.vy.toFixed(3)}` }, 500)  
 
</pre>
 
</pre>
 +
 +
I've expanded on Mormegil's idea to provide a distance to other planets and objects as well, including the light mode button!
 +
 +
<pre>
 +
 +
function round2(num) {
 +
    return Math.round(num * 100) / 100;
 +
}
 +
function distanceTo(ax, ay) {
 +
    return Math.sqrt(Math.pow(ax - pos.x,2) + Math.pow(ay - pos.y, 2))
 +
}
 +
function planetIsNearby(p) {
 +
    const [px,py] = p.loc()
 +
    d = distanceTo(px, py)
 +
    const isNearby = d < p.radius * 5;
 +
    return [d, isNearby]
 +
}
 +
function compareDistances(pd1, pd2) {
 +
    return pd1.d - pd2.d;
 +
}
 +
function objectIsNearby(o) {
 +
    d = distanceTo(o.x, o.y)
 +
    const isNearby = d < 250;
 +
    return [d, isNearby]
 +
}
 +
 +
comic = window.Comic
 +
voyager = comic.voyager
 +
opts = voyager.opts
 +
pos = voyager.pos
 +
remainingObjects = [...opts.objects];
 +
 +
let planets = [
 +
    {"id":"b612","width":2048,"height":2048,"radius":82,"gravity":60,"x":5220,"y":-7400},
 +
    {"id":"dogplanet","width":2048,"height":2048,"radius":337,"gravity":600,"x":2480,"y":-22460},
 +
    {"id":"earth","width":16384,"height":16384,"radius":3275,"gravity":21000,"x":28720,"y":-28720},
 +
    {"id":"enterprise","width":2048,"height":2048,"radius":160,"gravity":200,"x":2020,"y":-60880},
 +
    {"id":"europa","width":8192,"height":8192,"radius":1625,"gravity":5000,"x":26360,"y":5080},
 +
    {"id":"goodhart","width":8192,"height":8192,"radius":1625,"gravity":9000,"x":-26600,"y":6520},
 +
    {"id":"greatattractor","width":4096,"height":4096,"radius":800,"gravity":450000,"x":-594000,"y":250000},
 +
    {"id":"japanmoon","width":2048,"height":2048,"radius":67,"gravity":50,"x":-11860,"y":11600},
 +
    {"id":"maw1","width":2048,"height":2048,"radius":18,"gravity":2000,"x":-63152,"y":18154},
 +
    {"id":"maw10","width":2048,"height":2048,"radius":15,"gravity":2000,"x":-59032,"y":12642},
 +
    {"id":"maw11","width":2048,"height":2048,"radius":12,"gravity":2000,"x":-58762,"y":12496},
 +
    {"id":"maw12","width":2048,"height":2048,"radius":18,"gravity":2000,"x":-53664,"y":11856},
 +
    {"id":"maw13","width":2048,"height":2048,"radius":18,"gravity":2000,"x":-63486,"y":9448},
 +
    {"id":"maw14","width":2048,"height":2048,"radius":18,"gravity":2000,"x":-52142,"y":21648},
 +
    {"id":"maw2","width":2048,"height":2048,"radius":18,"gravity":2000,"x":-60422,"y":17662},
 +
    {"id":"maw3","width":2048,"height":2048,"radius":18,"gravity":2000,"x":-55950,"y":16532},
 +
    {"id":"maw4","width":2048,"height":2048,"radius":18,"gravity":2000,"x":-59092,"y":15942},
 +
    {"id":"maw5","width":2048,"height":2048,"radius":18,"gravity":2000,"x":-59582,"y":15262},
 +
    {"id":"maw6","width":2048,"height":2048,"radius":18,"gravity":2000,"x":-58656,"y":15150},
 +
    {"id":"maw7","width":2048,"height":2048,"radius":18,"gravity":2000,"x":-59400,"y":14852},
 +
    {"id":"maw8","width":2048,"height":2048,"radius":18,"gravity":2000,"x":-58330,"y":14320},
 +
    {"id":"maw9","width":2048,"height":2048,"radius":18,"gravity":2000,"x":-61544,"y":13820},
 +
    {"id":"nojapan","width":2048,"height":2048,"radius":200,"gravity":80,"x":-15360,"y":11700},
 +
    {"id":"origin","width":4096,"height":4096,"radius":630,"gravity":2300,"x":0,"y":0},
 +
    {"id":"outside","width":16384,"height":16384,"radius":125,"gravity":200,"x":0,"y":29000},
 +
    {"id":"peeler","width":2048,"height":2048,"radius":40,"gravity":50,"x":-18540,"y":-1240},
 +
    {"id":"pigeons","width":2048,"height":2048,"radius":160,"gravity":100,"x":-18040,"y":4980},
 +
    {"id":"present","width":2048,"height":2048,"radius":195,"gravity":300,"x":45640,"y":37840},
 +
    {"id":"qwantz","width":4096,"height":4096,"radius":850,"gravity":1400,"x":22120,"y":-49740},
 +
    {"id":"remnant","width":4096,"height":4096,"radius":537,"gravity":9000,"x":39240,"y":-7600},
 +
    {"id":"roads","width":16384,"height":16384,"radius":30,"gravity":40,"x":26480,"y":23020},
 +
    {"id":"soupiter","width":4096,"height":4096,"radius":812,"gravity":1300,"x":-16000,"y":18080},
 +
    {"id":"steerswoman","width":4096,"height":4096,"radius":520,"gravity":600,"x":-70140,"y":5000},
 +
    {"id":"sun","width":16384,"height":16384,"radius":540,"gravity":9000,"x":-29900,"y":-24160}
 +
]
 +
for (const planet of planets) {
 +
    planet.loc = () => { return [planet.x, planet.y]};
 +
}
 +
remainingPlanets = [...planets];
 +
 +
comicElem = document.getElementById('comic');
 +
posbox = document.createElement("pre");
 +
posbox.id = 'posbox'
 +
comicElem.after(posbox)
 +
 +
objectNames = ['tintin', 'figure','ship2', 'soccer', 'lightmode'];
 +
i = 0;
 +
for (const obj of opts.objects) {
 +
    obj.id = objectNames[i];
 +
    i += 1;
 +
}
 +
 +
function decreaseStrongGravity() {
 +
    //If you get a breakpoint in onTick you should be able to see the closure variable
 +
    // Hn, and if you set:
 +
    //    planets = Hn;
 +
    // In the Console while you are breakpointed there, then this will allow you to
 +
    // take off from any planet
 +
    for (const p of planets) {
 +
        if (p.gravity / (p.radius * p.radius) > 0.02) {
 +
            p.gravity = 0.02 * (p.radius * p.radius);
 +
        }
 +
    }
 +
}
 +
 +
let intv = 0
 +
if (intv !== 0) {
 +
  clearInterval(intv);
 +
}
 +
intv = setInterval(() => {
 +
    const playerPos = `${Math.round(pos.x / 100)}, ${Math.round(pos.y / 100)}`
 +
    const playerVel = `${round2(pos.vx)}, ${round2(pos.vy)}, ${pos.va}`
 +
    const planetDistances = [];
 +
    for (const planet of planets) {
 +
        const [d, isNearby] = planetIsNearby(planet);
 +
        if (isNearby) {
 +
            planetDistances.push({d, s:`  - ${isNearby ? "NEARBY" : ""} ${planet.id}: ${Math.round(d / 100)}`});
 +
        }
 +
    }
 +
    for (const planet of remainingPlanets) {
 +
        const [d, isNearby] = planetIsNearby(planet);
 +
        if (!isNearby) {
 +
            planetDistances.push({d, s:`  - ${isNearby ? "NEARBY" : ""} ${planet.id}: ${Math.round(d / 100)}`});
 +
        }
 +
    }
 +
    planetDistances.sort(compareDistances);
 +
    // If you're very close to a planet, take it off the list
 +
    remainingPlanets = remainingPlanets.filter(p => {const [d, isNearby] = planetIsNearby(p); return !isNearby;})
 +
 +
    const objectDistances = [];
 +
 +
    for (const obj of opts.objects) {
 +
        const [d, isNearby] = objectIsNearby(obj);
 +
        if (isNearby) {
 +
            objectDistances.push({d, s:`  - ${isNearby ? "NEARBY" : ""} ${obj.id}: ${Math.round(d / 100)}`});
 +
        }
 +
    }
 +
    for (const obj of remainingObjects) {
 +
        const [d, isNearby] = objectIsNearby(obj);
 +
        if (!isNearby) {
 +
            objectDistances.push({d, s:`  - ${isNearby ? "NEARBY" : ""} ${obj.id}: ${Math.round(d / 100)}`});
 +
        }
 +
    }
 +
    objectDistances.sort(compareDistances);
 +
    // If you're very close to a coin or the button, take it off the list
 +
    remainingObjects = remainingObjects.filter(p => {const [d, isNearby] = objectIsNearby(p); return !isNearby;})
 +
 +
    posbox.innerHTML = `${playerPos}` + "\n" + `${playerVel}` + "\n" + planetDistances.map(pd => pd.s).join("\n")+ "\n" + objectDistances.map(pd => pd.s).join("\n");
 +
}, 500);
 +
 +
</pre>
 +
 
--[[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 09:00, 19 December 2022 (UTC)
 
--[[User:Mormegil|Mormegil]] ([[User talk:Mormegil|talk]]) 09:00, 19 December 2022 (UTC)
  

Revision as of 03:59, 20 December 2022

Whatever image is supposed to be in the center isn't showing up for me! D: Tried on both Safari and Chrome but it gives me the little broken picture icon. Hopefully it's fixed soon! (The comic's been up for about 10 minutes going by when the bot updated this page.) 172.70.126.117 22:28, 16 December 2022 (UTC)

Is it me or are the planets way too close together, and if the gravity were real, they'd all smush together?

The center image is trying to load this link, but there's nothing there: https://xkcd.com/tile/ship1/ship_gliding_2x.png. I hope that gets fixed soon. The "ship" seems to rotate a bit unpredictably over time. At first I thought it was responding to my mouse movements, but I don't think so anymore. Orion205 (talk) 22:34, 16 December 2022 (UTC)
Still broken on the mobile site (Chrome, Android). I just see a rotating missing image box. 172.71.134.133 11:39, 17 December 2022 (UTC)
Ah, the center image is controlled by the javascript, of course: https://xkcd.com/2712/comic.js. So this is some sort of interactive comic? Orion205 (talk) 22:36, 16 December 2022 (UTC)
Okay, left/right arrow keys seem to control the rotation. I'll check back in later in hopes of seeing the ship so I have some idea what the point of it all is. Orion205 (talk) 22:39, 16 December 2022 (UTC)
And now it's working. You fly a little spaceship around the little planet. Luckily you have shields if you slam into the ground too hard. Orion205 (talk) 22:43, 16 December 2022 (UTC)
Catch the cannonball for a spaceship upgrade. Also, not so easy to find a stable orbit around this little planet. Orion205 (talk) 22:49, 16 December 2022 (UTC)


Found another planet (has a reference to the "Tires" chapter in How To) with a cannonball, which turned me into an astronaut.

You can transform the ship into a different (seems faster to me) one by running into the last cannon ball. 108.162.241.249

Rough summary: The comic is an interactive space flight game, starting landed on an origin planet. The planet is static, and the player starts in a ship controlled by WASD or Directional keys. The ship can go up and down, and rotate left and right. Game simulates orbits and gravity, making navigation tricky. Around the player ship there are dots which indicate nearby planets - there are numurous planets, each with what seem to be drawings related to the What If book. Within the browser, planets are loaded in PNG format by chunk, names formatted as "planet_0_0" with numbers incrementing as grid co-ordinates. Planets and objects found: "origin" "europa", "road", "b612". NOTE: Several hazards exist, such as a field of black holes - if flown into, the ship can become stuck if let to be pulled close to the surface, locking in place. 172.70.110.230 23:13, 16 December 2022 (UTC)

Within browser dev console exists the objects "Ship" and "Comic", the latter containing a list of all objects and coordinates, as well as various setting for the game physics and settings. Comic contains the sub-object "Voyager", which contains the details and settings for the player ship, including location, speed, etc. 172.70.110.230 23:13, 16 December 2022 (UTC)
There are 5 ship types in the game code, each with their own consumable transformative found in the world. The ship alternatives are (ship1, ship2, ship-tintin, ship-figure, ship-soccerball). These can be changed with console command [Comic.ship = "ship1"]. Note: At current, "ship-soccerball" returns an error and does not load correctly. 172.70.110.230 23:13, 16 December 2022 (UTC)
The "ship.shields" is a boolean value that defaults to true, and when set to false, makes the game behave in a lunar lander mode (bad landing black screens the whole page). The "ship.engine" types I see in the code are "warp" (very fast speeds) and "infinite improbability drive" (teleports to 'improbable' places). Default engine is "standard", but it seems any value that is not the former two has the same effect. --172.70.254.165 23:32, 16 December 2022 (UTC)
In addition to Europa, the space road, and B-612, there is the "Edge of the Universe" (complete with Milliways restaurant nearby), a... tree (which is extremely hard to land on), a planet populated by the characters from Dinosaur Comics (and the main cast of Jurassic Park), the USS Enterprice (NCC 1701-C), and likely quite a bit more. Orbital mechanics make it tough to land on the smaller targets. 172.71.254.46 23:07, 16 December 2022 (UTC)
Plus what appears to be Earth, complete with the LHC. There's a 2nd "cannonball" there for an additional ship upgrade, but at the time I found it, that graphic was unavailable. 172.70.126.232 23:15, 16 December 2022 (UTC)
"Edge of the Universe" is part of "Outside". There is a hidden tunnel from the main universe to the bubble universe at coordinates (7597,24327) point nose of ship at words "EDGE OF THE" and fire thrusters. 162.158.79.160 03:59, 17 December 2022 (UTC)
I went out a long ways away, and eventually found The Great Attractor. It attracts really hard. I couldn't leave the surface. (I wasn't able to leave the center of Europa either, though, so, not saying much.) There are also some terrifying black holes (a binary system?), though something's weird about their gravity; you kinda bounce off of them a quarter screen away or so? 108.162.216.77 23:10, 16 December 2022 (UTC)
I *think* thats a wormhole, you go in one and then out the other. I got stuck right between them. Speaking of getting stuck, there is a bug where if you hit a planet with enough gravity fast enough, the ship is inside the planet. Holding W makes you go backwards (or at least towards the center maybe?) and you can get all the way to the other end of the planet where you slow down a lot, but can eventually leave. 172.70.82.166 23:19, 16 December 2022 (UTC)Bumpf
There's one planet that's supposed to be the "remnant of the sun", is that what you mean with The Great Attractor? (It has a bridge on it with a coin(?) blocking part of the way, and a space ship actively crashing into its surface, drawn as several frames.) You can leave that by skidding over the surface like a skipping stone to gather momentum - it's tricky, due to various obstacles, but possible! (It's possible you need two ship power-ups?! If they're indeed power-ups and not just aesthetic changes, I didn't pay attention.)
No, it's labeled "The Great Attractor". It's big and white and has strong gravity. Lemme see if I have a screenshot. 108.162.216.25 00:20, 17 December 2022 (UTC)
Here: https://github.com/Erhannis/random_garbage/blob/main/Screenshot%20from%202022-12-16%2017-47-48.png 108.162.216.25 00:24, 17 December 2022 (UTC)
Screenshot of the Enterprise and Dinosaur Comics planet. Sorry for the broken image in the middle, I picked up two powerups and my current ship image is broken. -(pinkgothic) 172.68.110.143 23:22, 16 December 2022 (UTC)
Dog Park planet 172.71.254.114 23:28, 16 December 2022 (UTC)

Using a tablet (no keyboard, but seems to respond to touch), controls are confusing. Presuming that touching bottom left activates left-rotate and touching bottom right does right-rotate (can't see the presumably white-lije controls over the white planet) but I can't get thrust anything but 'reverse' into the planet centre. No obvious top-edge hotspots, either. Maybe I need to do a "You will not go to space today" and then reverse upward... BRB, after a bit more testing, though... 172.69.79.185 23:39, 16 December 2022 (UTC)

Ok, the next go went 'better'. The browser keeps wanting to load "simplified content", but if I ignore that I can get full-screen, at one point I changed rocket-type (no idea how, can't do it again) and I easily get off the planet (hard to thrust just enough to get to the Hooke comment/cannon), with plenty of targets coming in range (but cannot slow down enough to not have it glitch and rebuild a totally new set of targets that I never can reach). Will try desktop version when I'm next on a suitable one... Looks to be a lot of interesting content. 162.158.74.30 23:53, 16 December 2022 (UTC)

Using the developer console, the ship can be teleported to different coordinates via console command [Comic.voyager.pos.x = 0, Comic.voyager.pos.y = -1461], provided here with start location coordinates. This can be used for manual navigation to known coordinates. List of locations per game code added below, append landing X,Y to each as determined. 172.70.110.230 23:42, 16 December 2022 (UTC)

b612: [5280,-7601] dogplanet: [2598,-23168] earth: [33803,-32974] enterprise: [1898,-61215] europa: [24930,8022] goodhart: [-23372,5928] greatattractor: [-594782,248510] japanmoon: [x,y] maw1: [x,y] maw2: [x,y] maw3: [x,y] maw4: [x,y] maw5: [x,y] maw6: [x,y] maw7: [x,y] maw8: [x,y] maw9: [x,y] maw10: [x,y] maw11: [x,y] maw13: [x,y] maw14: [x,y] nojapan: [x,y] origin: [0, -1461] peeler: [x,y] pigeons: [x,y] present: [x,y] remnant: [x,y] roads: [x,y] soupiter: [x,y] steerswoman: [x,y] sun: [x,y]

Note: For ease of teleportation, reference the Comic.planetRects array and use the first two numbers as X,Y. This will get the ship close enough to the object to then land and determine a landed location, via Comic.voyager.pos

In your developer console, enter window.ship.engines = 'infinite improbability drive' and pressing up will randomly teleport you to interesting places. window.ship.engines = 'warp' will let you escape normally inescapable objects.

Unfortunately, the infinite improbability drive will sometimes result in an object's image and geometry failing to load. The same bug can occur with a manual teleportation too close to an object. For convenience, here are a list of coordinates which put you relatively close to various locations, but far enough away to trigger the object's loading: Major Locations: origin: (0, -1500); dogplanet: (2480, -23484); earth: (28720, -36912); europa: (26360, 984); goodhart: (-26600, 2424); greatattractor: (-594000, 247952); qwantz: (22120, -51788); remnant: (39240, -9648); soupiter: (-16000, 16032); steerswoman: (-70140, 2952); sun: (-29900, -32352); Bubble Universe: (5000,21000); Smaller Locations: b612: (5220, -8424); japanmoon: (-11860, 10576); nojapan: (-15360, 10676); enterprise: (2020, -61904); outside: (250,28500); peeler: (-18540, -2264); pigeons: (-18040, 3956); present: (45640, 36816); roads: (26480, 23500); light mode toggle: (1500,-200000) Black Holes: maw1: (-63152, 17130); maw2: (-60422, 16638); maw3: (-55950, 15508); maw4: (-59092, 14918); maw5: (-59582, 14238); maw6: (-58656, 14126); maw7: (-59400, 13828); maw8: (-58330, 13296); maw9: (-61544, 12796); maw10: (-59032, 11618); maw11: (-58762, 11472); maw12: (-53664, 10832); maw13: (-63486, 8424); maw14: (-52142, 20624);

Also, I found the following javascript function helpful for teleporting around. function tp(x,y){ Comic.voyager.pos.x = x; Comic.voyager.pos.y = y; Comic.voyager.pos.vx = 0; Comic.voyager.pos.vy = 0;} --172.70.126.233 03:06, 17 December 2022 (UTC)

If anyone wants to download the planet images, they're at https://xkcd.com/2712/tile/<name>_i_j.png, for i,j = 0, 1, ..., going as high as needed for the planet size. For example, https://xkcd.com/2712/tile/origin_3_3.png gives the bottom-right part of the start planet.

Proposal

It seems the most explanatory thing we can do is replace the blank starfield with the starting image screenshot, and label its four corners with their x and y coordiates, and then make a table of all the objects with their coordinates, a screenshot, and a description of their behaviors. 172.70.206.204 23:55, 16 December 2022 (UTC)

A map with insets would be better than coordinates since the frame rotates. 172.71.158.231 00:17, 17 December 2022 (UTC)
Here are some overview images: https://drive.google.com/drive/folders/1UPJ1_4xNQbsHVP5FplrTaVJa3e6WddjG The Great Attractor is much farther out than most of the planets. So I've also included a more zoomed-in image that doesn't include it. --172.70.127.38 07:35, 17 December 2022 (UTC)

Got images for all the locations: https://drive.google.com/drive/folders/1CVADHsRgBtDPYca-gdfVwNW_nEsrJ-zj?usp=share_link Clam (talk) 00:03, 17 December 2022 (UTC)

Looks like I was beat to the punch, but here's another way to access the raw images (on a dark background): https://aeromancer.dev/xkcd_2712/ 172.70.211.90 01:15, 17 December 2022 (UTC)

I’ve been able to glitch into the center of planets, but the ones with lower gravity I can get out of. I did this unintentionally by going headfirst into one really fast.

Here's a version of the images on the starfields! Figured it would be the closest thing. 172.70.111.29 02:23, 17 December 2022 (UTC)

Table system

I've added the graph from good'ol hoverboard. Here's the format to add stuff. |-

|Title, perhaps in triple apostrophes if they're a major feature, not on top of another planet.

|Transcription for people talking in that area. Don't do this for planets.

|Coordinates. 172.70.126.233 has a comment on a ton of coordinates and locations which need to be added. I don't know how he does that science stuff, but use it!

|Is it a reference to What If 2? Put a Y here if so.

|Is it a reference to XKCD? Put a Y here if so.

|Is it a reference to a movie? Put a Y here if so.

|Is it a reference to something else? Put a Y here is so. Leave these empty if not.

|Put the explanation here.

Please help out on adding stuff! There's a lot! Remove the newlines from in between the lines. I had to add those for them to format right. Eelitee (talk) 04:33, 17 December 2022 (UTC)

OHNO 172.70.126.233 coordinates for teleportation specifically. I didn't read it right and put them in... I'm going through the data dump to try and extract them. Sorry!! Eelitee (talk) 04:37, 17 December 2022 (UTC)

Alright, fixed. A few things I'm thinking about to do next, but I don't have time for: 1. Add gravitation attractions in a new column. They're all in the json dump, I suggest using a json viewer for more convenience. Or doing some coding? 2. Add item locations. This one is important, as items are a major feature. 3. Organize the items, either by alphabetical, or by distance from Earth. This might be hard... 4. Get details in! We need more information. This is the most important by far, get to work! haha.

GL, HF!

Eelitee (talk) 04:48, 17 December 2022 (UTC)

I'm was adding the "Y" tags for the different bodies, do we want to add a "Y" if there is any of that reference on the planet (for the planet row in the chart) or only add the Y on the specific comic fragments or POIs on the planet? On the one hand it seems like it would be helpful to see what kind of references are on a planet overall, but I also feel that it could quickly turn into every planet having every single box checked. Also, I feel we need a 2nd box for what if 1 vs what if 2, as well as TE and HT. I haven't explored the map very much yet, but if there are a lot of ST/SW/LR references they may need to be separated from movies, similar to the abbreviation system on hoverboard. I don't edit a lot and I have only edited "new" pages once or twice so if anyone has any advice or issues with what I have added feel free to add your opinions here. Thanks!

Unlisted Planet

Hi all, first time poster so sorry if I'm formatting this wrong. I found a planet at (46070, 37936) which doesn't seem to be listed yet, and I didn't see it in the comics.js output or the google drive link from Clam. It's very small and has characters talking about the new book https://drive.google.com/file/d/19lfN8N06s18mKUhFkPcFddKYEXApAED4/view?usp=share_link Have we already accounted for this, and if not does anyone know where we might find a listing including this planet and possibly others like it? Jgendelgreen (talk) 06:07, 17 December 2022 (UTC)

No, you're doing alright. If you find something new, just add it to the list. Other people will correct it if it's wrong! You can find a listing using the json dump that was posted underneath the list. I may have deleted the listing for that one accidentally... oops... Eelitee (talk) 06:17, 17 December 2022 (UTC)

Oh cool thanks! I think the one I found is "present"Jgendelgreen (talk) 06:23, 17 December 2022 (UTC)

I wish to note that I'm using Safari on an iPad, which usually can't touch the interactive comics (I know hoverboard was a whole lot of nothing), for this one I can turn the rockets on and off, that's it. Seems like my path is predetermined, on autopilot (turns here then there, first time in an S, with nothing in sight to be modifying my flight). The first time I was going pretty fast, rockets off, then I turned them back on right before I blasted past SOME planet, flitted by in a blink, so I'm hoping to find it again, but I have no control except Thrust or No Thrust. NiceGuy1 (talk) 07:12, 17 December 2022 (UTC)

Check that, NOW if I tap the left side I get the right thruster and vice versa! Hey, I have control! NiceGuy1 (talk) 07:24, 17 December 2022 (UTC)
Found Jurassic Park planet and Dog Park planet, then found the sun, saw SOMEBODY saying something but I skidded to a stop too far away, and no, escape is NOT possible. I'm in the default rocket and turning on the thrusters just gives a little hop, not enough to then tun on ONE thruster to actually change position. I am unquestionably STUCK, LOL! NiceGuy1 (talk) 07:42, 17 December 2022 (UTC)
Does anyone know what this little island is called? It's near the roads. It's been described as "A tree larger than the planet it's growing on" on the main page's table. -(pinkgothic) 198.41.242.241 00:59, 18 December 2022 (UTC)
It's the "roads" tree planet, because the roads through portals need a center to show up as a point on the ship's mini-map system. 172.70.214.205 08:58, 19 December 2022 (UTC)
Cosmic topology?

Does space wrap around horizontally and vertically in a torus like the Atari Asteroids video game, or does it go on forever in all directions? If the former, how many times the area of the initial comic is it? 172.71.154.159 07:33, 17 December 2022 (UTC)

I've gotten to X = 1,000,000, no signs of wrapping around. 172.70.189.113 22:52, 19 December 2022 (UTC)
Game breaker

I found out that if run `ship.shields = false` and touch anything, the screen goes black forever.172.70.179.4 14:49, 17 December 2022 (UTC)

Light mode

I don't see any mention yet of the "Light mode" button at X=1500, Y=-200000; it's clickable and inverts black and white for the comic. 172.71.30.83 07:50, 18 December 2022 (UTC)

I actually came across it a few days ago. I'm pretty sure I found it by holding down the thrusters from the starting position, but now that just sends me crashing into the USS Enterprise (and not even at the same angle every time, maybe due to lag) so either the position of something got changed or I'm remembering what I did wrong. SitkaFox (talk) 03:56, 19 December 2022 (UTC)
More console shenanigans

Executing window.python('import antigravity'); (referencing xkcd #353) in the console does what it says: gravity is reversed. 172.71.30.83 07:50, 18 December 2022 (UTC)

observations

this three-quarters planet seems to be impossible to get out of without the "warp" engines if you get in the center: https://i.imgur.com/tMchAa1.png

Planet is not supposed to be three quarters, I'm guessing one of the tiles did not load for some reason. See here. 172.70.35.69 18:08, 17 December 2022 (UTC)

i also got stuck in one planet by descending toward it very quickly https://i.imgur.com/9ilmtdK.png - in this state, descending and turning do nothing, but accelerating (pressing up) makes me slowly move downward and lets me turn very slowly

--172.70.114.7 15:01, 17 December 2022 (UTC)

also, i went toward this planet (downward) at high speed and became knit cap somehow https://i.imgur.com/JlRFuy4.png --172.70.230.160 15:16, 17 December 2022 (UTC)

Instead of there being a wide "references" column with 4 sub-columns, I think it should be just a "references" column with what the reference is as the text, instead of it being a boolean. This also allows for more detail such as "What If 2, chapter 94: What if I made up a chapter name" or something like that 172.71.22.22 15:46, 17 December 2022 (UTC)Bumpf

There is a planet at {x: 34704, y: -25501} with a space elevator attached to it. In that same planet, at {x: 31682, y: -34551}, there's a guy complaining about the framerate being "really bad out today"; the screen will stutter if you fly by him.

I think that the planet labeled "Earth" in the table is actually Mars. Apparently it has two asteroids orbiting it. N-eh (talk) 19:45, 17 December 2022 (UTC)

I managed to stitch the tiles for each location and therefore created a complete image of each of the 34 locations. Where can I upload this to? I uploaded the code here: https://github.com/roee30/xkcd-scripts

Is it possible to make a google maps type zoomable version of your images like [1] is for 1110: Click and Drag? 172.71.166.123 22:54, 18 December 2022 (UTC)Bumpf

It already exists! See : https://old.reddit.com/r/xkcd/comments/zo07ji/xkcd_2712_static_and_zoomable/ --172.70.242.39 22:02, 19 December 2022 (UTC)

What if 2 planet

It's got a dinosaur being offered a hamburger, a person firing a cannon (one cannonball nearly goes into orbit) and if you can get yourself struck by one of the cannonballs the ship transforms.

I'm not sure if the transformed ship is BETTER, but it is different.

--172.70.131.52 17:19, 17 December 2022 (UTC)

Underneath Europa's Crust

I managed to clip through the icy crust of Europa to the sea underneath (by flying at the planet really fast)... and there's stuff *down* here. Neat!

I'll update the table accordingly. TwilightWorlds (talk) 19:51, 17 December 2022 (UTC)

I noticed some text that isn't written down on the transcript anywhere. Apologies if I'm doing something wrong, I've never contributed before. Here is the link to a screenshot of what I found. Not sure where it is, but hopefully it looks familiar. https://drive.google.com/file/d/11z1_mChMlWr2ZgJCksXEWiY17vosoMlI/view?usp=sharing

Maybe I'm crazy, but is it possible that the positions of some objects have been changed since the comic was posted? The other day, if I flew straight up from the starting point never disabling the engine, I'd get flung around by some gravity wells before being flung out in a direction that would, eventually, lead me right past the 'light mode' button. Today, however, I always end up crashing into the USS Enterprise, and to add to the weirdness, I don't even hit it at the same angle every time. Also, I hope I'm signing this right, it's my first post. SitkaFox (talk) 23:45, 17 December 2022 (UTC)

I noticed that the coordinates in the game code are not the same as the coordinates given by [Comic.voyager.pos.x, Comic.voyager.pos.y]. To convert between the two, multiply the x-coordinate by 2 and the y-coordinate by -2. Hdjensofjfnen (talk) 00:01, 18 December 2022 (UTC)

of which one? voyager x pos = 2 * in game x pos? or in game x pos = 2 * voyager x pos?

Stitched together image?

Would it be difficult to scrape the coords of everything and stitch it together into one large image/something with zoom-in and out a la those made for 1110: Click and Drag?172.71.166.122 00:25, 18 December 2022 (UTC)Bumpf

or maybe at least some zoom-out thing i can put into the console? 172.71.30.64 00:35, 18 December 2022 (UTC)Bumpf

The pictures are tiles 1024*1024 px, file name as https://xkcd.com/2712/tile/origin_3_3.png, the last two digits varying from 0 to planet size. Done it for Origin but it seems I can't upload a file (?) Biem (talk) 08:09, 18 December 2022 (UTC)

Already working on this Majko (talk) 17:14, 18 December 2022 (UTC)

Done: https://drive.google.com/drive/folders/12ZxoMn4Val_9ccJKKE7OMYkfSq54ectq?usp=sharing (turned out it would be a HUGE image so the planets are separate files). I leave adding it to the page to whoever has the permission to upload files here. Majko (talk) 19:24, 18 December 2022 (UTC)

Basic Zoomable Version here: https://old.reddit.com/r/xkcd/comments/zo07ji/xkcd_2712_static_and_zoomable/ --172.71.254.46 04:33, 19 December 2022 (UTC)

Different coordinate systems

Coordinates in the game you use to teleport are 2 per pixel ([1000, 0] is 500 pixels from the origin). Coordinates in the json file are 1 per pixel. Should the coordinates in the page be adjusted to be in the "teleport coordinates"? Majko (talk) 17:14, 18 December 2022 (UTC)

Navigation display

I created a simple “navigation panel” to show my current coordinates and velocity; write this into the developer console:

document.getElementById('bottom').innerHTML += '<div id="coorddisplay" style="position:fixed;top:0;left:0;width:30em;height:2em;background:white;border:1px black solid"></div>';
setInterval(function() { document.getElementById('coorddisplay').innerText = `${Comic.voyager.pos.x.toFixed(2)}, ${Comic.voyager.pos.y.toFixed(2)}; ${Comic.voyager.pos.vx.toFixed(3)}, ${Comic.voyager.pos.vy.toFixed(3)}` }, 500) 

I've expanded on Mormegil's idea to provide a distance to other planets and objects as well, including the light mode button!


function round2(num) {
    return Math.round(num * 100) / 100;
}
function distanceTo(ax, ay) {
    return Math.sqrt(Math.pow(ax - pos.x,2) + Math.pow(ay - pos.y, 2))
}
function planetIsNearby(p) {
    const [px,py] = p.loc()
    d = distanceTo(px, py)
    const isNearby = d < p.radius * 5;
    return [d, isNearby]
}
function compareDistances(pd1, pd2) {
    return pd1.d - pd2.d;
}
function objectIsNearby(o) {
    d = distanceTo(o.x, o.y)
    const isNearby = d < 250;
    return [d, isNearby]
}

comic = window.Comic
voyager = comic.voyager
opts = voyager.opts
pos = voyager.pos
remainingObjects = [...opts.objects];

let planets = [
    {"id":"b612","width":2048,"height":2048,"radius":82,"gravity":60,"x":5220,"y":-7400},
    {"id":"dogplanet","width":2048,"height":2048,"radius":337,"gravity":600,"x":2480,"y":-22460},
    {"id":"earth","width":16384,"height":16384,"radius":3275,"gravity":21000,"x":28720,"y":-28720},
    {"id":"enterprise","width":2048,"height":2048,"radius":160,"gravity":200,"x":2020,"y":-60880},
    {"id":"europa","width":8192,"height":8192,"radius":1625,"gravity":5000,"x":26360,"y":5080},
    {"id":"goodhart","width":8192,"height":8192,"radius":1625,"gravity":9000,"x":-26600,"y":6520},
    {"id":"greatattractor","width":4096,"height":4096,"radius":800,"gravity":450000,"x":-594000,"y":250000},
    {"id":"japanmoon","width":2048,"height":2048,"radius":67,"gravity":50,"x":-11860,"y":11600},
    {"id":"maw1","width":2048,"height":2048,"radius":18,"gravity":2000,"x":-63152,"y":18154},
    {"id":"maw10","width":2048,"height":2048,"radius":15,"gravity":2000,"x":-59032,"y":12642},
    {"id":"maw11","width":2048,"height":2048,"radius":12,"gravity":2000,"x":-58762,"y":12496},
    {"id":"maw12","width":2048,"height":2048,"radius":18,"gravity":2000,"x":-53664,"y":11856},
    {"id":"maw13","width":2048,"height":2048,"radius":18,"gravity":2000,"x":-63486,"y":9448},
    {"id":"maw14","width":2048,"height":2048,"radius":18,"gravity":2000,"x":-52142,"y":21648},
    {"id":"maw2","width":2048,"height":2048,"radius":18,"gravity":2000,"x":-60422,"y":17662},
    {"id":"maw3","width":2048,"height":2048,"radius":18,"gravity":2000,"x":-55950,"y":16532},
    {"id":"maw4","width":2048,"height":2048,"radius":18,"gravity":2000,"x":-59092,"y":15942},
    {"id":"maw5","width":2048,"height":2048,"radius":18,"gravity":2000,"x":-59582,"y":15262},
    {"id":"maw6","width":2048,"height":2048,"radius":18,"gravity":2000,"x":-58656,"y":15150},
    {"id":"maw7","width":2048,"height":2048,"radius":18,"gravity":2000,"x":-59400,"y":14852},
    {"id":"maw8","width":2048,"height":2048,"radius":18,"gravity":2000,"x":-58330,"y":14320},
    {"id":"maw9","width":2048,"height":2048,"radius":18,"gravity":2000,"x":-61544,"y":13820},
    {"id":"nojapan","width":2048,"height":2048,"radius":200,"gravity":80,"x":-15360,"y":11700},
    {"id":"origin","width":4096,"height":4096,"radius":630,"gravity":2300,"x":0,"y":0},
    {"id":"outside","width":16384,"height":16384,"radius":125,"gravity":200,"x":0,"y":29000},
    {"id":"peeler","width":2048,"height":2048,"radius":40,"gravity":50,"x":-18540,"y":-1240},
    {"id":"pigeons","width":2048,"height":2048,"radius":160,"gravity":100,"x":-18040,"y":4980},
    {"id":"present","width":2048,"height":2048,"radius":195,"gravity":300,"x":45640,"y":37840},
    {"id":"qwantz","width":4096,"height":4096,"radius":850,"gravity":1400,"x":22120,"y":-49740},
    {"id":"remnant","width":4096,"height":4096,"radius":537,"gravity":9000,"x":39240,"y":-7600},
    {"id":"roads","width":16384,"height":16384,"radius":30,"gravity":40,"x":26480,"y":23020},
    {"id":"soupiter","width":4096,"height":4096,"radius":812,"gravity":1300,"x":-16000,"y":18080},
    {"id":"steerswoman","width":4096,"height":4096,"radius":520,"gravity":600,"x":-70140,"y":5000},
    {"id":"sun","width":16384,"height":16384,"radius":540,"gravity":9000,"x":-29900,"y":-24160}
]
for (const planet of planets) {
    planet.loc = () => { return [planet.x, planet.y]};
}
remainingPlanets = [...planets];

comicElem = document.getElementById('comic');
posbox = document.createElement("pre");
posbox.id = 'posbox'
comicElem.after(posbox)

objectNames = ['tintin', 'figure','ship2', 'soccer', 'lightmode'];
i = 0;
for (const obj of opts.objects) {
    obj.id = objectNames[i];
    i += 1;
}

function decreaseStrongGravity() {
    //If you get a breakpoint in onTick you should be able to see the closure variable
    // Hn, and if you set:
    //     planets = Hn;
    // In the Console while you are breakpointed there, then this will allow you to
    // take off from any planet
    for (const p of planets) {
        if (p.gravity / (p.radius * p.radius) > 0.02) {
            p.gravity = 0.02 * (p.radius * p.radius);
        }
    }
}

let intv = 0
if (intv !== 0) {
  clearInterval(intv);
}
intv = setInterval(() => {
    const playerPos = `${Math.round(pos.x / 100)}, ${Math.round(pos.y / 100)}`
    const playerVel = `${round2(pos.vx)}, ${round2(pos.vy)}, ${pos.va}`
    const planetDistances = [];
    for (const planet of planets) {
        const [d, isNearby] = planetIsNearby(planet);
        if (isNearby) {
            planetDistances.push({d, s:`  - ${isNearby ? "NEARBY" : ""} ${planet.id}: ${Math.round(d / 100)}`});
        }
    }
    for (const planet of remainingPlanets) {
        const [d, isNearby] = planetIsNearby(planet);
        if (!isNearby) {
            planetDistances.push({d, s:`  - ${isNearby ? "NEARBY" : ""} ${planet.id}: ${Math.round(d / 100)}`});
        }
    }
    planetDistances.sort(compareDistances);
    // If you're very close to a planet, take it off the list
    remainingPlanets = remainingPlanets.filter(p => {const [d, isNearby] = planetIsNearby(p); return !isNearby;})

    const objectDistances = [];

    for (const obj of opts.objects) {
        const [d, isNearby] = objectIsNearby(obj);
        if (isNearby) {
            objectDistances.push({d, s:`  - ${isNearby ? "NEARBY" : ""} ${obj.id}: ${Math.round(d / 100)}`});
        }
    }
    for (const obj of remainingObjects) {
        const [d, isNearby] = objectIsNearby(obj);
        if (!isNearby) {
            objectDistances.push({d, s:`  - ${isNearby ? "NEARBY" : ""} ${obj.id}: ${Math.round(d / 100)}`});
        }
    }
    objectDistances.sort(compareDistances);
    // If you're very close to a coin or the button, take it off the list
    remainingObjects = remainingObjects.filter(p => {const [d, isNearby] = objectIsNearby(p); return !isNearby;})

    posbox.innerHTML = `${playerPos}` + "\n" + `${playerVel}` + "\n" + planetDistances.map(pd => pd.s).join("\n")+ "\n" + objectDistances.map(pd => pd.s).join("\n");
}, 500);

--Mormegil (talk) 09:00, 19 December 2022 (UTC)

Inspiration for Japan missing?

Could it be a reference to Japan being absent from maps edited by the PRC's government? For example, this PRC-sponsored video features a map in the intro where Japan is missing. https://youtu.be/e0oJtuljYRo Ck (talk) 12:58, 19 December 2022 (UTC)

Not just PRC maps. Missing island on stylized world maps are pretty common. See https://old.reddit.com/r/mapswithoutJapan/ and https://old.reddit.com/r/MapsWithoutNZ/ --172.70.131.103 15:01, 19 December 2022 (UTC)

This is no longer plausible when *all* the other, much smaller islands, like especially Corsica and fine detail in the Philippines, are all present and correctly shaped! Ck (talk) 15:46, 19 December 2022 (UTC)

Perhaps a stretch, but in the Webcomic Starslip Crisis, Japan successfully launched itself into space. Nedlum (talk) 16:18, 19 December 2022 (UTC)

Apparently you have not read WhatIf 2. One of the questions is "What if Japan wasn't there" This is a reference to that. 172.69.33.124 00:02, 20 December 2022 (UTC)

The above assertion is probably/certainly the reason but, going with the general note of missing islands, it's not always islands that go inexplicably missing... ;) 141.101.99.31 01:41, 20 December 2022 (UTC)

Black Hole Maw

Is the cluster of black holes, labeled "maw", possibly related to the Maw Cluster in Star Wars?Nedlum (talk) 17:00, 19 December 2022 (UTC)

In the cluster of the black holes there is a small white planet about the size of the spaceship, which does not appear to show any gravity. It can be found at [-60050, 16150]. --172.70.246.211 20:27, 19 December 2022 (UTC)

The "edge of the universe" planet is missing. Teleporting there with the console command teleports you a few seconds of flight between Soupiter and the Milliway Restaurant.

Jurassic Park ninja

If you bump into the little dot next to the guy pushing a rock uphill, your spaceship turns into a little ninja guy. Not sure what the reference is.

https://xkcd.com/2713/ is up (Data Point).172.71.222.108 03:39, 20 December 2022 (UTC)