<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://www.explainxkcd.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bellydrum</id>
		<title>explain xkcd - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://www.explainxkcd.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bellydrum"/>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php/Special:Contributions/Bellydrum"/>
		<updated>2026-04-29T00:13:48Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=2916:_Machine&amp;diff=339295</id>
		<title>2916: Machine</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=2916:_Machine&amp;diff=339295"/>
				<updated>2024-04-10T18:22:18Z</updated>
		
		<summary type="html">&lt;p&gt;Bellydrum: Change &amp;quot;alt&amp;quot; to &amp;quot;alt/option&amp;quot; in keyboard shortcuts after confirmation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{comic&lt;br /&gt;
| number    = 2916&lt;br /&gt;
| date      = April 5, 2024&lt;br /&gt;
| title     = Machine&lt;br /&gt;
| image     = machine_2x.png&lt;br /&gt;
| imagesize = 740x740px&lt;br /&gt;
| noexpand  = true&lt;br /&gt;
| titletext = The Credible Machine&lt;br /&gt;
}}&lt;br /&gt;
* To experience the interactivity, visit the [https://xkcd.com/2916/ original comic].&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
{{incomplete|Created by a WELL OILED ROBOT. Do NOT delete this tag too soon.}}&lt;br /&gt;
This is the 14th [[:Category:April fools' comics|April fools' comic]] released by [[Randall]]. The previous April fools' comic was [[2765: Escape Speed]] from 2023, which was released on Wednesday, April 19, 2023.&lt;br /&gt;
&lt;br /&gt;
Once again an April Fool's Day Comic came out late, as Randall did not release this on April 1st, even though April 1st did fall on a Monday, a normal release day. It first came four days later with the Friday release on April 5th. That this is to be considered an April fools' comic, in spite of the later release, was confirmed on the xkcd Facebook page, see the [[#Trivia|trivia section]] below.&lt;br /&gt;
&lt;br /&gt;
This is a spin on the game {{w|The Incredible Machine}}. The title text explicitly references this, albeit in a linguistic reversal.&lt;br /&gt;
&lt;br /&gt;
Upon loading the page, you are presented with marbles being added to a box by geared wheels, with a button to open a “tool panel”. You are encouraged by Cueball to direct the marbles into a little “output” gear, and told that marbles have a lifespan of 30 seconds to reduce clutter. There are large and small boards available for use, as well as some gimmicky stuff like prisms&amp;lt;!-- that sort marbles by color SEEM TO 'RANDOMLY' REFRACT/DEFLECT, IF SORTING IS TRUE THEN EXPLAIN IN NEW/RELOCATED SECTION? --&amp;gt; (which deflect marbles) and fans (which blow marbles around).&lt;br /&gt;
&lt;br /&gt;
The comic starts in a main screen where the user can create a {{w|Rube Goldberg machine}} in a &amp;quot;Cell&amp;quot; where the goal is to route a constant stream of colored balls from an input on the ceiling or a wall to outputs of a matching color on the walls or floor. After the comic is first opened a window pops up over the machine where Cueball in a lab coat tells you to route the balls from the inputs to the outputs. If any balls are left in your cell for more than 30 seconds, they fade away. The first time a ball fades away another popup informs you that the balls are removed for security reasons. When you have built a machine which succeeds in routing enough balls to the output, a popup will prompt you to submit your cell to be added to the public machine. Typically, inputs and outputs only accept balls of a single colour, and any balls of another colour which pass through an output will reduce the completion counter. However, some outputs accept multiple colours, indicated by a double arrow, and some inputs produce multiple colours. When the player is designing their 'machine', this will involve multiple full streams merged into one (supplied by a double-exit on the adjacent submission). Machines now working in the full grid may, however, find that their sources now contain stray balls of other types that were not handled properly, but there is no way to force a re-edit of the machine to alter its behaviour to account for this.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=&amp;quot;200&amp;quot; widths=&amp;quot;150&amp;quot;&amp;gt;&lt;br /&gt;
File:2916_popup_intro.png|Introduction popup&lt;br /&gt;
File:2916_popup_time.png|Time limit popup&lt;br /&gt;
File:2916_popup_submit.png|Submission popup&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The button in the bottom right corner brings you to a page where you can drag around to view all of the machines that have been submitted, with a title for each in the upper left corner. In this view you can see that all of the outputs are also inputs for another cell, except for the top row where the inputs come from off screen and the lowest row which output through a launcher of some kind to a set of four colored-coded containers far below. Any empty cells are marked off by yellow tape with the words &amp;quot;UNDER CONSTRUCTION&amp;quot; as well as &amp;quot;DJIA ↑ 31415&amp;quot; once in each cell. &amp;quot;DJIA&amp;quot; stands for the Dow Jones Industrial Average, with &amp;quot;DJIA ↑ 31415&amp;quot; indicating that it rose to 31415 points, 31415 being the first five digits of pi, without the period.&lt;br /&gt;
&lt;br /&gt;
Whenever balls reach the bottom of the grid, they are directed towards four containers, one of each color. Most balls are accurately sent to their appropriate container, though there are some misfires. These containers are above a pit, and periodically dump their contents. Balls in the pit are subject to the same 30s culling rule as balls in the cells above. If no balls are directed towards the containers, the pit will be empty. If one or two streams of balls are making it, Cueball and Megan sit in a small boat named the USS Buoyancy, and when sufficient balls are being deposited, the boat begins to float and move. More streams of balls are likely to add more changes. Balls which miss or overspill the pit fall out of the bottom of the frame.&lt;br /&gt;
&lt;br /&gt;
Under construction cells will feed balls of the appropriate colour into neighbouring cells so long as you are not looking at them. Once you scroll to look at them, the supply of balls stops and subsequent cells in the chain will not receive any; scroll away from them again and the supply will resume.&lt;br /&gt;
&lt;br /&gt;
When you press submit, you will see your creation placed on the grid.  However if you refresh that cell will likely be under construction or replaced with someone else's machine. However, other people's machines are consistently placed, so it appears that there is some moderation process selecting a machine for each cell out of the machines submitted by users. If your newly submitted creation is placed in the lowest row of cells, balls will be dispensed through the exit at the bottom, but there will be no launcher to propel them towards the pit, and they will vanish as they leave the exit.&lt;br /&gt;
&lt;br /&gt;
The grid is 12 cells wide, and grows in height. The largest size observed so far is 12x50, for a total of 600 cells. The machine's height is determined by the lowest cell; This can be either your submitted cell, or a cell created by another user.&lt;br /&gt;
&lt;br /&gt;
Imperfections in the machines (whether accidental or by design) and the impossibility of entirely avoiding collisions when crossing streams inevitably lead to significant levels of losses and pollution with the wrong colour balls. Indeed, using the follow ball trick (see Trivia) appears to show that it is quite rare for a ball to survive more than several machines without getting stuck somewhere. This implies that there is some 'creative accounting' going on to ensure that cells lower in the grid still have balls to process - simulating flow only for a few nearby cells, while assuming that those cells themselves have pure, steady inputs.&lt;br /&gt;
&lt;br /&gt;
===Toolbox items===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|+ List of objects&lt;br /&gt;
|-&lt;br /&gt;
! Description !! Effect !! Image&lt;br /&gt;
|-&lt;br /&gt;
| Plank || Static || [[File:2916_plank.png|frameless|upright=0.25]]&lt;br /&gt;
|-&lt;br /&gt;
| Hammer || Static || [[File:2916_hammer.png|frameless|upright=0.25]]&lt;br /&gt;
|-&lt;br /&gt;
| Sword || Static || [[File:2916_sword.png|frameless|upright=0.25]]&lt;br /&gt;
|-&lt;br /&gt;
| Hinged scoop || Rotates around its hinge, tries to stay horizontal with a springy effect || [[File:2916_scoop.png|frameless|upright=0.25]]&amp;lt;br&amp;gt;[[File:2916_scoop_mirrored.png|frameless|upright=0.25]]&lt;br /&gt;
|-&lt;br /&gt;
| Anvil || Static || [[File:2916_anvil.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Brick || Static || [[File:2916_brick.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Fan || Blows away balls in front of it. Different colors are affected by differing amounts (yellow balls are lightest, and can be levitated above an upward-facing fan).|| [[File:2916_fan.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Pillow || Balls will not bounce if they hit it || [[File:2916_pillow.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Round bumper || Bounces balls away at significantly higher speed || [[File:2916_round_bumper.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Triangle bumper left || Bounces balls away at significantly higher speed || [[File:2916_bumper_left.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Triangle bumper right || Bounces balls away at significantly higher speed || [[File:2916_bumper_right.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Attractor/Black Hole || Pulls balls toward center, can be resized || [[File:2916_attractor.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Repulsor/White hole || Repels balls away from center, can be resized || [[File:2916_repulsor.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Prism || &amp;quot;Refracts&amp;quot; balls as they enter and exit, causing them to curve to follow the color of the ball as much as possible{{Actual citation needed|...I can believe this might have been the intent, but I've never seen any such behaviour, even when dripping combined red and blue balls in from the same incident angle on the same spot, both types seem to take whatever exit they want, unpredictable and not at all differentiated between colours.}} || [[File:2916_prism.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Wheel || Spins depending on arrow keys [right/left] pressed while selected (default:anticlockwise), deflects balls, can jam with enough resistance (e.g. glut of balls or against other elements). || [[File:2916_wheel.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;quot;Good job&amp;quot; trophy || Static || [[File:2916_trophy.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Glass cup || Static || [[File:2916_cup.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Cat || Swats away balls in front of themself (was added later) || [[File:2916_cat_new.png|frameless|upright=0.25]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|+ Characters&lt;br /&gt;
|-&lt;br /&gt;
! Description !! Image&lt;br /&gt;
|-&lt;br /&gt;
| Ponytail with raised arms || [[File:2916_ponytail_arms.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Ponytail standing || [[File:2916_ponytail.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Cueball with raised arms || [[File:2916_cueball_arms.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| White Hat || [[File:2916_whitehat.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Knit Cap sliding, resting, or floating? || [[File:2916_knitcap_resting.png|frameless|upright=0.25]]&lt;br /&gt;
|-&lt;br /&gt;
| Knit Cap || [[File:2916_knitcap.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Helmet? || [[File:2916_helmet.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Probably Deterministic sign || [[File:2916_deterministic.png|frameless|upright=0.25]]&lt;br /&gt;
|-&lt;br /&gt;
| Squirrel || [[File:2916_squirrel.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| [[1682: Bun|Bun]] || [[File:2916_rabbit.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Cat || [[File:2916_cat.png|frameless|upright=0.125]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Color routing ===&lt;br /&gt;
The different ball colors have different physical properties. Red balls are more bouncy than other balls, green balls are heavier, and yellow balls are lighter and slightly bouncy. The following values were extracted from the code:&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Color&lt;br /&gt;
! Mass&lt;br /&gt;
! Density&lt;br /&gt;
! Restitution (bounciness)&lt;br /&gt;
! Linear damping (drag)&lt;br /&gt;
|-&lt;br /&gt;
! data-sort-key=&amp;quot;00F&amp;quot; | Blue&lt;br /&gt;
| 0.08&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! data-sort-key=&amp;quot;F00&amp;quot; | Red&lt;br /&gt;
| 0.08&lt;br /&gt;
| 1&lt;br /&gt;
| 0.8&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! data-sort-key=&amp;quot;0F0&amp;quot; | Green&lt;br /&gt;
| 0.75&lt;br /&gt;
| 9.325&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! data-sort-key=&amp;quot;FF0&amp;quot; | Yellow&lt;br /&gt;
| 0.024&lt;br /&gt;
| 0.3&lt;br /&gt;
| 0.6&lt;br /&gt;
| 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For certain combinations of inlet and outlet 'gates', it is necessary to 'cross the streams'. e.g. to direct righthand-entry balls to a lefthand-exit and vice-versa. It is possible to just construct the field to send two (or more!) sets of balls to fly across a common gap, to land on an appropriate reception area that leads to the chosen exit. But, though this is not {{w|Proton pack#Crossing the streams|completely inadvised}}, the timing of the balls cannot be guaranteed to be in sync (or, rather, anti-sync) with each other and collisions ''will'' occur, especially under the variations of delivery that might significantly alter the ballistic path across the gap. Even if the trial machine works, in isolation with a steady stream of all balls entering the field of play, once submitted it will inevitably be fed by a more chaotically-routed preceeding construction.&lt;br /&gt;
&lt;br /&gt;
In order to maintain sufficient correct arrivals at exits&amp;lt;!-- and, I believe, sufficiently few ''wrong'' arrivals... does it enumerate the 'net correct delivery rate' to establish the validity of the output? ...needs more research --&amp;gt;, it may be necessary to add a method of filtering the hues.&lt;br /&gt;
&lt;br /&gt;
This could just mean introducing a 'wrong hue trap' beyond any crossing point(s) that send the occasionally wrong ball back to the cross point (or let them time-out in a dead-end, relying upon few enough failures from the rest of the balls, along with all colliding balls that subsequently missed ''any'' chance of reaching an exit). Alternatively, two (or more) feeds of marbles could be fed through a deliberate 'sorter' that does a sufficiently reasonable job of separating the combined sets out towards their intended target-exits.&lt;br /&gt;
&lt;br /&gt;
The various physical qualities of the balls suggest a number of methods for redirecting separate hues to separate onward journeys. This can be done by isolating a hue from every other hue, then passing on (if necessary) to a setup extracting a different one from the remainder, and perhaps also a third time. It may also be possible to merge 'arrangements' of sorting mechanics to efficiently distribute straight into three ''or even four'' onward tracks towards the desired outputs, but that is left as an exercise to the reader.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- This may not be the most efficient depiction (with just four/less 'core methods', after following &amp;quot;See X/Y&amp;quot;s) but if the Prism or some other item actually adds zignificantly practical pre-&amp;quot;See&amp;quot; differences then the all-vs-all format (with the reversals/same-to-sames still there to be abbreviated/redirected) will come into its own.&lt;br /&gt;
If you so wish, redo. e.g. as &amp;quot;;header + :paragraph&amp;quot;s or table of &amp;quot;!Combo(s)!!Methodology&amp;quot;&lt;br /&gt;
NB:&lt;br /&gt;
  1x ! Row-start Style=                                                 | Row-start 'header'&lt;br /&gt;
  4x | *Unwikiparsable key just for editors' benefit* + optional Style= | Contents&lt;br /&gt;
...right now, I've mostly added &amp;quot;vertical fan&amp;quot; experiences (which I find useful for all but R/B differentiation), but more about bumpers (including fan-/wheel-collisions), the positive/negative 'force objects' and of course horizontal/angled fans could also be added.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:black; color:white&amp;quot; | To separate !! style=&amp;quot;background-color:lightblue&amp;quot; | Blue !! style=&amp;quot;background-color:lightgreen&amp;quot; | Green !! style=&amp;quot;background-color:yellow&amp;quot; | Yellow !! style=&amp;quot;background-color:red&amp;quot; | Red&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color:red&amp;quot; | Red&lt;br /&gt;
| *R/B* | '''Use 'bounce''''&lt;br /&gt;
The sole difference is how much balls will rebound from objects. Well managed and constrained ricochets should allow a sorting action.&lt;br /&gt;
| *R/G* | '''Use mass or 'bounce''''&lt;br /&gt;
Green balls cannot be levitated by a vertical fan. An incline across any such fan(s) will levitate only non-Greens.&amp;lt;br/&amp;gt;Green, like Blue, rebounds differently to Red. Green balls are also affected by black holes much less than all other balls.&lt;br /&gt;
| *R/Y* | ''See Y/B''&lt;br /&gt;
| *R/R* style=&amp;quot;text-align: center; background-color:black; color:white&amp;quot; | n/a &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color:yellow&amp;quot; | Yellow&lt;br /&gt;
| *Y/B* | '''All methods'''&lt;br /&gt;
Yellow, alone, exhibits high drag against any unforced motion.&amp;lt;br/&amp;gt;It is also unique in all other ways; e.g. can be levitated highest, against all other hues (though most profoundly against Green).&lt;br /&gt;
| *Y/G* | ''See Y/B''&lt;br /&gt;
| *Y/Y* style=&amp;quot;text-align: center; background-color:black; color:white&amp;quot; | n/a&lt;br /&gt;
| *Y/R* style=&amp;quot;text-align: center; background-color:gray&amp;quot;  | ''See Y/B'' &amp;lt;!-- R/Y-&amp;gt;Y/B --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color:lightgreen&amp;quot; | Green&lt;br /&gt;
| *G/B* | '''Use mass'''&lt;br /&gt;
Green balls cannot be levitated by a vertical fan.&amp;lt;br/&amp;gt;There is also a not so marginal difference in density that might be exploited, such as by using black holes, which only minimally effects green.&lt;br /&gt;
| *G/G* style=&amp;quot;text-align: center; background-color:black; color:white&amp;quot; | n/a&lt;br /&gt;
| *G/Y* style=&amp;quot;text-align: center; background-color:gray&amp;quot;  | ''See Y/B'' &amp;lt;!-- Y/G-&amp;gt;Y/B --&amp;gt;&lt;br /&gt;
| *G/R* style=&amp;quot;text-align: center; background-color:gray&amp;quot;  | See R/G&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color:lightblue&amp;quot; | Blue&lt;br /&gt;
| *B/B* style=&amp;quot;text-align: center; background-color:black; color:white&amp;quot; | n/a&lt;br /&gt;
| *B/G* style=&amp;quot;text-align: center; background-color:gray&amp;quot;  | See G/B&lt;br /&gt;
| *B/Y* style=&amp;quot;text-align: center; background-color:gray&amp;quot;  | See Y/B&lt;br /&gt;
| *B/R* style=&amp;quot;text-align: center; background-color:gray&amp;quot;  | See R/B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Even when not strictly necessary for one's own submission, once submitted into the full playing grid the player's own contribution may find itself working with less 'pure' delivered ball-streams (from an imperfectly separating feed-in contribution). It is possible that this more interactive disruption can make the new setup behave erratically or even entirely incorrectly.&lt;br /&gt;
&lt;br /&gt;
It might be thought good practice (but not ''necessary'') to deliberately combine any or all inputs and do a full job of splitting them again, just in anticipation of possibly having to deal with such cross-contamination and being able to 'clean up' the onward stream(s) for the benefit of others. This would of course be particularly difficult if the isolated building-phase does not provide all four hues to 'test' against, so any speculatively added filtering would have to be added 'blind' (and only on the offchance that any anticipated incorrect balls will actually enter the arena) and without any legitimate exits to which such rejects could be shunted (therefore could accumulate, up until any 'time out' that might apply to any ball once operational as part of the combined grid).&lt;br /&gt;
&lt;br /&gt;
Single-input/single-output designs might not particularly require ''any'' sorting mechanism, in theory, though the unexpected 'contamination' of the system with balls of different masses/etc could perhaps introduce malfunctioning passage from the added chaos it might succumb to.&lt;br /&gt;
&lt;br /&gt;
==Transcript==&lt;br /&gt;
{{incomplete transcript|Do NOT delete this tag too soon.}}&lt;br /&gt;
&lt;br /&gt;
:[The placeholder image shows four balls, colored red, green, yellow and blue, bouncing on top of three white blocks. Text in the center: &amp;quot;[visit xkcd.com to view]&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
:[Cueball with lab coat, intro popup]&lt;br /&gt;
:Cueball: Balls falling into your cell should be routed to the outputs at a steady rate.&lt;br /&gt;
&lt;br /&gt;
:[Cueball with lab coat, warning popup]&lt;br /&gt;
:Cueball: For security reasons, balls that remain in your device for more than 30 seconds will be removed and destroyed.&lt;br /&gt;
&lt;br /&gt;
:[Cueball with lab coat, submit popup]&lt;br /&gt;
:Cueball: Congratulations! Your contraption has passed all tests. Press [submit button] to submit it to be added to the machine!&lt;br /&gt;
&lt;br /&gt;
==Trivia==&lt;br /&gt;
*Randall acknowledges the people who helped him create this comic in a [[Header_text#Machine|comic-specific header text]]. &lt;br /&gt;
**With 11 different involved apart from Randall this is by far the comic with most people involved.&lt;br /&gt;
*Some hidden keyboard shortcuts have been found:&lt;br /&gt;
** Follow balls: Ctrl + Alt/Option + B&lt;br /&gt;
** Show debug overlay: Ctrl + Shift + Cmd + D&lt;br /&gt;
** Delete selected item: Fn + Delete&lt;br /&gt;
*When Randall posted a [https://www.facebook.com/TheXKCD/posts/pfbid0Cs97awQZi1ZiaEXouAex9tXrwAS3qJV3RmAiuCq5uvZQwqZVMgDmcqJ7JU9LYodYl link to this comic] on his [https://www.facebook.com/TheXKCD Facebook feed], he directly wrote that it was a late April Fools' Day!&lt;br /&gt;
**MACHINE&lt;br /&gt;
**Happy Belated April Fool's Day!&lt;br /&gt;
**This thus ends any discussion of whether this should be seen as an April Fool's comic or not. &lt;br /&gt;
**It just came out 4 days late. This has also happened several times since [[Garden]].&lt;br /&gt;
[[File:2916 Machine Facebook April fools' confirmation.png]]&lt;br /&gt;
&lt;br /&gt;
{{comic discussion}}&lt;br /&gt;
&lt;br /&gt;
[[Category:April fools' comics]]&lt;br /&gt;
[[Category:Comics with color]]&lt;br /&gt;
[[Category:Dynamic comics]]&lt;br /&gt;
[[Category:Comics with animation]] &lt;br /&gt;
[[Category:Interactive comics]]&lt;br /&gt;
[[Category:Comics featuring Cueball]]&lt;br /&gt;
[[Category:Comics featuring Megan]]&lt;br /&gt;
[[Category:Comics featuring Ponytail]]&lt;br /&gt;
[[Category:Comics featuring White Hat]]&lt;br /&gt;
[[Category:Comics featuring Knit Cap]]&lt;br /&gt;
[[Category:Characters with hats]]&lt;br /&gt;
[[Category:Squirrels]]&lt;br /&gt;
[[Category:Buns]]&lt;br /&gt;
[[Category:Cats]]&lt;/div&gt;</summary>
		<author><name>Bellydrum</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=2916:_Machine&amp;diff=339294</id>
		<title>2916: Machine</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=2916:_Machine&amp;diff=339294"/>
				<updated>2024-04-10T18:10:29Z</updated>
		
		<summary type="html">&lt;p&gt;Bellydrum: Improved, added, and fixed keyboard shortcuts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{comic&lt;br /&gt;
| number    = 2916&lt;br /&gt;
| date      = April 5, 2024&lt;br /&gt;
| title     = Machine&lt;br /&gt;
| image     = machine_2x.png&lt;br /&gt;
| imagesize = 740x740px&lt;br /&gt;
| noexpand  = true&lt;br /&gt;
| titletext = The Credible Machine&lt;br /&gt;
}}&lt;br /&gt;
* To experience the interactivity, visit the [https://xkcd.com/2916/ original comic].&lt;br /&gt;
&lt;br /&gt;
==Explanation==&lt;br /&gt;
{{incomplete|Created by a WELL OILED ROBOT. Do NOT delete this tag too soon.}}&lt;br /&gt;
This is the 14th [[:Category:April fools' comics|April fools' comic]] released by [[Randall]]. The previous April fools' comic was [[2765: Escape Speed]] from 2023, which was released on Wednesday, April 19, 2023.&lt;br /&gt;
&lt;br /&gt;
Once again an April Fool's Day Comic came out late, as Randall did not release this on April 1st, even though April 1st did fall on a Monday, a normal release day. It first came four days later with the Friday release on April 5th. That this is to be considered an April fools' comic, in spite of the later release, was confirmed on the xkcd Facebook page, see the [[#Trivia|trivia section]] below.&lt;br /&gt;
&lt;br /&gt;
This is a spin on the game {{w|The Incredible Machine}}. The title text explicitly references this, albeit in a linguistic reversal.&lt;br /&gt;
&lt;br /&gt;
Upon loading the page, you are presented with marbles being added to a box by geared wheels, with a button to open a “tool panel”. You are encouraged by Cueball to direct the marbles into a little “output” gear, and told that marbles have a lifespan of 30 seconds to reduce clutter. There are large and small boards available for use, as well as some gimmicky stuff like prisms&amp;lt;!-- that sort marbles by color SEEM TO 'RANDOMLY' REFRACT/DEFLECT, IF SORTING IS TRUE THEN EXPLAIN IN NEW/RELOCATED SECTION? --&amp;gt; (which deflect marbles) and fans (which blow marbles around).&lt;br /&gt;
&lt;br /&gt;
The comic starts in a main screen where the user can create a {{w|Rube Goldberg machine}} in a &amp;quot;Cell&amp;quot; where the goal is to route a constant stream of colored balls from an input on the ceiling or a wall to outputs of a matching color on the walls or floor. After the comic is first opened a window pops up over the machine where Cueball in a lab coat tells you to route the balls from the inputs to the outputs. If any balls are left in your cell for more than 30 seconds, they fade away. The first time a ball fades away another popup informs you that the balls are removed for security reasons. When you have built a machine which succeeds in routing enough balls to the output, a popup will prompt you to submit your cell to be added to the public machine. Typically, inputs and outputs only accept balls of a single colour, and any balls of another colour which pass through an output will reduce the completion counter. However, some outputs accept multiple colours, indicated by a double arrow, and some inputs produce multiple colours. When the player is designing their 'machine', this will involve multiple full streams merged into one (supplied by a double-exit on the adjacent submission). Machines now working in the full grid may, however, find that their sources now contain stray balls of other types that were not handled properly, but there is no way to force a re-edit of the machine to alter its behaviour to account for this.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=&amp;quot;200&amp;quot; widths=&amp;quot;150&amp;quot;&amp;gt;&lt;br /&gt;
File:2916_popup_intro.png|Introduction popup&lt;br /&gt;
File:2916_popup_time.png|Time limit popup&lt;br /&gt;
File:2916_popup_submit.png|Submission popup&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The button in the bottom right corner brings you to a page where you can drag around to view all of the machines that have been submitted, with a title for each in the upper left corner. In this view you can see that all of the outputs are also inputs for another cell, except for the top row where the inputs come from off screen and the lowest row which output through a launcher of some kind to a set of four colored-coded containers far below. Any empty cells are marked off by yellow tape with the words &amp;quot;UNDER CONSTRUCTION&amp;quot; as well as &amp;quot;DJIA ↑ 31415&amp;quot; once in each cell. &amp;quot;DJIA&amp;quot; stands for the Dow Jones Industrial Average, with &amp;quot;DJIA ↑ 31415&amp;quot; indicating that it rose to 31415 points, 31415 being the first five digits of pi, without the period.&lt;br /&gt;
&lt;br /&gt;
Whenever balls reach the bottom of the grid, they are directed towards four containers, one of each color. Most balls are accurately sent to their appropriate container, though there are some misfires. These containers are above a pit, and periodically dump their contents. Balls in the pit are subject to the same 30s culling rule as balls in the cells above. If no balls are directed towards the containers, the pit will be empty. If one or two streams of balls are making it, Cueball and Megan sit in a small boat named the USS Buoyancy, and when sufficient balls are being deposited, the boat begins to float and move. More streams of balls are likely to add more changes. Balls which miss or overspill the pit fall out of the bottom of the frame.&lt;br /&gt;
&lt;br /&gt;
Under construction cells will feed balls of the appropriate colour into neighbouring cells so long as you are not looking at them. Once you scroll to look at them, the supply of balls stops and subsequent cells in the chain will not receive any; scroll away from them again and the supply will resume.&lt;br /&gt;
&lt;br /&gt;
When you press submit, you will see your creation placed on the grid.  However if you refresh that cell will likely be under construction or replaced with someone else's machine. However, other people's machines are consistently placed, so it appears that there is some moderation process selecting a machine for each cell out of the machines submitted by users. If your newly submitted creation is placed in the lowest row of cells, balls will be dispensed through the exit at the bottom, but there will be no launcher to propel them towards the pit, and they will vanish as they leave the exit.&lt;br /&gt;
&lt;br /&gt;
The grid is 12 cells wide, and grows in height. The largest size observed so far is 12x50, for a total of 600 cells. The machine's height is determined by the lowest cell; This can be either your submitted cell, or a cell created by another user.&lt;br /&gt;
&lt;br /&gt;
Imperfections in the machines (whether accidental or by design) and the impossibility of entirely avoiding collisions when crossing streams inevitably lead to significant levels of losses and pollution with the wrong colour balls. Indeed, using the follow ball trick (see Trivia) appears to show that it is quite rare for a ball to survive more than several machines without getting stuck somewhere. This implies that there is some 'creative accounting' going on to ensure that cells lower in the grid still have balls to process - simulating flow only for a few nearby cells, while assuming that those cells themselves have pure, steady inputs.&lt;br /&gt;
&lt;br /&gt;
===Toolbox items===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|+ List of objects&lt;br /&gt;
|-&lt;br /&gt;
! Description !! Effect !! Image&lt;br /&gt;
|-&lt;br /&gt;
| Plank || Static || [[File:2916_plank.png|frameless|upright=0.25]]&lt;br /&gt;
|-&lt;br /&gt;
| Hammer || Static || [[File:2916_hammer.png|frameless|upright=0.25]]&lt;br /&gt;
|-&lt;br /&gt;
| Sword || Static || [[File:2916_sword.png|frameless|upright=0.25]]&lt;br /&gt;
|-&lt;br /&gt;
| Hinged scoop || Rotates around its hinge, tries to stay horizontal with a springy effect || [[File:2916_scoop.png|frameless|upright=0.25]]&amp;lt;br&amp;gt;[[File:2916_scoop_mirrored.png|frameless|upright=0.25]]&lt;br /&gt;
|-&lt;br /&gt;
| Anvil || Static || [[File:2916_anvil.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Brick || Static || [[File:2916_brick.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Fan || Blows away balls in front of it. Different colors are affected by differing amounts (yellow balls are lightest, and can be levitated above an upward-facing fan).|| [[File:2916_fan.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Pillow || Balls will not bounce if they hit it || [[File:2916_pillow.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Round bumper || Bounces balls away at significantly higher speed || [[File:2916_round_bumper.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Triangle bumper left || Bounces balls away at significantly higher speed || [[File:2916_bumper_left.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Triangle bumper right || Bounces balls away at significantly higher speed || [[File:2916_bumper_right.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Attractor/Black Hole || Pulls balls toward center, can be resized || [[File:2916_attractor.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Repulsor/White hole || Repels balls away from center, can be resized || [[File:2916_repulsor.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Prism || &amp;quot;Refracts&amp;quot; balls as they enter and exit, causing them to curve to follow the color of the ball as much as possible{{Actual citation needed|...I can believe this might have been the intent, but I've never seen any such behaviour, even when dripping combined red and blue balls in from the same incident angle on the same spot, both types seem to take whatever exit they want, unpredictable and not at all differentiated between colours.}} || [[File:2916_prism.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Wheel || Spins depending on arrow keys [right/left] pressed while selected (default:anticlockwise), deflects balls, can jam with enough resistance (e.g. glut of balls or against other elements). || [[File:2916_wheel.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;quot;Good job&amp;quot; trophy || Static || [[File:2916_trophy.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Glass cup || Static || [[File:2916_cup.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Cat || Swats away balls in front of themself (was added later) || [[File:2916_cat_new.png|frameless|upright=0.25]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|+ Characters&lt;br /&gt;
|-&lt;br /&gt;
! Description !! Image&lt;br /&gt;
|-&lt;br /&gt;
| Ponytail with raised arms || [[File:2916_ponytail_arms.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Ponytail standing || [[File:2916_ponytail.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Cueball with raised arms || [[File:2916_cueball_arms.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| White Hat || [[File:2916_whitehat.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Knit Cap sliding, resting, or floating? || [[File:2916_knitcap_resting.png|frameless|upright=0.25]]&lt;br /&gt;
|-&lt;br /&gt;
| Knit Cap || [[File:2916_knitcap.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Helmet? || [[File:2916_helmet.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Probably Deterministic sign || [[File:2916_deterministic.png|frameless|upright=0.25]]&lt;br /&gt;
|-&lt;br /&gt;
| Squirrel || [[File:2916_squirrel.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| [[1682: Bun|Bun]] || [[File:2916_rabbit.png|frameless|upright=0.125]]&lt;br /&gt;
|-&lt;br /&gt;
| Cat || [[File:2916_cat.png|frameless|upright=0.125]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Color routing ===&lt;br /&gt;
The different ball colors have different physical properties. Red balls are more bouncy than other balls, green balls are heavier, and yellow balls are lighter and slightly bouncy. The following values were extracted from the code:&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Color&lt;br /&gt;
! Mass&lt;br /&gt;
! Density&lt;br /&gt;
! Restitution (bounciness)&lt;br /&gt;
! Linear damping (drag)&lt;br /&gt;
|-&lt;br /&gt;
! data-sort-key=&amp;quot;00F&amp;quot; | Blue&lt;br /&gt;
| 0.08&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! data-sort-key=&amp;quot;F00&amp;quot; | Red&lt;br /&gt;
| 0.08&lt;br /&gt;
| 1&lt;br /&gt;
| 0.8&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! data-sort-key=&amp;quot;0F0&amp;quot; | Green&lt;br /&gt;
| 0.75&lt;br /&gt;
| 9.325&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
! data-sort-key=&amp;quot;FF0&amp;quot; | Yellow&lt;br /&gt;
| 0.024&lt;br /&gt;
| 0.3&lt;br /&gt;
| 0.6&lt;br /&gt;
| 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For certain combinations of inlet and outlet 'gates', it is necessary to 'cross the streams'. e.g. to direct righthand-entry balls to a lefthand-exit and vice-versa. It is possible to just construct the field to send two (or more!) sets of balls to fly across a common gap, to land on an appropriate reception area that leads to the chosen exit. But, though this is not {{w|Proton pack#Crossing the streams|completely inadvised}}, the timing of the balls cannot be guaranteed to be in sync (or, rather, anti-sync) with each other and collisions ''will'' occur, especially under the variations of delivery that might significantly alter the ballistic path across the gap. Even if the trial machine works, in isolation with a steady stream of all balls entering the field of play, once submitted it will inevitably be fed by a more chaotically-routed preceeding construction.&lt;br /&gt;
&lt;br /&gt;
In order to maintain sufficient correct arrivals at exits&amp;lt;!-- and, I believe, sufficiently few ''wrong'' arrivals... does it enumerate the 'net correct delivery rate' to establish the validity of the output? ...needs more research --&amp;gt;, it may be necessary to add a method of filtering the hues.&lt;br /&gt;
&lt;br /&gt;
This could just mean introducing a 'wrong hue trap' beyond any crossing point(s) that send the occasionally wrong ball back to the cross point (or let them time-out in a dead-end, relying upon few enough failures from the rest of the balls, along with all colliding balls that subsequently missed ''any'' chance of reaching an exit). Alternatively, two (or more) feeds of marbles could be fed through a deliberate 'sorter' that does a sufficiently reasonable job of separating the combined sets out towards their intended target-exits.&lt;br /&gt;
&lt;br /&gt;
The various physical qualities of the balls suggest a number of methods for redirecting separate hues to separate onward journeys. This can be done by isolating a hue from every other hue, then passing on (if necessary) to a setup extracting a different one from the remainder, and perhaps also a third time. It may also be possible to merge 'arrangements' of sorting mechanics to efficiently distribute straight into three ''or even four'' onward tracks towards the desired outputs, but that is left as an exercise to the reader.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- This may not be the most efficient depiction (with just four/less 'core methods', after following &amp;quot;See X/Y&amp;quot;s) but if the Prism or some other item actually adds zignificantly practical pre-&amp;quot;See&amp;quot; differences then the all-vs-all format (with the reversals/same-to-sames still there to be abbreviated/redirected) will come into its own.&lt;br /&gt;
If you so wish, redo. e.g. as &amp;quot;;header + :paragraph&amp;quot;s or table of &amp;quot;!Combo(s)!!Methodology&amp;quot;&lt;br /&gt;
NB:&lt;br /&gt;
  1x ! Row-start Style=                                                 | Row-start 'header'&lt;br /&gt;
  4x | *Unwikiparsable key just for editors' benefit* + optional Style= | Contents&lt;br /&gt;
...right now, I've mostly added &amp;quot;vertical fan&amp;quot; experiences (which I find useful for all but R/B differentiation), but more about bumpers (including fan-/wheel-collisions), the positive/negative 'force objects' and of course horizontal/angled fans could also be added.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:black; color:white&amp;quot; | To separate !! style=&amp;quot;background-color:lightblue&amp;quot; | Blue !! style=&amp;quot;background-color:lightgreen&amp;quot; | Green !! style=&amp;quot;background-color:yellow&amp;quot; | Yellow !! style=&amp;quot;background-color:red&amp;quot; | Red&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color:red&amp;quot; | Red&lt;br /&gt;
| *R/B* | '''Use 'bounce''''&lt;br /&gt;
The sole difference is how much balls will rebound from objects. Well managed and constrained ricochets should allow a sorting action.&lt;br /&gt;
| *R/G* | '''Use mass or 'bounce''''&lt;br /&gt;
Green balls cannot be levitated by a vertical fan. An incline across any such fan(s) will levitate only non-Greens.&amp;lt;br/&amp;gt;Green, like Blue, rebounds differently to Red. Green balls are also affected by black holes much less than all other balls.&lt;br /&gt;
| *R/Y* | ''See Y/B''&lt;br /&gt;
| *R/R* style=&amp;quot;text-align: center; background-color:black; color:white&amp;quot; | n/a &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color:yellow&amp;quot; | Yellow&lt;br /&gt;
| *Y/B* | '''All methods'''&lt;br /&gt;
Yellow, alone, exhibits high drag against any unforced motion.&amp;lt;br/&amp;gt;It is also unique in all other ways; e.g. can be levitated highest, against all other hues (though most profoundly against Green).&lt;br /&gt;
| *Y/G* | ''See Y/B''&lt;br /&gt;
| *Y/Y* style=&amp;quot;text-align: center; background-color:black; color:white&amp;quot; | n/a&lt;br /&gt;
| *Y/R* style=&amp;quot;text-align: center; background-color:gray&amp;quot;  | ''See Y/B'' &amp;lt;!-- R/Y-&amp;gt;Y/B --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color:lightgreen&amp;quot; | Green&lt;br /&gt;
| *G/B* | '''Use mass'''&lt;br /&gt;
Green balls cannot be levitated by a vertical fan.&amp;lt;br/&amp;gt;There is also a not so marginal difference in density that might be exploited, such as by using black holes, which only minimally effects green.&lt;br /&gt;
| *G/G* style=&amp;quot;text-align: center; background-color:black; color:white&amp;quot; | n/a&lt;br /&gt;
| *G/Y* style=&amp;quot;text-align: center; background-color:gray&amp;quot;  | ''See Y/B'' &amp;lt;!-- Y/G-&amp;gt;Y/B --&amp;gt;&lt;br /&gt;
| *G/R* style=&amp;quot;text-align: center; background-color:gray&amp;quot;  | See R/G&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color:lightblue&amp;quot; | Blue&lt;br /&gt;
| *B/B* style=&amp;quot;text-align: center; background-color:black; color:white&amp;quot; | n/a&lt;br /&gt;
| *B/G* style=&amp;quot;text-align: center; background-color:gray&amp;quot;  | See G/B&lt;br /&gt;
| *B/Y* style=&amp;quot;text-align: center; background-color:gray&amp;quot;  | See Y/B&lt;br /&gt;
| *B/R* style=&amp;quot;text-align: center; background-color:gray&amp;quot;  | See R/B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Even when not strictly necessary for one's own submission, once submitted into the full playing grid the player's own contribution may find itself working with less 'pure' delivered ball-streams (from an imperfectly separating feed-in contribution). It is possible that this more interactive disruption can make the new setup behave erratically or even entirely incorrectly.&lt;br /&gt;
&lt;br /&gt;
It might be thought good practice (but not ''necessary'') to deliberately combine any or all inputs and do a full job of splitting them again, just in anticipation of possibly having to deal with such cross-contamination and being able to 'clean up' the onward stream(s) for the benefit of others. This would of course be particularly difficult if the isolated building-phase does not provide all four hues to 'test' against, so any speculatively added filtering would have to be added 'blind' (and only on the offchance that any anticipated incorrect balls will actually enter the arena) and without any legitimate exits to which such rejects could be shunted (therefore could accumulate, up until any 'time out' that might apply to any ball once operational as part of the combined grid).&lt;br /&gt;
&lt;br /&gt;
Single-input/single-output designs might not particularly require ''any'' sorting mechanism, in theory, though the unexpected 'contamination' of the system with balls of different masses/etc could perhaps introduce malfunctioning passage from the added chaos it might succumb to.&lt;br /&gt;
&lt;br /&gt;
==Transcript==&lt;br /&gt;
{{incomplete transcript|Do NOT delete this tag too soon.}}&lt;br /&gt;
&lt;br /&gt;
:[The placeholder image shows four balls, colored red, green, yellow and blue, bouncing on top of three white blocks. Text in the center: &amp;quot;[visit xkcd.com to view]&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
:[Cueball with lab coat, intro popup]&lt;br /&gt;
:Cueball: Balls falling into your cell should be routed to the outputs at a steady rate.&lt;br /&gt;
&lt;br /&gt;
:[Cueball with lab coat, warning popup]&lt;br /&gt;
:Cueball: For security reasons, balls that remain in your device for more than 30 seconds will be removed and destroyed.&lt;br /&gt;
&lt;br /&gt;
:[Cueball with lab coat, submit popup]&lt;br /&gt;
:Cueball: Congratulations! Your contraption has passed all tests. Press [submit button] to submit it to be added to the machine!&lt;br /&gt;
&lt;br /&gt;
==Trivia==&lt;br /&gt;
*Randall acknowledges the people who helped him create this comic in a [[Header_text#Machine|comic-specific header text]]. &lt;br /&gt;
**With 11 different involved apart from Randall this is by far the comic with most people involved.&lt;br /&gt;
*Some hidden keyboard shortcuts have been found:&lt;br /&gt;
** Follow balls: Ctrl + Alt + B&lt;br /&gt;
** Show debug overlay: Ctrl + Shift + Cmd + D&lt;br /&gt;
** Delete selected item: Fn + Delete&lt;br /&gt;
*When Randall posted a [https://www.facebook.com/TheXKCD/posts/pfbid0Cs97awQZi1ZiaEXouAex9tXrwAS3qJV3RmAiuCq5uvZQwqZVMgDmcqJ7JU9LYodYl link to this comic] on his [https://www.facebook.com/TheXKCD Facebook feed], he directly wrote that it was a late April Fools' Day!&lt;br /&gt;
**MACHINE&lt;br /&gt;
**Happy Belated April Fool's Day!&lt;br /&gt;
**This thus ends any discussion of whether this should be seen as an April Fool's comic or not. &lt;br /&gt;
**It just came out 4 days late. This has also happened several times since [[Garden]].&lt;br /&gt;
[[File:2916 Machine Facebook April fools' confirmation.png]]&lt;br /&gt;
&lt;br /&gt;
{{comic discussion}}&lt;br /&gt;
&lt;br /&gt;
[[Category:April fools' comics]]&lt;br /&gt;
[[Category:Comics with color]]&lt;br /&gt;
[[Category:Dynamic comics]]&lt;br /&gt;
[[Category:Comics with animation]] &lt;br /&gt;
[[Category:Interactive comics]]&lt;br /&gt;
[[Category:Comics featuring Cueball]]&lt;br /&gt;
[[Category:Comics featuring Megan]]&lt;br /&gt;
[[Category:Comics featuring Ponytail]]&lt;br /&gt;
[[Category:Comics featuring White Hat]]&lt;br /&gt;
[[Category:Comics featuring Knit Cap]]&lt;br /&gt;
[[Category:Characters with hats]]&lt;br /&gt;
[[Category:Squirrels]]&lt;br /&gt;
[[Category:Buns]]&lt;br /&gt;
[[Category:Cats]]&lt;/div&gt;</summary>
		<author><name>Bellydrum</name></author>	</entry>

	<entry>
		<id>https://www.explainxkcd.com/wiki/index.php?title=Talk:2916:_Machine&amp;diff=339096</id>
		<title>Talk:2916: Machine</title>
		<link rel="alternate" type="text/html" href="https://www.explainxkcd.com/wiki/index.php?title=Talk:2916:_Machine&amp;diff=339096"/>
				<updated>2024-04-07T21:58:31Z</updated>
		
		<summary type="html">&lt;p&gt;Bellydrum: Asking if anybody has found their creation using the API&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--Please sign your posts with ~~~~ and don't delete this text. New comments should be added at the bottom.--&amp;gt;&lt;br /&gt;
rather late for an april fools comic innit? also there doesn't seem to be anything exciting in this one lol, none of the usual cool exploration easter eggs, as far as i could tell at least [[Special:Contributions/172.71.178.76|172.71.178.76]] 16:41, 6 April 2024 (UTC)Erfaniom&lt;br /&gt;
&lt;br /&gt;
: We're exploring crowdsourced human creativity here, in a way, so it can be a lot more interesting then Randall's exploration comics, at least for me, because i did take two years of GCSE psychology and enjoyed it. [[Special:Contributions/172.64.238.130|172.64.238.130]]&lt;br /&gt;
&lt;br /&gt;
Just popped over using Chrome on Android and all I see is four &amp;quot;missing picture&amp;quot; logos spinning around, plus another down the bottom right... [[Special:Contributions/141.101.68.193|141.101.68.193]] 18:13, 6 April 2024 (UTC)&lt;br /&gt;
:Okay, followup: it behaves quite differently on the non mobile site. You get two entry points with red balls and yellow balls and you need to place the various gizmos to direct the balls to the correct exit point. Once enough have correctly passed to turn the red X into a green tick, you have the option to submit. If you do, once you have named your design it will be added to the grid with other submissions all of which exist to push red and yellow balls around. (if you come across &amp;quot;Memories of Ragnarok&amp;quot;, that's mine) [[Special:Contributions/172.71.134.207|172.71.134.207]] 18:27, 6 April 2024 (UTC)&lt;br /&gt;
::The number of inputs appears to vary between 1 and 4, each of a different color, with one color-coded output for each. [[User:Claire Kholin|Claire Kholin]] ([[User talk:Claire Kholin|talk]]) 18:49, 6 April 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
On the &amp;quot;machine&amp;quot; section, you see lots of &amp;quot;under construction cells&amp;quot;.  Perhaps this will develop as more are submitted.  I notice the &amp;quot;under construction tape&amp;quot; has &amp;quot;DJIA&amp;quot; and &amp;quot;31415&amp;quot;,  perhaps a reference to &amp;quot;dow jones industrial average&amp;quot; and the first five digits of pi.  [[User:Zeimusu|Zeimusu]] ([[User talk:Zeimusu|talk]]) 18:37, 6 April 2024 (UTC)&lt;br /&gt;
:Whenever someone submits a cell, it fills in one of the under construction cells. [[User:Claire Kholin|Claire Kholin]] ([[User talk:Claire Kholin|talk]]) 18:49, 6 April 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
I wanted to add an image for each object, but do not have the necessary access, can someone who has access add the images that I linked in the table so they can be included? [[User:Claire Kholin|Claire Kholin]] ([[User talk:Claire Kholin|talk]]) 18:49, 6 April 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
I found a discussion with some guy talking about the API at https://euphoria.leet.nu/room/xkcd/ ; this could be useful for the wiki.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[c+1] now time to try fucking with the api&lt;br /&gt;
[c+1] https://incredible.xkcd.com/&lt;br /&gt;
  [userwithnoaccount] 404&lt;br /&gt;
[c+1] it seems there are numbered machines under incredible.xkcd.com/machine/x&lt;br /&gt;
  [c+1] returns a grid of individual machinlets&lt;br /&gt;
  [c+1] which are uids like 3a7af27c-5389-5dcb-b660-3feab6be2ceb&lt;br /&gt;
  [c+1] they're stored at urls like incredible.xkcd.com/folio/3a7af27c-5389-5dcb-b660-3feab6be2ceb&lt;br /&gt;
  [c+1] there appear to be 33 machines total&lt;br /&gt;
  [c+1] the json it returns seems to refer to these as &amp;quot;versions&amp;quot;&lt;br /&gt;
  [c+1] $ curl -s https://incredible.xkcd.com/machine/21 | jq &amp;quot;.version&amp;quot;&lt;br /&gt;
        21&lt;br /&gt;
  [c+1] there is a machine/0, but it's all null&lt;br /&gt;
  [c+1] going to https://incredible.xkcd.com/machine/current redirects to the current machine&lt;br /&gt;
    [c+1] $ curl -sL https://incredible.xkcd.com/machine/current | jq &amp;quot;.version&amp;quot;&lt;br /&gt;
          35&lt;br /&gt;
[c+1] wait, is that the *total* number of mahcines?&lt;br /&gt;
[c+1] i would've thought there'd be more&lt;br /&gt;
[c+1] this whole think is rather esoteric&lt;br /&gt;
[c+1] Written in rust, too: https://rapier.rs/&lt;br /&gt;
[c+1] Uh oh.&lt;br /&gt;
      https://i.hypercone.us/?v=8e283d&lt;br /&gt;
  [c+1] HMMM&lt;br /&gt;
        https://i.hypercone.us/?v=079f8f&lt;br /&gt;
  [c+1] it seems there is no limit&lt;br /&gt;
  [c+1] i've uploaded a ~50M title&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Special:Contributions/172.70.57.146|172.70.57.146]]&lt;br /&gt;
&lt;br /&gt;
Had quite a lot of fun, added a few 'successful' machines to the grid. Noted that whenever I try to use the Prism that (after a short delay) the comic-pane blanks and I need to refresh the page/get a completely new 'challenge' to start from scratch, so I'm just not using the prism at all (used most of the other items, in combination or 'just the one across the whole board', whichever seems most fun). But it doesn't seem to do what I'd like it to do, which is sort multiple colours from the same inflow into different outflow directions. Which would be ''very'' useful in a 'crossroads' situation, the general solution of directing them cross-path being too prone to random collisions. Also might be useful in the 'submitted machine grid', as I note that errors propagate, whereas adding a filter on all inputs would clean out (dispose of/send off to a valid gate?) the rogue balls. Anyway, gonna have to come back to this later when there's more time... Maybe then I'll even have something useful to add to the Explanation. [[Special:Contributions/172.70.163.31|172.70.163.31]] 19:03, 6 April 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
The balls appear to be different weights. I just saw a machine that used fans to separate yellows from greens and blues in a sort of 'wheat from the chaff' manner to direct them to their correct outputs. I wonder what other hidden tricks are included. [[Special:Contributions/172.68.1.159|172.68.1.159]] 19:40, 6 April 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
They're not all accepted, though it makes you think they are. Or something else more complex is going on we haven't realized yet. I made a machine that was working reliably, submitted it, and saw it on the overall grid. Reloading from a different browser I found the same location of the machine, with the same surroundings, but my machine had been replaced. It's nowhere else on the grid either. The first browser still shows it (but not after a reload with a cache clear). I'm not sure if there's some kind of &amp;quot;save&amp;quot; event that needs to happen beyond seeing your machine in the broader one, or if all user collaboration is an illusion, or if the system changes its mind about us somehow.&lt;br /&gt;
&lt;br /&gt;
: Yeah, i've been seeing this too. Please tell me if you find any of my machines, images at https://i.hypercone.us/?v=22d562 , https://i.hypercone.us/?v=ad8e3a , and https://i.hypercone.us/?v=8d4d6a . I want to be one of the few to have added Catalan and Spanish to the grid. [[Special:Contributions/172.71.134.164|172.71.134.164]] 20:56, 6 April 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
I've added some more observations to the page.  Also, a guess which is too uncertain to put on the main page: The ball launcher for the yellows on the far left side misses a lot, and the yellow container isn't the one on the left.  So I think the whole machine with crossing streams will result in the colors being sorted in their container order, and possibly have the streams combined and deposited at the bottom just above the containers.  --[[Special:Contributions/172.71.147.100|172.71.147.100]] 21:07, 6 April 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
has anyone seen the boat at the very bottom? [[User:Mushrooms|Mushrooms]] ([[User talk:Mushrooms|talk]]) 21:21, 6 April 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
trying to see it on Firefox for Ubuntu and it just tells me to &amp;quot;visit xkcd.com to view&amp;quot; - THAT'S WHERE I AM?! Tried clearing website data (but not my entire cache) and that didn't help.  Is there something I'm missing?&lt;br /&gt;
&lt;br /&gt;
Oooh, just had one with four ball-entries (four colours) and ''three'' exits (one caters for two arrows). Pity it's rather complicated to get entries to exits (even if I can merge two of the streams). Might have to give up on it, but I'd like to have seen how it fits in with the 'submited grid'. i.e. someone else gets a two-colour introduction spot. [[Special:Contributions/162.158.74.119|162.158.74.119]] 22:37, 6 April 2024 (UTC)&lt;br /&gt;
:Me again. I'm just refreshing the page, looking at the pattern of entries/exits (just a dozen or so screens in, getting some repeats of pattern, indicating that it's going back to tiles it was suggesting before, probably depends on how many others are contributing and extending...)&lt;br /&gt;
:Found another 'double-colour' example. Two yellows ''from the same side'', which probably means that there's a two-yellows been asked to exit from the neighbour (will check shortly).&lt;br /&gt;
:Quickly adapting from my spreadsheet notation, &amp;quot;R, Y, G, B&amp;quot; in order, each &amp;quot;(Entry, Exit)&amp;quot;, I've been using &amp;lt;dir&amp;gt; of L/R/T/B and a number (nominally percentage, though seems to include only values of 20, 30, 50, 70 and 80, so it ''might'' be more 1/6..5/6?) relating to the distance along from L to R (for T/B) or T to B (for L/R).&lt;br /&gt;
:This line is therefore (0,0)(L20+L70,R30+B70)(R80,L80)(T70,L50) ... no reds, two yellow pairings, a red pairing, a blue pairing. Would require at least two path-crossings (but I was going to calculate those things later, and double-colours might confuse my intended simple line-intersection calculation).&lt;br /&gt;
:...anyway, spent some time on this message, which might mean I'll get into a 'new batch' of available patterns as people have succeeded some of the challenges that I've been 'swiping left'. [[Special:Contributions/172.70.162.20|172.70.162.20]] 19:28, 7 April 2024 (UTC)&lt;br /&gt;
:...very next click: (0,0)(T30+L20,R20+R70)(R80,L80)(R50,B50), which is clearly the actual left-neighbour of the above. [[Special:Contributions/172.70.162.19|172.70.162.19]] 19:32, 7 April 2024 (UTC)&lt;br /&gt;
:Ok, stopped my refreshing to [https://imgur.com/a/OMFOmzy 'solve' a screen]. First of all I routed both yellows entries (right-upper and upper-right) to one yellow exit (middle-left) and gradually teased the greens across (lower-left to middle-right), as that way I was avoiding a criss-cross of balls, but the the other yellow exit (left-lower) was, of course, invalid.&lt;br /&gt;
:Changed it to drop one stream of yellows down towards the lower exit, across the rapidly firing greens (added a fan to filter away the occasional yellow that gets bounced over there, not much of an opportunity to filter falling-greens out of the yellow exit, so apologies to whoever gets the sceen below). Submited as &amp;quot;Two Yellows, One Green!&amp;quot;, whether or not that'll save (apparently, I should continue to contribute and not refresh/close, or else the server will not keep the solution?).&lt;br /&gt;
:Interestingly, all four adjacent tiles are &amp;quot;Under construction&amp;quot;, and if I scroll up... *DARN* the comic has blanked out (nothing there between the upper PREV/RANDOM/NEXT buttons and the lower ones, just whitespace). This may mean that it did not save. This is the kind of 'page crash' I get when I try using a Prism or get too many balls rattling around on top of a Black Hole. Perhaps it doesn't like that I'm scrolling into an Under Construction that shouldn't be there? (But then, why ''is'' it there?)&lt;br /&gt;
:Anyway, all extra information for everyone.&lt;br /&gt;
:I'll just refresh the page and go back and do some more entry/exit mapping, maybe? [[Special:Contributions/172.70.162.20|172.70.162.20]] 20:17, 7 April 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you combine a bunch of these silly claw things in the middle by just spamming it, it begins to lag and do some chaotic collisions, even without balls colliding on it. It's curious how it does that seemingly randomly though. I wonder how calculations are added and if there's a tiny sprinkle of RNG. (Also, errors occur and say something about damaging recursion in the Rust programming language, so I guess we know how it was made. It's also pretty weird how there's not a lot of opening combinations? It's possible that the machine loops over in chunks of gears or something (that's what I'll call them). ([[User talk:Leo|talk]]) 13:15, 7 April 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
If you place a black hole in the centre of a wheel, it makes the wheel behave unpredictably between resets. Sometimes it's almost normal, sometimes it's a lot faster than usual, and sometimes it's stopped but launches balls that touch it with extreme force. I was able to use this to submit a machine which didn't actually let a single ball through after being submitted. https://i.hypercone.us/?v=928bcd [[Special:Contributions/162.158.33.149|162.158.33.149]] 01:19, 7 April 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
The page says that (and I have taken note of) the ball hue is ''coded'' to certain values, but is there a logic to those values that might be derived from the colour (either as RGB triplet or HSV/other colourspace definition). For example, the two ball-types with zero green component in their makeup are 'unit density' (green is far heavier &amp;quot;green+red&amp;quot; is far lighter, so it's not a simple relationship, unless it converts from °hue, in some way) and the only secondary colour exhibits non-zero drag. There's the possibility that it just derived from &amp;quot;we need different properties, we need different colours, we have no reason to connect either with other deliberately&amp;quot; or even some non-mathematical symbology (fire=red, water=blue(?), earth=green, air(/sunlight?)=yellow). But it makes me wonder what combination of properties cyan/magenta balls might have, if added. (Or is the choice of those four colours constrained, anyway? Though R/G colorblindness is already something of an accessibility failure, if anyone suffers that.) [[Special:Contributions/172.69.194.205|172.69.194.205]] 17:02, 7 April 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
[https://pastebin.com/7PAiLnyF Python script to get the URL and title of each Cell in the current machine]&lt;br /&gt;
&lt;br /&gt;
[https://pastebin.com/xBhywGde Result of running that script at the moment] (encoded with ROT13 because pastebin wouldn't let me save it otherwise)&lt;br /&gt;
:has anybody at all whatsoever been able to find their creation using this API? [[User:Bellydrum|Bellydrum]] ([[User talk:Bellydrum|talk]]) 21:58, 7 April 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
[https://pastebin.com/jN5MP2za Result of running that script on the first 42 machines], at least on these it looks like the only difference is that one cell is added each time? [[Special:Contributions/172.71.99.195|172.71.99.195]] 17:22, 7 April 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
I've submitted four now, none of which was accepted. I tend to spend a lot of time getting them just right. Any hints as to what the acceptance criteria might be? Or do I just stink at this?&lt;br /&gt;
[[Special:Contributions/172.69.59.204|172.69.59.204]] 19:47, 7 April 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
There appears to be a new object: a cat that bats things that touch it.&lt;br /&gt;
[[Special:Contributions/172.69.214.39|172.69.214.39]] 20:17, 7 April 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
Is anyone else experiencing the bug where prisms cause the comic to disappear (leaving only the white background where it was) after a while? It makes viewing the whole machine basically impossible. (On further testing it appears to be firefox-exclusive.) [[Special:Contributions/172.70.162.38|172.70.162.38]] 20:31, 7 April 2024 (UTC)&lt;br /&gt;
:I've had the &amp;quot;Prisms break things&amp;quot; from the beginning (before any practical content). As in, trying to use them in a design breaks things. But I ''did'' glance upon their occasional use in the 'view submissions grid'. Right now I'm suffering from &amp;quot;white only&amp;quot; issue (see my &amp;quot;multi-yellow&amp;quot; accounts, above). I ''am'' using Firefox, if that's indeed relevant to this issue, but right now I'm not near any other up-to-date browser I care to use. [[Special:Contributions/172.70.163.31|172.70.163.31]] 21:37, 7 April 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Level scrolling bug ==&lt;br /&gt;
&lt;br /&gt;
When one views the whole machine, and scrolls down far enough, everything just disappears, and the comic is completely unresponsive. Has anyone else seen this? [[Special:Contributions/198.41.236.152|198.41.236.152]] 20:38, 7 April 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
:I'm now seeing the same issue, I wasn't before. [[Special:Contributions/172.70.162.20|172.70.162.20]] 21:06, 7 April 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
:I've been having this issue as well (I'm using firefox). Opening the site in Edge instead seemed to work around it for me, so it might only affect Firefox (and derivatives). [[Special:Contributions/172.70.163.31|172.70.163.31]] 21:27, 7 April 2024 (UTC)&lt;br /&gt;
::See also the 'firefox bug' comments currently immediately above this section. (Please don't ask me to start Edge up, I hate it, won't use it any more than the system requires me to...) [[Special:Contributions/172.70.163.31|172.70.163.31]] 21:37, 7 April 2024 (UTC)&lt;br /&gt;
&lt;br /&gt;
==New Category: Ball Pit?==&lt;br /&gt;
&lt;br /&gt;
What do you think about a new category for comics with [[ball pits]]? [[150]], [[219]], [[485]], [[498]], [[2916]]? [[Special:Contributions/162.158.134.229|162.158.134.229]] 21:50, 7 April 2024 (UTC)&lt;/div&gt;</summary>
		<author><name>Bellydrum</name></author>	</entry>

	</feed>