Among Us Clone banner

Among Us Clone

20 devlogs
60h 36m 20s

A clone of popular game among us.

Tech Stack:

  • React for UI
  • Phaser for game
  • Node.js for backend
  • Socket.io for multiplayer

Features:

  • Multiplayer
  • Multiplayer rooms
  • Lobby
  • Imposter Kills
  • Emergency meeti…

A clone of popular game among us.

Tech Stack:

  • React for UI
  • Phaser for game
  • Node.js for backend
  • Socket.io for multiplayer

Features:

  • Multiplayer
  • Multiplayer rooms
  • Lobby
  • Imposter Kills
  • Emergency meetings
  • Voting system
This project uses AI
  • Build templates to start working (mostly CSS)
  • Debugging
  • CORS setup for deployment
Demo Repository

Loading README...

i250882

Shipped this project!

Hours: 60.57
Cookies: 🍪 782
Multiplier: 22.46 cookies/hr

This is just a final ship to make those additional minor changes hours count.

i250882

changes:

  • Add a Toast notification for different notifications
  • Stopped users from starting game with just 1 player
  • Changed how in game UI btns are displayed
  • Changed meeting start trigger from “m” key to a proximity USE button
Attachment
0
i250882

changes:

  • Fixed a bug which caused “waiting for host” btn to persist
  • Fixed hidden kill button for imposter
  • Fixed ghost rooms bug which caused rooms to exist without players
Attachment
0
i250882

changes:

  • Fixed multiplayer issue
  • Fixed a bug so now only host can start a meeting
  • Changed lobby scene map
Attachment
0
i250882

Shipped once and got rejected with reason “Multiple issues, eg that multiple players don’t show up to eachother”.
It was my mistake that i didnt mention that IDs persist on same browser, changed it to store data in sessionStorage.

Attachment
0
i250882

Shipped this project!

Hours: 53.12
Cookies: 🍪 578
Multiplier: 10.88 cookies/hr

I built a clone of among us game, the most challenging thing was i built it in javascript frameworks, and i use python, so this was my first project with javascript.
I am proud that i accurately used and understood some javascript concepts like promises and callbacks, which previously felt very complicated.

I will be making changes to this project and keep improving it.

i250882

created ReadMe.md file, optimized some socket events. ready to ship, will keep working on it.

Attachment
1

Comments

yousseifindx5
yousseifindx5 about 1 month ago

Your project is on 🔥🔥

i250882

Update:

  • Its pretty much done and ready to ship, I will continue working on it and if i find time, i will make it flavor town themed with kitchen tasks.

Changes:

  • Added a role indicator toaster.
  • Fixed the bug mentioned in log earlier

TODO:

  • Clean up code by removing console.log statements used for debugging, also remove extra commented code
  • Finish some minor UI changes.
  • Create a ReadMe.md
  • Deploy
Attachment
0
i250882

Changes to Emergency Meeting System:

  • Setup backend listeners and emitters for vote/win/meetingStarted events
  • Built logic to update all clients in a room when one clients votes

Pending Bug:

  • When a meeting ends via allPlayersVoted the event meeting:ended is being sent before the meeting:vote event of the last vote.

Also it will be very helpful if anyone can give me some advice that can help me make my code more readable and clean, i used to code in python, new to javascript, ngl sometimes even i struggle with understanding the code i write.

Attachment
0
i250882

turned out i am really bad with frontend, this took me 3 hours and its not synced yet.

Attachment
1

Comments

yousseifindx5
yousseifindx5 about 1 month ago

We all thank like that before, don’t worry, just continue😂♥️

i250882

update:

  • win condition is ready
  • meeting is kinda working

yap:
okay so, i rushed everything, used template win screens and some other stuff, buttt, i think the difficult part is over, now i just have to polish it.
I am thinking of just shipping it like this, because i have exams, if i ship now, i can relax and slowly work on new features later. I also dont want to spend time on maps/screens etc. because i may try to make it flavortown themed among us with different maps and cooking themed tasks, but i will do it after ship.

0
dhyan

Tagged your project as well cooked!

🔥 dhyan marked your project as well cooked! As a prize for your nicely cooked project, look out for a bonus prize in the mail :)

i250882

I am just wrapping up the project now(i have exams soon), getting it ready for ship, then i will polish and pay attention to detail, for now, there added this lazy view fog, will work on chat and meeting now.

Attachment
0
i250882

The imposter kill mechanic is almost done, will start working on voting system soon.

1

Comments

i250882
i250882 about 2 months ago

i just noticed that screen recording also recorded the spotify playing in the background, lmao

i250882

So the game is setting a random imposter on game start and there is a hitbox for the imposter to see if a player is near. Now i will start working kill mechanics.

0
i250882

updateeee, initially i had plans to implement a full tasks, sabotage and meeting systems and a lot of stuff, but as the code is getting a little complex, i am struggling a lot with minor problems, I have spent way too much time on just getting the imposter mechanics right, and its still not fixed, so i am planning on changing the goal, I will just get this imposter mechanics done and meeting system and ship, imma drop the tasks and sabotage system for now. Image is just a rough TODO list i have been using.

Attachment
0
i250882

Imposter mechanics are kinda done, but forget that, cuz i found out about UML Sequence Diagrams, and then i created a rough one for this project, and it helps a lot with debugging.

Attachment
0
i250882

update:

  • Improved UI of different areas
  • Added a lobby scene before actual game scene
  • Improved tileset map for collisions

next plan:

  • Add imposter selection and kill mechanics
0
i250882

I implemented maps, a smoother multiplayer and a lot of optimization of code. I know the scale and collisions are a bit off, I will polish it later. It was a bit sad that the time i spent on documentation and with chatgpt to understand how do add this tiledmaps wont be considered for cookies, but whatever, i think its coming out good for a first web game project.

0
i250882

i didnt work on the project during last couple of days, but last time i worked, i discovered the TODO comments on webstorm. So right now i have 7 of those comments scattered on my project, My goal for today will be to complete all 7 of them and then i will update here..

Attachment
1

Comments

i250882
i250882 about 2 months ago

update: i was able to finish all the pending tasks today, game working is pretty much the same but will start working on it tomorrow.

i250882

In my last log i said how i wanted to focus more on writing good code by defining types for parameters and variables, Yeah that is not going so well, in this image, rooms is not an Array. I should really learn typescript.

Attachment
0
i250882

Took this project as an opportunity to learn, I write very bad codes, so to get started with improving my written code, I just started using JSDocs and TypeScript checking. Liking it so far.

Attachment
0