Skip to content
Sign UpLog In
This post is read-only. Explore Repls and connect with other creators on Community.View Community
The info in this post might be out of date, check out our docs instead. View docs
28

Boo.io - BramJam 2 Submission!

realTronsi
realTronsi

Boo.io - BramJam 2 Submission!

Overview

(Skip to "How To Play" if you want)

With midterms going around and stress from school, I decided to take a break and participate in a jam organized by

@bramley

The theme was Multiplayer Halloween, a pretty vague theme for a game jam, but it gave a lot of room to work with. I had lots of prior web programming experience, so I decided to make an .io style web game.

I spent a total of about 7 hours on this (yes I have no life) but it was a great stress reliever, and I strongly suggest you to participate in future game jams if you aren't planning to do so already!

DayMinutesWhat I Did
Oct. 2145Basic webserver setup
Oct. 2290Menu screen + movement
Oct. 2330Candies
Oct. 2490Leaderboard + Gum Projectiles
Oct. 2545Killing
Oct. 2630Death screen
Oct. 2745Invisibility
Oct. 2845Respawning + Polishing

How to Play

You are a ghost who has quite a sweet tooth. Gobble up candy and kill other ghosts using gum pellets to rack up points!

NOTE: Yes this is MULTIPLAYER! You will need to play with your friends or when other people are online

Controls

  • WASD to move around
  • Mouse to aim and shoot
  • Space to go invisible

Objective

The objective is to earn points and climb to the top of the leaderboard.

  • You can earn points through collecting candy which spawn throughout the map, or by killing other players.

Screen Shot 2020-10-28 at 11.39.00 PM

  • Every candy you collect increases your ammo by one. Your ammo count is indicated through the five dots below your character, with each pink dot indicating an ammo.

Screen Shot 2020-10-28 at 10.59.21 PM

Screen Shot 2020-10-28 at 10.59.51 PM

  • Click to shoot. When you attack, you will use all of your current ammo at once.

Screen Shot 2020-10-28 at 11.02.11 PM

  • Press space to go invisible. Going invisible costs all of your current ammo, and you can ONLY go invisible if you have AT LEAST three ammo! For each additional ammo you have when going invisible, you get an extra 0.67s of invisibility!

Screen Shot 2020-10-29 at 7.41.01 PM

  • Your invisibility lasts 2.5s - 3.8s, and ends instantly if you attack while being invisible.

  • Your invisibility has a 10 second cooldown after use, which is shown by the cooldown bar, which appears while the cooldown is in effect.

Screen Shot 2020-10-28 at 11.10.27 PM

It is perfectly normal if you experience a bit of lag, I've optimized this game to about 90% so the lag should hopefully be minimal, unless you're using a slow computer.

What I Use

I created the game with a NodeJS backend, using vanilla websockets, ws dependency for client-server communication.

HTML CSS JS frontend, pure vanilla javascript with no frameworks. I use mspack-lite for binary encoding/decoding for packet reduction. You can check it out here

I also used quadtree-lib for optimized collisions. You can check it out here

Credits

Many thanks to those who helped beta test!

FAQ

Q: I am stuck/aiming is stuck
A: Try switching to another tab then coming back, it usually fixes the problem. If not, reload.

Q: Is invisibility overpowered?
A: Yes.

Q: Why am I lagging?
A: It's inevitable that multiplayer games have lag.

Q: Can I hack the game?
A: Good luck trying!

Q: Can you add my requested ideas?
A: No this is a game jam submission, I am no longer working on the project

Q: Why does the music suck?
A: Because I suck at making music.

Q: Are you sure I can't hack the game?
A: Yes I am certain :)

If you notice any bugs, please report them to me as well as including details such as what you did when it happened and when it happened!

@piemadd
@rediar
@adcharity
@sixbeeps

2 years ago

Voters

Comments

TopNew
7
RayhanADev
RayhanADev

One word, one emoji:

L I T 👻

2 years ago
1
realTronsi
realTronsi

@RayhanADev
can't wait to see your game!

2 years ago
1
RayhanADev
RayhanADev

@realTronsi
ha we’re pretty close too. Maybe early morning tomorrow or late night tonight (I need to stock up on coffee again after this xD)

2 years ago
1
realTronsi
realTronsi

@RayhanADev
I noticed you had two mouse pointer icons for local gamemode, how does that work? Two mouse at the same time o_0

2 years ago
1
RayhanADev
RayhanADev

@realTronsi
hmhmmhmh
p e r h a p s W A S D a n d A R R O W S

2 years ago
1
realTronsi
realTronsi

