Fractal Explorer Extreme Zoom Fuzziness and Facebook Login

August 11, 2021

Fractal Explorer

As most fractal enthusiasts are aware, if you zoom in far enough on a fractal, you reach a limit as to how accurately computers can store a normal decimal (technically floating point) number. At this point you have something like 2.1234123412341234 and you add something like 0.000000000001 to it, and you get the same number again, sort of like running out of space on a piece of paper when you're writing down digits and deciding that it's better to just give up on the addition. If your computer tries to store extra digits on another piece of paper (to continue the metaphor), it becomes much, much slower, because the processor is constructed to handle the, um, smaller pieces of paper.

Usually what happens is that the fractal image starts to have big rectangles of colors rather than more details (like pixels, but sometimes not square). For my fractal explorer it was doing this weird ghostlike overlay of multiple distorted views of the fractal. This looks kind of crummy, so I fixed it to do the rectangles.

Facebook Login

You can now login using Facebook. Currently, the login only relates to creating custom 2048 themes (where you choose the images on the tiles), because you are required to have a login to do that. To prevent people from doing stupid things.

2048 Custom Tile Images

August 8, 2021

Some months ago I said, "One thing I'm not going to do is make something for people to add their own images to 2048 tiles. That would be asking for trouble." Today I'm proving myself wrong. I did, however, make it so that you have to make an account, which means it won't be a complete free-for-all.

Making an account is pretty easy, because in addition to the standard email address login you can also choose Google Sign In and have an account more-or-less instantly. I may add Facebook or other login possibilities if people want them.

As an added bonus, now that people can make accounts, there are all sorts of other fun things that I may be able to add to the site...if I get enough traffic to justify it. I could have people compete for best theme, save games more permanently, or save and share the Customizable Rules 2048 Variations. It also brings us much closer to having high score boards.

cesoid.com isn't the only place you can make custom themes, but it does do some things that other sites don't. Just to name a few:

So, yeah, have fun. But not too much fun.

Fractal Explorer

July 28, 2021

This doesn't take much explanation. [Edit: But as you can see below I wrote a lot of words anyway.] You can explore a fractal with panning and zooming. There are a lot of these out there, and actually I have two of them, and maybe I'll release the other one later. There are a few things I like about mine that others do not have. The one I'm putting up now is the "slow" fractal (Mandelbrot set, in case you care about that sort of thing) explorer. The "fast" one (which is literally about 100 times faster) doesn't have some of the things the slow one has, because I learned about how to make it go really really really fast after I made the first one, and I haven't had time to apply the same features to the fast one, partly because it's harder. But, as I was saying, here's what's cool about my fractal (Mandelbrot set) explorer:

  1. Most of these, at least on the internet, have an "iteration limit". Mine doesn't. An iteration limit is basically a limit on how many calculations it does for each pixel before moving onto the next one. The reason there is a limit, is because the whole visualization (and the definition of the Mandelbrot set) is based on whether the calculations for a point get high enough to "escape", or not. But if they don't escape, you might literally never know, so you'll just be calculating forever just to see. If you don't put an iteration limit on it, it will get stuck on a pixel whose calculations don't "escape" and never get to drawing the rest of the image. The iteration limit solves this problem, but the annoying thing about this is that it leaves uncolored blotches that would get filled in if you just tried for longer. I get around this fact by having mine do a small number of calculations for each pixel, and when it gets through all of the pixels, it goes back and continues where it left off, nudging the calculations for each pixel a little further. Some of the pixels "escape", which leaves us more time to process the ones that haven't escaped. The result is that it doesn't give up until it finds an escape calculation for every pixel. Since some pixels in the Mandebrot set don't ever escape, it might never stop calculating. But usually you get pretty close to having every pixel that will eventually escape actually escaping (and, therefore, getting color), and you end up with things filled in way more. This is a long thing to write as an item in a list.
  2. If you leave and come back later, you'll start where you left off. It just automatically remembers (like a Google Doc).
  3. Unlike most web-based fractal explorers, mine takes up the whole browser window, and can be made full screen if you want. Like you're diving into the fractal. (You make it full screen by just making the browser full screen, which is usually something like View -> Fill Screen.)
  4. In the parts that are harder to calculate it fills in the colors in a way that was unintentional but turned out to be cool. Well, part of it wasn't unintentional. First it concentrates a lot of processing power an a sparse grid of a small number of pixels so that you can see some results much earlier than if it just went through all of them at once. Then it refines it further by filling in more and more dots. I've seen a lot of fractal viewers that do this by making really big pixels and refining them to make them smaller and smaller, but I kind of like my way better. It's darker.

