Everything old is new again. Back in the Windows 95 days, there were a handful of freeware games that played with no window and entirely by displaying a changing icon in the system tray. I remember having executables for clones of Pong, Space Invaders, Tetris, and chess that played this way with the icon as their only 'screen'.
I guess because it's nothing more than a transparent window that is reading out information about other windows and changing its own position. So pretty basic WinAPI calls.
Great game. I feel this is an excelent resoultion for games,
with a splash of colour, it would suffice for most arcarde style
games.
Now I am thinking, what is a minimum viable screen resolution
for a given game concept, for it to work, ie be playable?
Ordering/classifying all games by ascending resolution.
It might be to force a refresh of the favicon? Never tried rendering 10 frames per second to it, but have definitely seen cached icons when devving locally.
That part is clear to me. What isn't clear is if they could get the same effect by using pushState to go from /0 to /1 rather than #0 and #1
Of course, since there's only 2 pages it switches between, they could create those pages on GitHub pages even though it doesn't support a catch-all route like surge.sh, firebase hosting, vercel, netlify, etc. allow on otherwise static sites.
If going between #0 and #1 works (which it obviously does), then that saves having to change the URL to something the browser considers a different page (I'm not a web dev, so not sure if there's a way of changing the URL to a different page without needing to do a page reload, but having only one page seems cleaner either way).
That's what pushstate does, is change the URL without changing the page. I'm not sure if the browser never does any extra work or if it just mostly doesn't do any extra work at that time. If the user goes to the url again later on it won't have an entry in the cache though.
Weirdly did not work in Firefox on Ubuntu. Switched to Chromium and got 1182 before deciding to quit. The framerate was pretty slow, which I think is the only reason I got > 1000. :)
So, I did some investigation and know what's broken, but I don't know why. The game uses `canvas.toDataURL()` to replace the favicon for each frame. It draws it, essentially like this jsfiddle https://jsfiddle.net/trLkd1ys/
The fiddle works in both Chromium and Firefox for me (a 16x16 green filled square), but the data URL produced by Firefox results in vertical line rainbow. In Chromium it works fine.
398. Had to come back here and read the comments because I literally didn't notice the little fellow in the favicon and wasn't sure what the game was! Once I figured it out, I felt exhilaration similar to what the parents did in Honey I Shrunk the Kids and the concern that I had to pay careful attention to something very, very small.