[GAME] *ROOMS* Among Us *ALPHA*
After testing this game 100 times to make sure it's fair, I present to you: Among us ALPHA!
This is Among Us ALPHA, which is based on the game Among Us. You are in a ship, and there are other humans beside you. Some humans are imposters, and some are crewmates. The imposters goal is to kill all the crewmates, and the crewmates goal is to complete all the tasks.
TESTING - Started the game
ALPHA - Made rooms and more fixes
In the ALPHA update, I implemented rooms, so you can now go into different rooms. The map is based on The Skeld, but I got rid of some rooms that I didn't need for this update. I also added a few more tasks, and fixed the bug where you could go into the negatives.
I also made the bots smarter, in the way that if you kill someone and some other bot sees you, your suspicion level will go up, which will effect how often the bots will vote for you in a meeting.
BETA - (working on)
The BETA update will probably be the last testing update, where the game stays in the terminal. I'm going to add the ability to sabotage and the ability to observe. After this update is released, you probably won't here from me much, but I will be posting some of the work I have done, in preparation for the graphics update (note that this is still terminal graphics)
None yet, so please comment below if you find something interesting!
Here are some common questions that one might ask.
What Do I Plan To Add?
I'll be going in detail for the updates I plan to add.
More tasks (partially completed)
I'm thinking on how I should add more tasks. It would be very nice if you guys could give me some tasks that I could possibly use.
Chatting/Votting System with AI
For the voting system, I'm planning to had a chat with bots. You can chat with the bots, and the bots might respond to you. Based on what bots type, it will influence the choice of who the bots will vote for. For example, a possible conversation could be (sus means suspicious)
You (Cyan): I think red sus, since I think red vented
Green: Yea red sus
Blue: I'm thinking cyan sus
You (Cyan): why would you think that?
You (Cyan): bruh
You (Cyan) voted
NO ONE WAS EJECTED
More abilities for the imposter (venting complete)
Sabotage will be implemented soon. For now, the only sabotage I know is sabatoging the lights, so I'm thinking when the lights are sabotaged, you cannot move do anything except wait for the instructions to somehow fix the lights. Please comment on what other types of sabotage I could implement!
Graphics will be implemented as terminal graphics. :)
Halp, the terminal just freezes! Is this a bug?
No, this is not a bug. It is related to your internet connection. Rerun, reload, reconnect to internet, and if those steps don't work, ... I don't know how to help.
Thanks to Coder100, fuzzyastrocat, heyimmarcus, and InvisibleMan for responding to my questions in repl.it ask. I really appreciate their efforts to look through the questions on repl.it ask and answer them.
If you want a glimpse of how the game without running it, here is it! You can also find some of the strategy here.
That's how the game starts. For being crewmate, you can walk around and complete tasks. There are 2 main strategies: complete all tasks or search for imposter in admin.
Completing all tasks is a pretty solid way of winning as crewmate. The only problem with this is if you move around a lot, the imposter has a greater chance of killing you.
When you are in the admin room, you have the ability to see the full map and who is in each room. You can also take a look at the tasks that were completed, and keeping in mind that imposters can't complete tasks, you can use the process of elimination to find the imposter, and eject them with an emergency meeting.
This strategy actually works if you don't believe me, shown in the following screenshot is me ejecting the correct imposter.
So what happened here, was someone got killed in the cafeteria right in the beginning, but since I was moving to admin, I couldn't find out who did it. I wasn't paying attention and someone else got killed. I confirmed blue weren't the imposter, since I saw him doing tasks. I think I saw cyan vent from storage to navigation, so I tried to eject cyan, but there was a tie (no one was ejected) I started paying more attention to cyan's action, and when I saw cyan kill magenta, I tried to eject cyan, and I won!
Being imposter is one of the more fun parts of this game, since there is a lot more action going on. Note that you have a suspicion level. If someone sees you vent, your suspicion level will go up and people will more likely vote for you. If someone sees you kill, your suspicion level will go up.
You also have a kill cooldown, so you can't just kill everyone really quickly. For being imposter, my strategy is to go to admin first and look for loners (people that are by themselves), and then quickly vent to a room close to the loner, and then kill them.
Using that strategy, I obtained a pretty quick victory.
Thanks for viewing this project! Hope you have a good day!
I feel like the strategy for an imposter is to host a meeting right after you kill someone so you can eject another person.
Why the console? I'm going to make this entire thing with multiplayer functionality online!!! Yay! Thanks for the idea!
@RohilPatel The only problem with doing it online is keeping a server open to host with. Even if people run the rooms on their own computers you need a central server to show people rooms. You could just have people connect to IPs directly, but before you know it, the whole system is very complicated. I've thought this over, and the best way to do it is to use algorithms witha little randomness to make them more human. I'm currently working on a version with full PyGame graphics and I considered doing online but it leads to complications. If you have the money buy a domain and host a server, but otherwise I wouldn't recommend online.
The only problem with doing it online is keeping a server open to host with. Even if people run the rooms on their own computers you need a central server to show people rooms. You could just have people connect to IPs directly, but before you know it, the whole system is very complicated. I've thought this over, and the best way to do it is to use algorithms witha little randomness to make them more human. I'm currently working on a version with full PyGame graphics and I considered doing online but it leads to complications. If you have the money buy a domain and host a server, but otherwise I wouldn't recommend online.
Easy fix! Just use websockets!
Might want to do some more input checking. Great game!
Traceback (most recent call last): File "main.py", line 291, in <module> main() File "main.py", line 40, in main single_player() File "main.py", line 113, in single_player crewmate_action = crewmate.display_actions(character_colour,rooms,rooms_tasks) File "/home/runner/xTSD0z5DZNl/crewmate.py", line 42, in display_actions if int(action) in actions: ValueError: invalid literal for int() with base 10: 'w'