By the way, this will use up a lot of processing power, so if your computer slows down and starts making a lot of noise (because of the fan), that's why. If you have a laptop and it isn't plugged in it will probably run down the battery much faster than normal. However, this is nothing compared to what happens with the "fast" version that I will (hopefully) put up later. That one requires a warning up front, because, for reasons I'll explain later, it cranks up the fan in my computer faster than I've ever heard it before, and starts making basic parts of the interface harder to use. It's kind of like when Arthur Dent asks the ship computer to make him a cup of tea.

Oh, and another thing, in case you're one of the crazy people who reads all the way through these things: If you zoom in "too far" you start getting double images or blurry images. That happens because the numbers that your computer is calculating are so close together that the computer is having trouble telling them apart. Cheers!

Graphical Programming

July 26, 2021

I'm clearing out the backlog of things that I started but then didn't feel confident enough to publish on the site. This is mainly because this website is failing to get enough traffic to sustain work on it 😢   I have a grand finale lined up to go live in two weeks: Custom tile images for 2048. It is, by far, the most likely thing to bring people to the site. I know this partly because my site shows up in a Google search for things like "Customizable 2048", and is ranked higher than some sites that claim to have hundreds of themes being created per day. I do have a "Custom 2048", but it's for customizing the rules. Most people seem to want to customize the tile images. At any rate, either that will take off like a rocket or flop, or somewhere in between. If it doesn't take off, unless a miracle happens within the next few days, this will be the second month straight of traffic slumping instead of exponentially rising. But I can't release custom tile images now, because I'm going camping in Cape Cod for a week and this custom tiles feature has the potential of requiring heavy moderation and immediate bug fixes. So if I want to bring in some traffic this week, it's got to be something else.

Anyway, here is a screenshot of the thing I'm supposed to be talking about right now:

So, this is a potentially awesome thing, but it is more of a toy or learning tool at this point. If I can get it into a more complete state, you could use it to program real projects, and in my incredibly not humble opinion, it is worth a trillion dollars.

As is the case for most things, This Has Been Done Beforeâ„¢, but all the examples I could find were either not taken seriously and just used to teach children programming (though mine isn't even capable of that yet), or were not refined enough to be user friendly, or just basically amounted to taking normal code, putting it into blocks, and connecting them to each other in a way that is more confusing to look at than typing it into a text file. Of course, I'm biased at this point.

What you see in the screenshot above is a "code" block. You can get a blank code block by clicking the "code" button. It's the most fun part of this tool because as you drag numbers and things into the code block (into the outer box made of dotted lines), actually functioning javascript appears and changes as you make changes above. To a programmer, (or at least to this programmer) it's a bit startling and seems impossible at first, like you've photoshopped a picture of yourself to make your hair purple and your actual hair turns purple. In this case, I think what's weird about it isn't that it's generating code so much as the fact that changing the 5 in the graphical part affects one particular number in the code, and it's not clear how they're connected, like some kind of quantum entanglement. To add to that weirdness, if you change the code, the graphical part changes to match. (It's actually not that weird, it's regenerating the code every time you make a change, and it just does it in a consistent way. I don't remember how it works in reverse. It probably pretends like it's going to generate code and then uses the code it was about to generate to figure out what number in the code affects what box with a number in it.)

It's greatest shortcoming can be seen by looking at the code that is produced. It does nothing. Some very important elements are missing, most notably: variables, input, and output. The program amounts to a sort of calculator with hardcoded numbers. (I partially implemented variables, but they are very buggy. You can't access them graphically, there are no buttons for them, but you can type them into the code, and the resulting graphical changes may or may not make sense.) It is, as they say, unfinished, which is why it has been moldering. At any rate, if enough people like it in its unfinished state, maybe people will share it with others and it will get a bunch of visits and it will justify developing it further.

2048: The "KEEP PLAYING ANYWAY" Button

March 21, 2021

It hasn't been very long, and I already have another 2048 update. It's another small one, depending on how you look at it. Now, when you lose a game of 2048, you get a new option, a button that says, mysteriously, "KEEP PLAYING ANYWAY".

But how is that possible? The board is filled up, and nothing can merge or tunnel, what could possibly happen when you click this button? Maybe you should try it.

- cesoid

P.S. I've found that it's a lot of fun to use Custom 2048 to make a 1x1 game with supermerging and tunneling, turn on autopilot, and then when it loses, click "KEEP PLAYING ANYWAY". Start up autopilot again, and the result is a game that will play itself forever. But I'm pretty weird, so YMMV.

2048: Redo and 'z' Undo Shortcut

March 17, 2021

It's been a while, and this is a small update, but maybe I'll give you something better soon. MUCH BETTER. (or slighty better?)

This week's tepid update (I'm pretending they're weekly now) is that after you Undo there is now a Redo button, which will just Undo your Undo. It's sort of a way to look at what you just did, and then go back to the future with the same move and same randomly generated tile so that you can be content (and snooty) about not having technically cheated.

