The sheer simplicity of this idea - a 1-bit grid, which you can interact with in real-time - echoes that of Pico-8 [1], a fantasy console with strict limits such that you're not overwhelmed with ideas, but instead given bounds to play with. Its limits keep it realistic: you can do immensely wondrous things with the console, but its graphic and music style are limited, and as such it provides much more of an incentive to make a game - it's far less overwhelming, and you can concentrate on fun. But also, it offers a challenge! As you begin to hit the limits, you come up with clever tricks to save space, and because the computer isn't blisteringly fast, you're pushing yourself as much as you are the computer.
But this checkbox playground would be, in my eyes, an even better virtual console - reduced to the bare minimum of what you could make into a game that can be enjoyed. Provide a nice interface such that the user only has to write the game code, provide events to hook into - start(), frame() and click(x, y) - and this would be an immensely satisfying console to immediately get to work on, as rather than worry about graphics and audio, you're free to get right into making it fun.
...also, it'd be an excellent framework for teaching kids how to code! :D
You’re almost describing TI Basic, which is how I got in to programming in middle school. Of course, TI Basic had the additional advantage that I could mess with it during school, before laptops were common in classrooms
The original post also reminded me very much of QBasic. A major charm was how easy it was to just get some graphics on the screen. Some tiny resolutions, functions for a circle, a pixel, a line and a rectangle and you can do stuff from there. I very much remember making simple animations like the author has shown in QBasic.
And that's also why I think environments like QBasic, TI Basic or - more modern - godot, Game Maker Studio and such are very valuable. They allow kids to start programming with something simple and fun.
I'm struggling to find any of them now, bit I think there's many sites that provide a toy and interface similar to what you describe.
One in particular, I recall, provided a grid of colourable dots and a minimal language to program them in. There were social features to browse demos people had written. Anyone remember what it's called?
(16 × 16 grid of dots governed by a "shader-like" (?) function getting time, order, column and row indices arguments; negative values red, positive white, zero proximity shrinks.)
Not sure about those "social features", though you can just share the URL with your creating
There's ShaderToy, that works with actual pixels and shader code, but allows some fun effects to be made with very little code: https://www.shadertoy.com/view/4ljGD1 (and some really crazy raymarching stuff to be done by those with serious math/shader skills)
This is a bit tangential, but I've been completely impressed by a ton of the Bad Apple "ports" to various platforms (particularly the Sega Genesis and the Atari 2600). It's amazing how the simple choice of making a mostly-binary music video has made a song popular in hacker culture.
In the linked video set, the game boy original one is fake, but the game boy color one seems legit (probably helped a lot by the hdma that allows copying tile data into vram during hblank).
Ugh, my naive brain didn't even consider things being faked. I know the Sega Genesis one works in an emulator (I don't have a physical Sega Genesis anymore so I can't try it on an everdrive or anything), but I haven't actually tried the Atari one in any capacity, so that one could be BS.
I remember someone had made an early iPhone game out of UI elements (around 2009 ish?). I thought it was such a cool idea, and spent a bunch of time messing around with "ui-elements-as-graphics". My favourite thing I came up with was sine-wave scrollbars: https://www.mrspeaker.net/dev/sinescrollbars/
Castle of the Winds' characters, items, and monsters were made entirely out of Windows icons. You could crack it open in a resource editor and change most things. There's probably a lot more of these between your example and mine. Someone should make a list.
If you enjoy this kind of (ab)use of browser elements, I highly suggest the works of Matthew Rayfield: https://matthewrayfield.com/. Popup trombone is a work of art.
Your comment reminds me of a little gem of a book, Leisure The Basis of Culture by philosopher Josef Pieper.
> The act of worship creates a store of real wealth that cannot be consumed by the workaday world. It sets up an area where calculation is thrown to the winds and goods are deliberately squandered, where usefulness is forgotten and generosity reigns. Such wastefulness is, we repeat, true wealth; the wealth of the festival time.
I don't think you can really say you've exhaused this until you can run DOOM rendered with checkboxes. You might need to get into checkbox dithering with multiple checkboxes to give you a few different fill levels, and use really small checkboxes, so you get both the resolution and can actually see what you're shooting at.
Who does this? I mean... who has the talent, time, and inclination? Is this what happens when startups IPO and nerds retire and have too much free time?
If you are interested in how to hack the task manager, Dave Plummer did a video on it yesterday[1]. Turns out you can fake cores on the task manager to get the resolution you need, so you don't need a Dual Socket Epyc CPU.
Given it is interactive, he should instead make a virtual touch screen that is connected to the actual hardware that runs a WebAssembly implementation of DOOM in a modern web browser.
I think something like this (1-bit-color, might be extremely hard to have Doom not look like mush) might also benefit from a local contrast filter (like the clarity slider in Photoshop). That filter would increase the visibility of line pairs that may have otherwise been rendered as the same color. Maybe you could then not need as much dithering or multiple checkboxes.
There's a free tool that integrates with Ableton Live to make these easier to set up. I can't remember the name and Google is (as usual) useless for finding it, but I do remember it wasn't updated for Live 11 last I checked. Maybe someone else will be able to name it.
That lets you assemble views from a handful of pre-fab components. What I'm thinking of is a full pad controller light show suite. Components doesn't have anything like that.
I too keep making things out of checkboxes and radio buttons; increasingly my tool-like UIs are dominated by variations on the label/input CSS trick. Naturally, that is what I thought the article was about; but everything the author does can be done equally simplistically with canvas, webGL, divs, text; the demos are more about the parsing of the input than the display technique.
This strongly reminds me of The Glass Bead Game (Das Glasperlenspiel) by Herman Hesse[1]. The idea of simplifying and restricting the creative space into a grid, but then assigning abstract value to the grid (e.g. game of life, minesweeper) seems to be a persistent meme in computers.
I'm immediately seeing the possibility of turning checkboxes into registers and RAM and rolling out Knuth's MMIX from TAOCP[1]. I mean, if you're going nuts. . .
If you could visualize a series of these getting smaller and smaller til the point they are indistinguishable from pixels, a la Powers of 10 video, it could be a really fun teaching / learning tool as to how far our modern displays have come.
I'm not sure what makes this impressive. I can get that it's cool and quirky, but at no point does it make me wonder or think that it's impressive. Would we say the same thing about a bunch of over-enlarged pixels?
If you're interested in this sort of thing, check out the TMDC or Text-Mode Demo Competition were it's the same idea but 80x50 text instead of textboxes. Hasn't really been run in a while, but it's a really fun exercise.
I would really, really hope not. Certainly raw rendering using the underlying graphics api would be faster. If the canvas api adds more overhead than the entire stack of tech required to render a HTML native widget, then something has gone seriously wrong.
I can never work out whether there's an in-joke on HN where everyone pretends that they don't have a sense of humor, or whether the truth is a less favorable statement about the HN community. HN is great, but this thread is an example of where it doesn't do so well, since TFA is inherently humorous, and it's not possible to respond to it from an entirely humorless position.
can confirm, website checks out.. sorry the pun was right there. i had to check it off my list.. i won’t go any further with this, or else i’ll have to get checked into a facility.. ok i am done.
I'm surprised this got so much praise. It's cool and quirky but it doesn't seem like anything special. I guess the truth is, HN really wants to be Reddit.
Impressive? Interesting? Wonderful? Not to me at least. And I'm struggling with why it is to anyone else, but that's on me.
This may be like one of those great 19th century discoveries in math and physics for which there were no real-world use cases at the time, but were applied decades later with world-changing consequences.
Some day, Apple logo made out of nothing but checkboxes might just save the world.
[1]: https://www.lexaloffle.com/pico-8.php
But this checkbox playground would be, in my eyes, an even better virtual console - reduced to the bare minimum of what you could make into a game that can be enjoyed. Provide a nice interface such that the user only has to write the game code, provide events to hook into - start(), frame() and click(x, y) - and this would be an immensely satisfying console to immediately get to work on, as rather than worry about graphics and audio, you're free to get right into making it fun.
...also, it'd be an excellent framework for teaching kids how to code! :D