Tag: webdev

Thing 91: Chesslike Games Progress

Alright, small progress on chesslike.games. Today: added a /play url that lets you "create games", which are really just dummy things for now. Still lots more work to be done.

Thing 88: Are You a Good Dog Owner or a Bad Dog Owner?

You are very busy on your computer. Your dog walks over to you and lays his head in your lap and asks for a treat. Do you give it to him?

Thing 87: Text and Buttons

You see text in a box floating above two buttons. You didn't write it. You hardly want to read it. But there it is. Worse, you start to realize that you have to make a choice. Choosing not to make a choice is even a choice in itself. It starts to look like you're screwed. What do you do?

Thing 73: Chesslike Games Minor Theming Improvements

I made some minor theming improvements to chesslike.games.

Thing 72: Chesslike Games Sign In (for real this time)

I fixed yesterday's thing which was actually broken. Whoops.

Thing 71: Chesslike Games Sign In

I implemented sign in for chesslike.games. You can now sign up, sign in, and sign out but you can't do anything else yet.

Thing 70: Chesslike Games Sign Up

I think I implemented sign up for chesslike.games. You can sign up but you can't sign in yet. lol

Thing 68: Chesslike.games

I made a website: chesslike.games where I'll eventually add the ability to play the chess variants I've been working on online. Currently it's just a "coming soon" page.

Thing 67: Chess-Player (Part 8)

A work-in progress playable chess component from scratch.

Today's update: a very minor tweak to some of the hover states (now the piece hovered over doesn't get partially covered by the hover effect).

Move History:

Next time: idk, i'll think of something

Thing 66: Chess-Player (Part 7)

A work-in progress playable chess component from scratch.

Today's update: a previous-move indicator.

Move History:

Next time: idk, i'll think of something

Thing 65: Chess-Player (Part 6)

A work-in progress playable chess component from scratch.

Today's update: move history. Could definitely stand to have some better styling though.

Move History:

Next time: idk, i'll think of something

Thing 64: Chess-Player (Part 5)

A work-in progress playable chess component from scratch.

Today's update: you can drag and drop pieces now! That was more effort than you'd think.

Next time: idk, i'll think of something

Thing 63: Chess-Player (Part 4)

A work-in progress playable chess component from scratch.

Today's update: move validation AND visuals for where the piece can move! No castling or en-passant yet, though, and pawns always promote to queens, since that's simpler for now. Also, you're allowed to leave your king in check and let it get taken. I'll figure out a good solution later for all these things.

Next time: maybe a little drag and drop action?

Thing 62: Chess-Player (Part 3)

A work-in progress playable chess component from scratch.

Today's update: you can teleport pieces on the board!

Next time: some move validation, I hope

Thing 61: Chess-Player (Part 2)

A work-in progress playable chess component from scratch.

Today's update: pieces on the board!

Next time: some interactivity, I hope

Thing 60: Generic Chess-Variant Player

