Fightcade is a network gaming platform for retro games. It is composed of several parts:
I've done all the programming of the frontend and I've used Vue.js for it. This was my first project with Vue.js, some time ago I read an article about Vue.js and it looked very cool to me. Just a bit later I started to collaborate in Fightcade, so I took advantage of this situation to use Vue.js in a real project, and I'm very happy of that decision, because I really like Vue.js. When I started what I basically did was copy the interface of Discord, but after some time Jorge Fuentes started to collaborate as designer and he implemented most of the HTTP layout and all the CSS.
Every supported game in fightcade has its own channel. You can search for a game based in its name, year, genre, etc. A channel is a space where you can chat with other people interested in that game, challenge them or spectate other matches.
It's done in Node.js. I did a really small part of this, basically bug fixing and add small features. In addition to this we have a hole punching to enable the P2P connection for peers behind firewalls or routers that use NAT.
When a user challenge other user, the emulator is launched and they can play together. So far, we support two emulators:
FB Alpha: to play arcade machines and megadrive games. We've done a lot of improvements to the base emulator. I've added different shaders for CRT effect.
snes9x: to play super nintendo games. We have added this emulator very recently, so it doesn't have the same features that FBA emulator. I've added GGPO support to play online P2P.