Welcome back to another guide! Today, we’ll be recreating Clue!
Are you editing?
Do NOT check for fun. Any suggestions you have should be commented down below for my authorization.
WIKI EDITING RULES
Click
Please don’t make any of the edits violate the TOS or FAQ, remember, anyone can see who edits a wiki and what part they edit.
Please be responsible!
Everyone, please don’t edit when it is being edited.
Ask before editing and tell me what you’re going to add.
Add yourself to the credits if you edited it and added something.
Don’t make credits using @ since you can only do that 10 times in a post.
This guide is based off of a certain type of Clue game, if you want a different version, please use this as a backbone to help you tweak this to your liking.
May contain bugs; if found please report
Now, the usual, our goal, breaking down the steps, and getting straight into it!
Dictionary:
- HH; Helpful Hydra
Important explanations that either explain the task in more detail, or mentions materials we’ll use at the start of the step.
Our Goal and How We’ll Achieve It
We’ll try to recreate Clue, along with very important features.
- Mystery Cards
The system has to pick 3 cards and set them aside as the goal for the players to work towards. - Board and Suspects List
This is more artistic, but the suspect list will play important parts such as suggestions and accusations. - Step Count
We’ll make dice and use triggers and barriers to recreate our steps! - Entering Rooms
When we enter any room, we’ll want to make 2 buttons available.
1. Suggestions
We’ll want our player to pick a room, weapon, and room, and have the turns circulate until one of the players can show them a card proving their suggestion false.
2. Accusations
When our players are sure of the suspect, weapon, and room, we want them to accuse to win the game! We also want to make sure that if they are wrong, the player is removed from the game, and the turns can continue with ease.
(I didn’t mention dealing cards, because I already have a guide on it!)
Now, our first step is to deal out the Mystery Cards.
Dealing The Mystery Cards
HH
- We’ll use properties as our cards.
- Along with a trigger using block code that will randomize a number to be picked as our Mystery Card
First, we’ll want to make our cards, and to do this, we’ll use properties! You’ll want about 21 cards in total, but, since this is your first time making this, you can pick less whenever we go through debug sections on our system.
Now, if you are feeling adventurous, you’ll want to name your properties Card1, Card2, Card3 and so on until you reach Card21, this is for concatenation purposes when we randomize the numbers to pick our mystery cards.
- Card1 - Card6 will be the suspect cards
- Card7 - Card12 will be the weapon cards
- Card13 - Card21 will be the room cards.
The properties will be set to text, and the default text is item they are holding. (e.g Card1 is for Mrs. White, so the default value will be “Mrs. White”)
You’ll also want to make our Mystery Card Properties, these will hold the randomized cards, make sure to make it a number and don’t give it a default value.
Now, the next step is to make a trigger. There are many different ways it can be triggered, you can:
- Activate it on Game Start
- Trigger it using a button
- Use any other device and wire or broadcast to activate it
If you use these 2 options, then I would suggest putting a max number of triggers, or deactivate the device after use, because then the mystery cards will override the previous chosen ones.
In the “When Triggered” section, use this code.
Now, what does this all mean?
Note: the ‘card’ is meant to be ‘Card’, so please make sure don’t make this mistake.
So, we randomize a number between each section and make it the value of those properties. Meaning that for the suspects, it goes in MysteryCard1, since the numbers randomized are between 1 and 6. Then, we set the card we chose, i.e Card1, to Claimed, so that we won’t draw it again. We use the Convert Number To Text block because numbers and text cannot be mixed together, meaning that we need to convert one to the other for it to work.
Dealing The Cards
I won’t necessarily explain this part, since I already have the guide made.
These are the sections you need to pay attention to:
- Drawing Cards
While you won’t necessarily draw a card, it has a connection to Dealing Cards - Dealing Cards
Really important, you need to deal out the cards in the beginning of the game. - Turns
Since there will be more than 1 player, you’ll need to read the part for the turns of the game. - Cards In Hand
Since there’ll be 18 cards leftover, and if you use the least amount of players, 3, make 6 text boxes. If you use 4 players, just keep those extra text-boxes even though they won’t be used.
(Make sure to read the Reshuffling Deck part for ‘backup properties’, we will use them.
Anything else I missed you can probably use common sense to see if that concept will be used in Clue, if you’re not sure, read the manual.
Movement
This is a very big section, since we will have a couple different systems to design.
- Dice
We need to randomize our steps when moving around. - Step Locking
Once you reach the required steps, you have to stop moving. - Room Detection System
When we enter a room, we want to be able to make:
Suggestions: We want the player to pick a suspect and weapon (the room is the room they are already in, so we can automatically have the game add that), move the player and weapon to that area, and we’ll also make the system where players will try to ‘prove’ the suggestion is false.
Accusations: The winning part of the system, guess right when compared with the Mystery Cards, immediate win! Incorrect accusation, say hi to Spectator Mode!
Part 1: Dice
The easiest section of the Movements, we’ll make a dice that will help us move around the board!
HH
- Property to keep track of how far we can go
- A trigger for all the calculations along with block code to randomize a number and update the property.
- Some device that is pressed or activated to roll the dice
The first thing we need to do is make a property. Name it AvailableSteps. Make it a number property and have it set to 0.
Then, get a button and wire it to a trigger. Make a block code in the trigger with this in it.
Very simple, right? Just randomize a number between 1 - 6 and update the property as that.
Now, for reducing the number of steps.
For the board, place down a barrier that overtakes the entire board, no border and 0% transparency. That barrier is deactivated when the button I explained above is clicked. Add triggers on each tile (excluding the rooms), now this is a lot of work, but all of the triggers will broadcast on ReduceStep which will go to a different trigger that will have this code in it.
If (get property: AvailableSteps = 0) {
broadcast message on channel: OutOfSteps
} else {
Set property: AvailableSteps;
Set value: AvailableSteps - 1;
}
What this does is that when you go on a trigger, it will check if you still have some steps, if you do, it’ll let you through while reducing your steps by 1, if not, it broadcasts on a channel OutOfSteps, which activates the barrier. Make sure the barrier scope is set to player, so while the barrier is activated for one player, it will be deactivated for another during their turn.
The reason I didn’t add this code to each of the triggers is because the memory for blocks is 500! That’s a lot, and with a lot of triggers, that would be a waste of memory, so instead, we broadcast on a channel for all the triggers to 1 trigger that does the code, since they all run the same function.
Part 2: Rooms
HH
- Zone for each room (9)
- Overlays (2)
The rooms are relatively easy, you’ll want to put a zone in each and every room, and wire them to an overlay, this overlay is going to be our suggestion. Wire the zone to the overlay like this:
player enters zone -> show overlay
Make sure it is not visible on game start and both scopes are set to player. Now, in the Transmit when clicked section, type ActivateCardButtons. Now, what this will do is that it will activate some buttons in which we’ll click to choose our suspect, weapons, and rooms. But where are these buttons? That’s what we’ll get into right now
Part 3: Suspect Paper
Now, in Clue, you would get a piece of paper, all your possible suspects, weapons and rooms in the paper. Now, let’s recreate it!
HH
- Barriers
- Text
- Buttons
- Triggers
- Line (any straight prop like a pole)
First, we’ll get a barrier, and make it white, this will be the ‘paper’ of what we’ll be making, everything else will be in it, so adjust the height and width as needed.
Then, we’ll get 21 buttons and place them on the barrier to it’s right (make sure they are not activated on game start) Then wire a trigger to each button (1 trigger for 1 button), we’ll put code in the trigger later. Then, place a text right next to the button. The text will be one of the cards, like Mrs. White for the suspect, the rope as the weapon, or the ball as the room. Separate each section using a pole, or use text and underscore to separate it, you could also instead put a text stating the next section of the cards. If you wanted to go even further, you could make a check-square with a zone over it so when you go over it, a appears, if you wanted a clean way of knowing which of the cards you’ve already ruled out.
Here’s an example of what the list would look like.
Part 4: Suggestion
Now, remember that trigger we made that connects to the button of the suspect paper? That trigger will run our suggestion and accusation, to do this, we will use a property to determine which part it should run. Make a property called Suggestion+Accusation. Now, there are a couple different ways to do this, you could use a counter that updates the property when you click the Suggestion button, that determines if it’s a suggestion or accusation, you could also wire a trigger with the suggestion and accusation button to change the property value. The choice is yours! Once you’ve chosen your preferred way to update the property, you’ll want to make an if statement. The if will check if the property is a Suggestion, or Accusation.
In the suggestion overlay, you’ll want to broadcast on suggestionButtonsActivated. This broadcast is received by those buttons from the suspect list. Now, make 3 properties, called SugAcc1, SugAcc2, and SugAcc3. Make them text properties and don’t give them a default value. These properties will help us build our guests or answers. Then, make another property called SugAccSentence, this is where we’ll make our sentences for everybody to hear. In the suggestion part of the if statement, write this code.
If (get property Suggestioon+Accusation = true)
then
set SugAcc1 to "Mr.White"
Now, each SugAcc property is related to one section, SugAcc1 is for suspects, SugAcc2 are weapons, and SugAcc3 is for the rooms. The value will be the text, for example, if the text was Mrs. White, then the SugAcc1’s value would be Mrs. White, you get what I’m saying? Now keep doing this for the other buttons.
Now, our rooms will be different, while they will work the same way, they will also broadcast on a channel, this is to form our statement so that everybody knows what the suggestion is.
For the room, along with the regular code, add FormSugAccSentence to be broadcasted, then, make a notification or pop-up that receives on this channel. (We will use block code, so still in the editable options of the device, still have it open on FormSugAccSentence).
If you’ve read my Template Literal’s post, you’ll know how to do this, if not, don’t worry! I will help you make it! In the block code, put this in it. (I used a notification as my device)
Send notification
Set title set text "Suggestion Made"!
Set content set text
item 1: get players name
item 2: set text " has suggested that"
item 3: get property SugAcc1
item 4: " used a"
item 5: get property SugAcc2
item 6: " in the"
item 7: get property
Wow! What does that all mean! Well, if SugAcc1 was Mrs. White, SugAcc2 was the rope, and SugAcc3 was the ballroom, our text would look like this!
Suggestion Made!
Toothless has suggested that Mrs. White used a rope in the ballroom"
We’ve made our suggestion!
Part 5: Disproving the suggestion
In this step, if you’ve already made the drawing card system (which I gave the guide for), you’ll want to wire a button to a wire, to each text box that makes the card (make the button deactivated on game start). Now, the goal of these buttons is that if the player has a card suggested by the suggestionist (a person who made the suggestion), then they’ll want to show it to them to disprove the suggestion. We’ll also want to make a pass button, if the player cannot disprove the suggestion.To do this, we’ll make a property called ChosenSuggestion, when the suggestion overlay is clicked, you’ll want to add
set property: ChosenSuggestion
set value: get property currentPlayerTurn
So, if the currentPlayerTurn is set to 2 (the player’s turn currently), then the property we just made will be equal to it. Now, we’ll only want the suggestionist to be able to see the card given, so we’ll have to make it so that only that player can receive it. Make another property called TurnDisproving. This will help turn the players when disproving the suggestion. Now, when the button is clicked, we want the button to get the backup property of each card, and broadcast it to the player. Get a text box, this text box will change based on the card given, you’ll also want to get a barrier and set it around the text box. Set both scopes to player and have it activated on game start, grab a button and wire it to the barrier Button Clicked → Deactivate Barrier, now you’ll be the only one who can read it! Make another property called Disproved Card, this is the card you’ll give to the player to prove that their suggestion is incorrect. Now, in each trigger, we’ll want to put this code in.
Set property: DisprovedCard
Set value: get property backupCard#
broadcast message on channel: set text:
item 1: CardChosen
item 2: convertNumbersToText: get property: ChosenSuggestion
The backupCard# is each of the backup card properties for each player, the annoying part is that this is might be painstaking to change each of the triggers for each of the backup-property cards. We combined the broadcast because not everyone is going to get CardChosen, for if they did, everyone would still see it, and that kinda defeats the whole purpose. That text box I mentioned? Yeah, in the ‘when receiving on channel’ part, put the broadcast in it. Then, in the text box, put this code in.
Set text: get property: Disproved Text
Now, when someone clicks the button, they’ll send the text to the suggestionist, and only they will receive it.
Now we need to make the ‘pass’ button and have it end when all the players round. To do this, I hope I mentioned that you needed to make an extra button for each player, if not, add it! Make a porperty called FullRotation, make it a number and set it to 0. The goal is to have the buttons rotate. So in the ‘transmit when clicked’, put the next number. For example, if player 1 passed, then it would broadcast on 2, which would activate player 2’s button, but would deactivate their own. Make sure you also use this when someone clicks a button to disprove the suggestion. For the last player (let’s say player 4), just have it broadcast on 4, so it would knock out it’s own buttons.
Accusations
This will work virtually the same as suggestion, when you click the overlay, it will change the Suggestion+Accusation to the value for the accusation. The code will be virtually the same in the suspect trigger just like the suggestion, also with that small change in code for ending the Accusation. The change is that we’ll broadcast on a chanel called CompareCards. Make a trigger that triggers on this broadcast. In the code, we’ll want to make an if-statement that basically says.
If get property SugAcc1 = MysteryCard1 and SugAcc2 = MysteryCard2 and SugAcc3 = MysteryCard3
then
broadcast message on channel YouGotIt!
else
broadcast message on channel YourOut!
The YouGotIt! channel will be received by an endgame device, which will end the game on the chanell.
The YourOut! channel will be received by a team switcher, which will change the player to a spectator.
And that’s it! You just read a guide on how to recreate Clue! I hope you enjoyed this guide, I’ll probably start making my next one, until then, King of Dragons with another guide!