Skip to content
← Back to Community
Boo.io - BramJam 2 Submission!
Profile icon
h
has Hacker Plan
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

Voters
Profile icon
AdityaRayapudi1
Profile icon
LandonOrr
Profile icon
erger561
Profile icon
DigiLab
Profile icon
programmeruser
Profile icon
seanlnge
Profile icon
bgrubert
Profile icon
MarioMiralles
Profile icon
tankerguy1917
Profile icon
ComputingSquid
Comments
hotnewtop
Profile icon
RayhanADev

One word, one emoji:

L I T 👻

Profile icon
realTronsi
Profile icon
realTronsi

@RayhanADev can't wait to see your game!

Profile icon
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)

Profile icon
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

Profile icon
RayhanADev

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

Profile icon
realTronsi

@RayhanADev too bad I have no frens :(

Profile icon
RayhanADev

@realTronsi lol wanna be frens xD.

Profile icon
realTronsi

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

Profile icon
RayhanADev
Profile icon
realTronsi

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

Profile icon
RayhanADev

@realTronsi lol that furries unite thing was hilarious xD.

Profile icon
realTronsi

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

Profile icon
realTronsi

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

Profile icon
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).

Profile icon
RayhanADev

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

Profile icon
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

Profile icon
realTronsi

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

Profile icon
RayhanADev
Profile icon
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.

Profile icon
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)

Profile icon
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.

Profile icon
realTronsi

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

Profile icon
fuzzyastrocat

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

Profile icon
RayhanADev

@fuzzyastrocat nice idea!

Profile icon
fuzzyastrocat

@RayhanADev Thanks!

Profile icon
realTronsi
Profile icon
RayhanADev

@realTronsi lmao right Jam submission xD.

Profile icon
Bookie0

Wow pretty cool!

Profile icon
realTronsi

@Bookie0 danke, yours too

Profile icon
Bookie0
Profile icon
[deleted]

Hey, want to help me make something?

Profile icon
realTronsi

@HeadSucksAtLife what is it

Profile icon
[deleted]

Im making a language with coder100 @realTronsi

Profile icon
realTronsi

@HeadSucksAtLife @Coder100 could you explain more about it?

Profile icon
[deleted]

Its a language made in javascript @realTronsi

Profile icon
Coder100

about what @realTronsi

Profile icon
realTronsi

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

Profile icon
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

Profile icon
[deleted]

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

Profile icon
realTronsi
Profile icon
realTronsi

@HeadSucksAtLife no one is online lo

Profile icon
[deleted]
Profile icon
[deleted]

@coder100 join team repl
@realTronsi

Profile icon
JasonLiu19

No one is on all the time :(

Profile icon
realTronsi

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

Profile icon
JasonLiu19

@realTronsi i was Larry :)

Profile icon
realTronsi

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

Profile icon
SixBeeps

I ended up finding a vulnerability >:)
image

Profile icon
realTronsi

@SixBeeps what is it?

Profile icon
SixBeeps

@realTronsi I'll just leave this here

pl = { m: "j", n: "bruh" }; dws.send(msgpack.encode(pl));
Profile icon
realTronsi

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

Profile icon
realTronsi

@SixBeeps good catch though

Profile icon
realTronsi

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

Profile icon
SixBeeps

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

Profile icon
realTronsi

@SixBeeps alright thanks!

Profile icon
CoolGuy27

@realTronsi awesome!

Profile icon
realTronsi

@CoolGuy27 thanks!

Profile icon
ComputingSquid

this is awesome!

Profile icon
realTronsi
Profile icon
ComputingSquid

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

Profile icon
realTronsi

@ComputingSquid nodejs backend using vanilla websockets.

Profile icon
ComputingSquid
Profile icon
CodeSalvageON

That was really cool!

Profile icon
realTronsi

@CodeSalvageON thanks! yours too

Profile icon
haha0201

EXCELLENT GAME!
10/10

Profile icon
realTronsi

@haha0201 yey :D

Profile icon
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

Profile icon
realTronsi

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

Profile icon
haha0201
Profile icon
erger561

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

Profile icon
haha0201

u afk?

Profile icon
haha0201

tronsi are you afk?

