Logo

hri7566.info

How Multiplayer Piano Taught Me How To Code (and Why It Sucks Now)

Introduction

Multiplayer Piano (MPP) is a site where you join a room, chat, and play live music with other people.

MPP is like an internet home to me. I learned how to script and interact with the web there, and it feels like one of those corners of the internet that you just don’t know why it feels satisfying to interact with, but you can’t stop using it and you never want to leave (well, it used to feel that way).

MPP was made by a guy named Brandon and he was a genius. I don’t want to go into too much detail about him, but he literally wrote the entire site from scratch in a time when the Chrome Web Store was new.

This is Where I Come In

Anyway, long ago in the days of the cool internet, around 2017, I was screwing around with my piano keyboard and I wanted to find a way to play music with other people but without having the burden of going outside and actually talking to people. I opened google on my craptop, and found exactly what I was looking for, and a bonus of daily active users who cared about it.

There were around a few thousand active people in the community, which consisted of a bunch of discord servers and related websites, namely a bot named “[discord.gg/k44Eqha]” and another site called Our World of Pixels.

I then decided that I waws going to mess around with my dumb MIDI tools and see what other people think of it. Of course, the brilliant teenager that I was (like, 14 at the time), I met some other dudes on the site who were screwing around with code in their browsers.

This site was pretty cool. People actually respected others who were able to make things, and it was nice.

Time to Code Some Stuff

I joined in on this bot code stuff, and some guy named Karl literally handed me his script and I was like, this is it. This is what I’m going to do.

Having only understood enough to write a tiny bit of Lua in the past (I didn’t know what function arguments were for), I wasn’t sure if I was smart enough to code like this, but I was determined.

I messed around with his code and made a few changes, and I made my own command and stuff, and suddenly I had something that was mine.

I mean, it’s not anything impressive nowadays, it was just a bot that says magic 8 ball replies and had a bunch of useless math commands and stuff, but it was so fun to mess around with.

I Figured Out What Node Was

Over time, my skills grew with the help of the programmers on the site, and by this point I finally figured out how to start NodeJS on the command line. Karl dropped out of the site around this time, he doesn’t know how to code at all anymore.

I suddenly had a whole new world of possibilities now that I wasn’t using tampermonkey and reloading my page every time I wanted to test something.

It really doesn’t sound like much, but it was such a large leap. I could write code in more than one script, I could read and write to text files, I could use terminal input.

I didn’t realize all of this stuff instantly, but Node was the first step in a great journey.

Making Complex Stuff

After a few months of still writing code in one file, because I was an idiot, one of my friends on Discord was sharing some code with me. He introduced me to Object-Oriented Programming, and I was absolutely blown away.

I got straight into rewriting my stuff to be OOP, and I was so amazed at how scalable my code was now.

Some people are probably pulling their hair out over what I just said, but I’m not going to lie, this was a huge leap for me, and whether or not OOP has performance implications is not something I had to care about. My code was already terrible, and OOP couldn’t have made it any worse than it was.

I used my newfound skills to make a new bot that was a lot more complex than the one I made before.

I didn’t do music stuff with it, but it had a huge economy system, you could eat cake, get money and buy stuff.

The Dumb Guy

Over this time, something else had happened that I didn’t mention yet.

Brandon sold Multiplayer Piano to some jackass “entrepreneur” who thought he could just turn it into a blog and slap ads on the site.

There’s a crazy amount of weird stuff this guy did, but there’s so much that I can’t really go into much detail without writing a bible.

The original MPP as it existed has been going online and offline sporadically for a few years now, but the site is still somewhat intact.

Us programmers of the community took (by which I mean not me, since I was dealing with houselessness at the time) it on to make a new site called MPPClone.

The new owner took it onto himself to hire a few people from the community as moderators, and he required everyone to submit their ID to him. Not that it’s a giant deal, but it was just weird. Like, people don’t do that on Discord.

I was banned from the official Discord server for being involved with a friend of mine who cost this jackass a lot of money due to a caching issue that he could have fixed very easily (don’t host on AWS if you’re not a programmer).

This guy was just a complete butt. He had no respect for anyone in the community, and he though that just because he bought the server and the domain that he could control everyone in the community.

In 2023, he tried to Cease and Desist MPPClone for Copyright Infringement. We don’t even know if the “letter” (a Discord message) was real or not, most of us kind of assumed it was AI generated because of how cheap he was in the past, but there were deliberate spelling mistakes.

It’s okay, though, because the lawyer guy who wrote the letter wasn’t very smart, just like the owner.

This lawyer guy hasn’t been online since he sent that message.

The Reverse-Backstabber

In 2022, while I was in that official Discord server that the new owner made, I had a few tricks up my sleeve. First, I suggested to the new owner very early on that we should rewrite the site in TypeScript, and he agreed.

I then was given access to the GitHub organization and I made a few changes to a repository named mpp-frontend-v1 that he had made. He apparently didn’t notice this, but I got permission from Brandon to upload the original site files as they were before the new guy made any changes to the site under the GPLv3 license.

This repository is basically what MPPClone was based on, so we are actually able to argue that MPPClone is not infringing on anyone’s rights because the original site is specified under the open source GPL license.

We haven’t yet been taken to court or anything. Nothing else of major note has happened since then with the original site.

The Other Side

The lead developer of MPPClone left the scene, and the other staff members took over the project and rebranded it as MultiplayerPiano.net. This is still what the site is called as of now.

The End

This is kind of loose, so I don’t know where to go from here. Basically, I need to bridge the gap between the entirely community funded MPP.net and the fact I need a job somewhere.

Having become a programmer entirely by the means of not going through school for it whatsoever, it’s kind of impossible to get a job now, same with housing.

I literally feel embarrassed to say this, but I desperately need a job so I can go desperately get a place to live on my own. Right now, I’m leeching off of my parents and my friends, and I want to stop.

This is a huge problem, and I’m not even sure if I can fix it. So this is where you come in. If you’re a recruiter, a programmer who has a job for someone, looking for a game developer, or someone who just wants a website please reach out. I really need it. At this point, I’ll write PHP for food.