@RayhanADev
too bad I have no frens :(

2 years ago
1
RayhanADev
RayhanADev

@realTronsi
lol wanna be frens xD.

2 years ago
1
realTronsi
realTronsi

@RayhanADev
well it's local gamemode so we can't play unless you're the dude hiding in my attic

2 years ago
1
realTronsi
realTronsi

@RayhanADev
jesus christ like 5 random ppl (excluding us) online wow!

2 years ago
1
RayhanADev
RayhanADev

@realTronsi
lol that furries unite thing was hilarious xD.

2 years ago
1
realTronsi
realTronsi

@RayhanADev
lol did you have fun. I was "dd" and "Player"

2 years ago
1
realTronsi
realTronsi

@RayhanADev
idk who that Larry guy was but he was extremely pro, literally ambushes you outta nowhere

2 years ago
1
RayhanADev
RayhanADev

@realTronsi
hahaha omg I hate you xDxDxD gg. That was really fun, but I feel the scores are a little broken (like at one point I just respawned with .6 k).

2 years ago
1
RayhanADev
RayhanADev

@realTronsi
yeah lmao me the not gamer getting killed by everyone lol.

2 years ago
1
realTronsi
realTronsi

@RayhanADev
well when the server restarted that's what I changed. I made it so you respawn with more points and also earn more points by killing. It's better because beforehand everyone was respawning sub 100 and it wasn't that fun

2 years ago
1
realTronsi
realTronsi

@RayhanADev
you were the first to ever reach 1K tho lol

2 years ago
1
RayhanADev
RayhanADev

@realTronsi
really? dang well, I feel honored (should have screenshoted xD). Also I was bored today, made a threeJS globe that was really bad xD.

2 years ago
1
realTronsi
realTronsi

@RayhanADev
I already have hacker and I don't exactly need it, so if I win anything should I organize a Boo.io tourney, and highest score wins hacker? (If i win something that is)

2 years ago
1
RayhanADev
RayhanADev

@realTronsi
dude, hands down you’ll win. I say it’s up to you, if you can find a way to make the game slower-paced (the longest I lived was like 2mins), then yeah that would be a dope tournament.

2 years ago
1
realTronsi
realTronsi

@RayhanADev
well it IS supposed to be fast paced, maybe if I made the map bigger by a bit

2 years ago
2
fuzzyastrocat
fuzzyastrocat

@realTronsi
...or added some kind of obstacles/maze-y thing :)

2 years ago
1
RayhanADev
RayhanADev

@realTronsi
lmao right Jam submission xD.

2 years ago
3

Hey, want to help me make something?

2 years ago
3

Im making a language with coder100

@realTronsi

2 years ago
1
realTronsi
realTronsi

@HeadSucksAtLife
@Coder100
could you explain more about it?

2 years ago
3

Its a language made in javascript

@realTronsi

2 years ago
1
realTronsi
realTronsi

@HeadSucksAtLife
well yes but explain more, for example what its purpose it, syntax, interpreted or compiled, etc

2 years ago
1
realTronsi
realTronsi

@Coder100
he wants to invite me to a language you two are making, I just want to know about it first before accepting or declining

2 years ago
3

Well, I don't really want to share about it on a public basis so can I just invite you to the team and you can check out the code?


@realTronsi

2 years ago
3
JasonLiu19
JasonLiu19

No one is on all the time :(

2 years ago
4
realTronsi
realTronsi

@JasonLiu19
oh there were 8 people online this afternoon, bad timing ig :(

2 years ago
4
realTronsi
realTronsi

@JasonLiu19
oh hi then :) you basically ambushed the whole lobby

2 years ago
3
SixBeeps
SixBeeps

I ended up finding a vulnerability >:)
image

2 years ago
1
SixBeeps
SixBeeps

@realTronsi
I'll just leave this here

pl = { m: "j", n: "bruh" }; dws.send(msgpack.encode(pl));
2 years ago
1
realTronsi
realTronsi

@SixBeeps
how did I forget to patch that. I patched it just now, simple fix

2 years ago
1
realTronsi
realTronsi

@SixBeeps
there shouldn't be any more vulnerabilities now o_0

2 years ago
3
SixBeeps
SixBeeps

@realTronsi
I couldn't find anything else. Good game btw.

2 years ago
2
1
ComputingSquid
ComputingSquid

yeah how did you make this
(i can't even manage a clicker game with local storage)


@realTronsi

2 years ago
1
realTronsi
realTronsi

@ComputingSquid
nodejs backend using vanilla websockets.

2 years ago
2
CodeSalvageON
CodeSalvageON

That was really cool!

2 years ago
2
haha0201
haha0201

EXCELLENT GAME!
10/10

2 years ago
1
haha0201
haha0201

also for overlap regions, just do a strokeArc instead, set lineWidth to the current size of the arc then do an stroked arc half the current size, and only go from 0 to Math.PI so like a semicircle


@realTronsi

2 years ago
4
realTronsi
realTronsi

@haha0201
jesus how did I forget about that, fixed!! ty <3

2 years ago
1
erger561
erger561

Wow this game is amazing!!! Pls make another .io game soon!

1 year ago
Load more