Profile icon
[deleted]

ez. just have an autoclicker and just move around

Profile icon
realTronsi
Profile icon
SachetTheCoder

Umm,Hello !!! I am here just to say that last u had gave me 23 messages which was u and ur friend talking in my post.So,I wasn't happy.Pls do chat on ur posts.Not others.Sorry if this was rude,But I wanted to give a notice.

Thank You 😀

Profile icon
realTronsi

@SachetTheCoder oh sorry np, we just like to talk and I didn't realize it was your post

Profile icon
SachetTheCoder

@realTronsi I know even when I was on Scratch I ended up taking on someone elses post/profile.lol

Profile icon
ComputingSquid

this game is awesome
did it get unlisted or something?
because i can't see it...

Profile icon
realTronsi

@ComputingSquid can you not see the post or the game? I don't believe that this was unlisted, it probably just fell from trending

Profile icon
ComputingSquid
Profile icon
ComputingSquid

whos online
no u elaphant you keep trolling me

Profile icon
realTronsi

@ComputingSquid lol I'm not online

Profile icon
realTronsi

@ComputingSquid it's probably someone else

Profile icon
ComputingSquid

who are you
elaphant?
i was squid
and who was the cookie? @realTronsi

Profile icon
ComputingSquid
Profile icon
realTronsi

@ComputingSquid lol I have no clue, I'm in class atm so I'm not playing the game

Profile icon
ComputingSquid

lol.
i have class but i'm not in it now. @realTronsi

Profile icon
WilliamLindenbe

GG

Profile icon
ShivankChhaya

I have a project to do in school, and I used the EXACT same picture at the top! Also really fun!

Profile icon
realTronsi

@ShivankChhaya cool lol, all graphics were made by me btw

Profile icon
ShivankChhaya
Profile icon
Kookiez

cool!

Profile icon
TheOceanFace

wow cool

Profile icon
realTronsi
Profile icon
DarkswordsmanJG

I have a question:
Is it ok to open many taps and have an army?

Profile icon
realTronsi

@DarkswordsmanJG no not really lol, but if no one else is online then sure. I mean no one is stopping you but try not to abuse it. It was out of my time frame to implement systems to avoid multiple tabs (ip tracking + bunch of other complex stuff)

Profile icon
LoganSpong

M O I S T 👻

Profile icon
LoganSpong

@LoganSpong no copyright on comments, Am I right? lol

Profile icon
realTronsi
Profile icon
fuzzyastrocat

Nice, however it's really jittery for me. Did you use any interpolation?

Profile icon
realTronsi

@fuzzyastrocat no interpolation for this one

  1. due to the lack of time and
  2. I'm lazy

It's strange that you're jittery though, for everyone who has beta tested they said they game was pretty smooth. Could you explain what you mean by jittering?

Profile icon
fuzzyastrocat

@realTronsi I mean jittering :D

Jokes aside, the movement appears to be in tons of little steps rather than one smooth motion. The important part of this is that the steps are very inconsistent timing-wise, which leads to the "jittery" feel. The movement also seems very "jumpy" in that it often jumps forward or lags behind.

(And of course, I don't mean the movement of the player ghost since that's fixed, I mean the movement of the grid and the other players.)

Additionally, it's weird how the movement hard-starts when you push a key and hard-stops when you stop pushing a key. A ramp-up/ramp-down would be nice (so pushing a key applies an acceleration instead of a velocity basically).

Profile icon
realTronsi

@fuzzyastrocat ah. The hard starts is intended, and I could add velocity pretty easily but I like the precision of hard starts, and it lets you dodge bullets easier imo.

Yes the movement isn't the best but this was what I was able to accomplish in the span of the jam and I didn't want to spend too much time on this.

Profile icon
fuzzyastrocat

@realTronsi Hmm ok, I see your reasoning there. Maybe just a tiny ramp-up, but it's a matter of preference.

Yeah, makes sense.

Profile icon
realTronsi

@fuzzyastrocat I mean I guess it's reasonable for 7 hours imo

Profile icon
fuzzyastrocat

@realTronsi Probably ye

Profile icon
angrydoge

M O I S T 👻

Profile icon
realTronsi