Inspiration

We wanted to go out of our comfort zone from making standard CRUD apps with a frontend framework and backend with a noSQL database to something a little different. So we made a pacman-like game with multiplayer support.

What it does

It's a really basic pacman-like game where you move around through a map, although your main goal as a pacman is to avoid the ghosts and be the last man standing. When a ghost gets a pacman, the pacman turns into a ghost to, like an infection mode. The last person standing wins. It's multiplayer so multiple people control multiple entities.

How I built it

The client is a vanilla JavaScript project that's bundled with webpack, while the server is a simple server written in Golang. We use sockets.io to communicate between the clients and the server.

Challenges I ran into

The sockets.io implementation in Golang has very sparse documentation and some fairly contrived ways of fixing common issues like CORS requests being blocked on the server, which costed us a lot of time. In addition to that, writing vanilla Javascript without a framework meant that we needed to use Webpack if we wanted to import and bundle our call.

Accomplishments that I'm proud of

It was really nice to work with more lower-network stuff and some basic networking for the client, and for the server it was nice getting to play with golang and manage a library that has very little documentation.

What I learned

We learned a lot about webpack, networking, and the sockets.io library for golang.

What's next for HackMan

  • Randomly generated maps
  • Cleaner code
  • Better networking code that works for remote servers
Share this project:

Updates