I'm working on improving the UI of my implementation of Haft Schroedinger Chess. I'm trying to make a general-purpose chess-game-player that will work with this and many other future variants I might want to implement. Eventually, to allow online play as well (though, I'll need some new infrastructure to implement that).

Here's what I've got so far:

Yup, just an empty chessboard. Starting from scratch and takin' it slow.

Thing 58: Haft Schroedinger Chess, Now with Slightly Better UI

I added better piece art to my implementation of Haft Schroedinger Chess, and it now also shows which pieces have been taken. Also I think I fixed a bug where taking a pawn near an en-passantable position would sometimes kill the attacking pawn.

8
wKQRBN
wKQRBN
wKQRBN
wKQRBN
wKQRBN
wKQRBN
wKQRBN
wKQRBN
7
wP
wP
wP
wP
wP
wP
wP
wP
6
5
4
3
2
wP
wP
wP
wP
wP
wP
wP
wP
a1
wKQRBN
b
wKQRBN
c
wKQRBN
d
wKQRBN
e
wKQRBN
f
wKQRBN
g
wKQRBN
h
wKQRBN
Moves:

    Thing 55: Haft Schroedinger Chess

    As mentioned in thing 51, I've been working on a playable version of Haft Schroedinger Chess. I've come across a one other implementation here, but that implementation is not true to the full rules of the original description: it puts every piece including pawns into superposition at the start, whereas pawns are not supposed to be, and it also doesn't account for entanglements arising from checks. I made this implementation to solve those problems.

    It tracks entanglements from checks invisibly though, since I was uncertain how to conveniently display them. I want to improve the UI quite a bit, but that will come in time. I also wanted to make art for each of the 31 valid piece-superpositions, but that will also come in time. I also want to eventually make it playable over the internet. If you notice any bugs, please reach out to me.

    8
    KQRBN
    KQRBN
    KQRBN
    KQRBN
    KQRBN
    KQRBN
    KQRBN
    KQRBN
    7
    P
    P
    P
    P
    P
    P
    P
    P
    6
    5
    4
    3
    2
    P
    P
    P
    P
    P
    P
    P
    P
    a1
    KQRBN
    b
    KQRBN
    c
    KQRBN
    d
    KQRBN
    e
    KQRBN
    f
    KQRBN
    g
    KQRBN
    h
    KQRBN
    Moves:

      Thing 54: Ripple Screensaver

      This was going to be a Reaction Time Test Game, but for now it's just a pretty screensaver. For now.

      Thing 51: [WIP] Haft Schroedinger Chess

      I started working on a playable version of Haft Schroedinger Chess. I was originally gonna try validate moves the easy brute-force way, but it's too computationally expensive. I'll have to keep working on it.

      Thing 20: DriftKart Prototype

      A prototype for a drifting mechanic in a racing video game. You need to plug in a game controller to be able to play. Using a GameCube Controller with an Adapter, the relevant buttons are A to drive and R to drift and the left stick to steer. Different controllers might have different button mappings. May only work on Chromium-based browsers.

      Thing 17: Fake Constellation Generator

      I made a random fake constellation generator. You can specify any string as a seed, a number of stars, a threshold for connections, and a method for connections. Out you get a constellation. I think (toilet, 35, 2.5, min) looks pretty cool. I also like (gggg, 75, 3, multiply), (bl, 64, 9, add), and (ohio, 51, 4, max). Play around; see what you can make.

      seed:
      star count:
      threshold:
      method:

      Thing 16: Probability Converter

      I made a converter between different ways of thinking about probabilities. It allows conversion between probabilities, odds, and log odds measured in bits, logits, and decibels. The ui is pretty terrible, sorry.

      probability:
      odds:
      log2 odds: bits
      natural log odds: logits
      log10ish odds: decibels

      Thing 14: Spectrogram Player v2

      Yesterday, I tried to make a spectrogram-player that plays a spectrogram. See thing 13 It was pretty bad. Today I tried a second approach I learned of after making the thing yesterday. This time I use white noise and bandpass filters. I think it's much better than yesterday's. Feel free to compare using the same images in both.

      Upload image:

      Thing 13: Spectrogram Player

      I tried to make a spectrogram-player that plays a spectrogram. It's pretty bad. Below are two hand-drawn spectrograms you can download and upload to try it on. You can also upload any image, but if the image doesn't look like this, then your ears may bleed even more.

      The way it does this is it makes a pure sine wave for each row in the image and alters the volume according to the brightness throughout. I learned after making this there are better ways of doing this such as using a noise source with band pass filters. Oh well. Also, no idea how well this would work on an actual spectrogram. Will just have to wait until I make a spectrogram-maker I guess.

      Upload image:
      a handdrawn spectrograma second handdrawn spectrogram

      Thing 12: Blood Type Calculator: Better Rh Inference

      Continuation of thing 9.

      Better rh factor inference. It can now infer e.g. that if a child is rh positive, and one parent is rh negative, the other parent must be rh positive.

      #NameParent1's NameParent2's NameABORhActions
      No rows yet.
      Possible Blood Types:

      Thing 9: Blood Type Calculator

      I made a blood type calculator that deduces what some family members' blood types must be given the blood types of other people in the family. It's not perfect at inferring all possible information yet, but it can infer some interesting things.

      Put in some family members whose blood types you know, and see if it can correctly deduce someone's blood type! The more family members you add (including grandparents and cousins, etc.), the more likely it will be to narrow it down more.

      For example, try adding in Alice with blood type A and Bob with blood type B and give them a kid. See how the kid could still be any blood type. Now give Alice and Bob each two parents with blood types AB. Now the kid can only be blood type AB.

      Future improvements I want to make: (1) infer that if one parent is rh negative and the child is rh positive, the other parent must be rh positive, (2) output probabilities based on bayesian reasoning, instead of just which ones are possible.

      Disclaimer: the UI was partially written by an LLM, but the main focus of this post was on the logic of the calculation, which was entirely written by me.

      #NameParent1's NameParent2's NameABORhActions
      No rows yet.
      Possible Blood Types:

      Thing 8: RSS Feed

      I added an RSS feed to my site at athingper.day/rss.


      Thing 5: Make Your Own Smiley

      It's a simple make-your-own-smiley toy.

      Body:
      Left Eye:
      Right Eye:
      Mouth:
      Extras:
      Blush:
      Sweat:

      Thing 3: Pico Player

      I made a reusable modular React component for playing PICO-8 games (@athingperday/react-pico-player). Here's an example of it being used to play yesterday's puzzle:


      Thing 1: athingper.day Website

      Hi! I'm athingperday and I will post one thing every day. Could be something big. Could be something small. But every day will be something. Today's thing is that I made a website (athingper.day) to hold all my things.