Also, the 'z' button (not control-z, but 'z' by itself) will Undo, for those of you who just constantly need to cheat review your last move.

Sincerely, cesoid

2048: Autopilot and Customization Tiles with any Real Number and Infinity

January 12, 2021

Custom 2048 will now allow you to add a tile with any real number. This means negative numbers, decimal numbers, and 0. In addition, you can make it spawn infinity and negative infinity using "Infinity", "infinity", or, believe it or not, "∞", if you can figure out how to type it. (Regardless, it displays as "∞" on the tile.) Negative infinity is entered the same way, but with a minus sign, oddly enough.

Perhaps even more importantly, all real numbers, infinity, and negative infinity are assigned distinct coloring. The downside is that background colors on webpages can only display 16,777,216 colors, and the algorithm doesn't do much to avoid the colors white and black once the tiles get into higher numbers. Also, your screen probably doesn't display sixteen million colors very distinctly anyway. And even if it did you wouldn't be able to distinguish between a lot of them anyway.

Negative numbers use the "negative" of the color used by positive numbers. Decimals use a gradient that uses the colors of the whole numbers that they are between, with the center of the gradient determined by how close it is to which one. Zero is gray, positive infinity is white, and negative infinity is black. Obviously.

What is it all for, you ask? There may soon be some variations that use numbers in weird ways.

There is also now an "Autopilot" option under Settings (which also has the label toggle). Turning this on just makes the board move on its own in a way that is incredibly simple, which will only add to any frustration you might have had with supermerging, because it turns out that round-and-round movements are just about as good at keeping the board from filling up as a person who is using most of their brain power on it. Ok, maybe not most, but a lot. The bright side is that this method doesn't often get to the goal of 144, unless you make a bigger custom board.

The Future: Negative 2048, Minimum Merge Limits, Dynamic Tile Spawning Probabilities

I'll hopefully get to those things.

Supermerging and Customizable Rules 2048, Undo Button, Several Themes, and a few other things

December 20, 2020

Since the last update, I've released four themes for 2048:

I released a totally new way of playing the game: Supermerging 2048.

And a way for you to mix and match rules, such as the dimensions of the board, the probability of getting a 4, and a few other things.

But wait, there's more:

Most of the theme images and theme colors are thanks to my wife, because she's awesome.

Tunneling 2048 Looks Better Now

October 22, 2020

I've made some updates to Tunneling 2048 so that it's easier to play, especially for people who haven't tried this particular variation of 2048 yet.

If you don't know what I'm talking about...

Tunneling 2048 is my variation on the classic 2048 game in which you slide tiles that merge together when they match. Normally, the game starts on a 4 by 4 grid that doesn't change. In my version, whenever you get a new high tile it becomes a "tunneling" tile. Sliding the tunneling tile towards the wall of the grid creates a new space that tiles can slide into. It's probably one of the best variations of 2048. Yeah, I said it, and I'm not taking it back!

Other Improvements

Random Webpage

May 27, 2020

Every time you refresh the random webpage you get a new page with a random number of random elements which randomly may or may not have other randomly chosen elements nested to a random depth, which sometimes have random lengths of random text.

I'm particularly fond of the enormous buttons that have text areas on them, and menus with nonsense options in them. And the progress bars. I didn't know (or had forgetten ?) that there was an html tag for progress bars before I made this.

I attempted to follow rules as to which elements are allowed inside which other elements, but some of the rules vary depending on what else is in them or what they are in, and that required more time than I wanted to spend on it.

The next obvious improvement would be to make elements have random attributes, which should lead to links to websites that don't exist. But what would be really awesome is random css. The text would be different colors, inside boxes that are sometimes tilted at random angles, with random background colors. Some of them would be positioned randomly on the page.

But what would be really awesome are random images, random javascript (would that even be safe? probably), and maybe some areas with text that consists of randomly chosen words, possibly even arranged into grammically correct sentences.

Reality

April 24, 2019

This is a potential simulation of reality, in which I have assumed that everything in the universe is basically a photon, and that their behavior is just so counterintuitive that it is not obvious how they could behave as, for example, an electron. One way to do this, which also might work even if everything is not made of photons, is to imagine that the probabilistic nature of different attributes (such as location and momentum) are really a manifestation of the fact that the photon is made of one or more point-like particles that travel at many times the speed of light, but do so with so many random steps that the odds of them traveling any significant distance at more than the speed of light becomes negligable, and they effectively behave more like a "cloud" than a single particle, which is effectively the wave-function that is already well established. I could go on like this for a long time, but this simulation tests what would happen if a particle moved around in random steps as outlined above. Note that I'm not a physicist, so all of this is based on my very incomplete understanding of quantum behavior, and so it could all be nonsense. However, it is an interesting exercise in and of itself.

Reality