The Bug Among Us banner

The Bug Among Us

22 devlogs
26h 26m 41s

Among Us for programmers. Fix the bugs as fast as you can and try to catch the ones sabotaging the code.

This project uses AI

Used ChatGPT and Github Copilot for debugging and helping with the styling. Also, I did use ChatGPT to help with some of the README (ASCII generation)

Demo Repository

Loading README...

Minh Nguyen

Shipped this project!

This is version 2, I’ve added all the suggested feedbacks including auto detect if the bug is fixed. Also, I’ve added a winning screen and a guide for users to complete the tasks

Minh Nguyen

I’ve added “run code” for the users to check if they have fixed the bugs yet. Also, there is a read only guide that players (civillians) can use as a reference and helper in completing the tasks

Attachment
0
Minh Nguyen

Winning screen! Civilians win if there are no sabotagers, sabotagers win if there are no civilians. I know, I know, I should have put it as if sabotager = civilians, sabotager win. But users can’t test it if I put it as that

Attachment
0
Minh Nguyen

Shipped this project!

Hours: 5.5
Cookies: 🍪 120
Multiplier: 21.91 cookies/hr

I’ve used Liveblocks to allow users to see what other players are doing (where their cursors are or what they are editing). Also, I fixed some bugs regarding the vote category

Minh Nguyen

I’ve used Liveblocks to implement real time players’ cursor. Now, you can see what others are doing! The cursor matches the color of the players too

Attachment
0
Minh Nguyen

The routes are now protected. Took quite a long time to figure how to redirect the players to the current page if they try to go to another page. I try to implement liveblocks to see other players’ cursors but it won’t work

Attachment
0
Minh Nguyen

I’ve made the emergency button working now. Finally (fr this time) completed v1.0

Attachment
0
Minh Nguyen

Shipped this project!

Hours: 19.13
Cookies: 🍪 133
Multiplier: 6.93 cookies/hr

Among Us For Coders! It’s like an among us game with voted players, … but the gameplay is editing code. This is just the v1.0 as it’s not perfect yet, I need to update some functions and protect the route. It’s kinda slow rn so I’ll optimize for speed in the next version. I’m proud of the amount of dedication I put forward to complete this project. Everything was new for me, from socket.id, to yjs and monaco for the editor, …. It was a great learning experience and I’ll vow to improve the gameplay and make this the best possible!

Minh Nguyen

Last fixes to deploy the app in railway.v1.0 is done! The routes are not protected yet though. I’ll fixed route protection and optimize the website for speed in v2.0

Attachment
0
Minh Nguyen

Implement the tasks for civillians and sabotagers. V1 is now complete. This is not completely finished yet as there is still some bugs that I need to fix and functions that I need to implement for better gameplay

P.S: The emergency button is not working yet 🙏

Attachment
0
Minh Nguyen

Loaded the voted category into the editor. Each category has a different code file. Also added some loading states for better UX:)

Attachment
0
Minh Nguyen

Refrain players from voting themselves, and show if eliminated player is the sabotager or not in the elimination page. If skip votes = highest voted player => no one is eliminated. If 2 players have the same amount of votes, no one is eliminated

Attachment
0
Minh Nguyen

Finally completed player voting system (tried to do it in last devlog). It works!!

Attachment
0
Minh Nguyen

I changed the socket.id to playerId so that I can later sync the players to server, which can avoid bugs like 1 player can vote multiple time. Well, I messed up pretty badly and has to revert the git commit for like 3 times before I got it right, ts so painful to do T.T

Attachment
0
Minh Nguyen

completed the real time chat! Now, players can chat with each other inside the room

Attachment
0
Minh Nguyen

Completed the basic UI of the discussion page and I’ve assigned each player a color (later will be important for the chat). The routes are not protected yet tho, so yes, you can see me going through routes in the website. I’ll fix this at the end when the game is finished.

Attachment
0
Minh Nguyen

I’ve designed the basic structures of the discussion page. Now, when the timer ends, they will switch pages and the round increment. After 4/4 players move back to lobby. I tried to tackle the templates of codes for players to edit but end up failing miserably =(. I’ll probably tackle it again in next update, or maybe not ;-;

Attachment
0
Minh Nguyen

I’ve completed the basic structure of the code editor, now players can edit and it will display the real time edit of other players! Also, when the timer end, the players will be moved to the discussion page (I also styled the timer to make it appear as a warning when timer is leass than 10s =>. Overall, everything is moving smoothly as planned.

Attachment
0
Minh Nguyen

I’ve completed the basic structures of the gameplay page. Working role assigning, timer for each round, and the basic UI. Also debug some of the small errors too

Attachment
1

Comments

tunnor
tunnor 20 days ago

This is such a cool idea! Good luck and happy coding!

Minh Nguyen

Completed role assigning, pretty simple really. Next come the difficult part 🥲

Attachment
Attachment
0
Minh Nguyen

Finished voting category section. The votes are real time data, I also included a loading screen. I’m gonna add a role assigning function after voting (before the loading screen). There’ll be 2 roles, Civilians and Sabotagers.

Attachment
0
Minh Nguyen

Complete lobby page: players inside room, share room code, better UI and UX, toggle to “vote” page when all players are ready. I also built the basic structures of the voting page, won’t do anything yet tho.

Attachment
0
Minh Nguyen

Better UI and UX (clearer bg, popup for name, detect if there is no name, close popup, …)

Attachment
0
Minh Nguyen

Improve the UI a bit and implement socket.io to make the game multiplayer. Next step is gonna be the gameplay:)

Attachment
0
Minh Nguyen

Set up the basic structures and pages of the game, can create a room with different IDs now

Attachment
0