ftwinston / robotinterrogation Goto Github PK
View Code? Open in Web Editor NEWWeb app for playing Inhuman Conditions
Home Page: http://interrogation.ftwinston.com
Web app for playing Inhuman Conditions
Home Page: http://interrogation.ftwinston.com
These are available here: https://robots.management
Need to determine all the differences between these and the "main" rules, and then decide on the best approach.
This will presumably be:
I expect we would end up using the third option.
This advanced rule (which gives the suspect no background, as they instead play themselves) should be an option when starting a game.
Should point to robots.management rather than an outdated dropbox URL
We need a settings menu that allows players to set things like their name. It should be accessible at any time. I imagine having something like a gear icon the pops up a drop down or a box on top of whatever else is being displayed. I think it could be implemented fairly easily.
Going to the url https://interrogation.ftwinston.com/ returns a ERR_NAME_NOT_RESOLVED
.NET 5 is replacing .NET Core
See: What's new in .NET 5
They should only win if they kill the interviewer
Made my own dark mode. This can be loaded in Stylish. Maybe it can be integrated in the app itself at some point.
https://userstyles.org/styles/226858/darkmode-interrogation-ftwinston-com
@-moz-document url-prefix("https://interrogation.ftwinston.com") {
:root {
--bg: rgb(34, 33, 41);
--yellow: rgb(255, 168, 106);
--white: #bbb;
--grey: #555;
--blue: #566cc3;
--darken: #0004;
}
* {
font-family: monospace !important;
}
body {
background: var(--bg);
}
div, span, button, p {
color:var(--white) !important;
border-color:var(--white) !important;
}
a {
color:var(--yellow) !important;
text-decoration-color:var(--yellow) !important;
border-color:var(--blue) !important;
}
.MuiButton-outlinedPrimary {
border-color:var(--yellow) !important;
}
h1, h2, h3, h4, h5, h6, h7 {
color:var(--yellow) !important;
}
.MuiTouchRipple-child {
background-color: var(--yellow) !important;
}
.MuiListItem-button:hover {
background-color: var(--darken) !important;
}
.MuiPaper-root {
background-color: var(--darken) !important;
}
.MuiPopover-paper {
background-color: var(--bg) !important;
border-color: var(--yellow) !important;
border-width: 1px !important;
border-style: solid !important;
}
.MuiTypography-colorTextSecondary {
color: var(--blue) !important;
}
.MuiCard-root .MuiTypography-colorTextSecondary:nth-child(2) {
color:var(--grey) !important;
}
.MuiFab-primary {
background-color:var(--blue);
}
.interference__cell--westBorder {
border-left-color: var(--blue);
}
.interference__cell--southBorder {
border-bottom-color: var(--blue);
}
.interference__cell--eastBorder {
border-right-color: var(--blue);
}
.interference__cell--northBorder {
border-top-color: var(--blue);
}
.interference {
color:var(--yellow) !important;
}
}
This advanced rule (which adds an additional penalty card) should be an option that can be enabled when starting a game.
Hello @FTWinston, I would like to localize this game to Turkish. But I'm not a code friendly person :) You can email me for details! [email protected]
This is a change in the retail rules, previously the interviewer could record either result at any time in the interviewer.
This should change so they can only record the suspect as being a robot, until the interview time has elapsed. IMO the Suspect in Human button should be disabled until the timer expires (and we probably need to tweak the CSS to make disabled buttons look more obvious), and the server shouldn't accept a "suspect is human" result until the time has expired.
Should implement UI for this advanced rule.
Several changes have been made to the game since this app was last updated.
Need to investigate what they all are and determine how to implement them in this app.
The flow for selecting an inducer (*robot/human) is a bit wonky now since you only get one to choose from, ideally that would just assign you an inducer and not make you click on the single option you get.
I'm not sure why this happens for me while on chrome on windows. I've not had this issue using chrome on my phone. As soon as I follow the link for a game or try to host a game in the browser, it disconnects and posts the text:
"You have disconnected from the interview.
Check your internet connection."
Selecting the first or second item works fine, but selecting the third item actually selects the second.
The "mazes" (and corresponding calibration guides and answer keys ... which could be combined) should be added.
These could potentially be randomly generated, but the base game just has one per module; that would suffice.
Need to confirm if we're OK to take the images directly from the print-and-play (iirc the licensing would support this) or if we need to reimplement them.
Instead of having the whole game run through the .NET server, it would be much more scalable if it used webRTC to connect clients directly to each other.
This would be much more scalable, but would be a significant architectural change.
Once they've got the module's prompts, but before they start the timer, allow these to be rearranged. Up/down arrows are probably the most mobile-friendly option.
Would be cool to integrate something like Google analytics and see info about who's using it. With Google analytics, I think you can even add events like packet choice and game outcome.
I'd like to have multiple spectators able to see the game state (at the very least, the suspect's role card)
This needs done for both the app itself and the interview packets.
It may make sense to do these separately (i.e. the app through react-i18next and the packets in separate json files per language).
Now that #30 is in, it's not obvious that there is support for spectators.
PositionSelection and InterviewerPositionSelection ought to indicate that the link can be shared to allow a spectator.
Note that the configured max players of 3 means that only one spectator can join: subsequent joiners will be redirected away from the game.
I would like to have a game lobby that shows all players and allows them to choose if they want to be the interviewer or suspect in the next interview. This game lobby would replace the existing confirm/swap positions view.
Having a game lobby that lists all the players will require each player to have a name. Eventually, it would be nice to allow each player to set their own name but if that is not in place before this, I propose we generate random names in a similar way to how the interview IDs are generated. We can have two lists, first names and last names. One of each can be chosen at random and then the result is checked to make sure it is unique for that specific lobby. If a collision occurs, I think we should only reroll the first name because that will increase the likelihood that two players will share the same last name which I think would create some interesting banter.
The player that creates the game will be the initial owner of the lobby. They should be able to pass ownership to another player through the game lobby interface. The owner will have the ability to lock the lobby with a password and set custom settings for the lobby/interview.
I propose we start with at least these settings.
Giving users a link and telling them not to click it is asking for trouble.
Instead this should be a readonly input with a "copy link" button.
Several changes have been made to the game since this app was last updated.
Need to investigate what they all are and determine how to implement them in this app.
The web app works well. Looking here at the source code, I don't see permission granted under a free-software license; is that deliberate?
For a web app it would be great to ensure the project remains free software for everyone, by granting everyone the Affero General Public License; this combines to create the strongest protection for the copyright holders and the users of the code.
Thanks in advance for granting us a free license to this software.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.