I would like to know if you would rather use a voting system for game intermissions, or a random map/mode system and your reason behind it. Thank you!
Hmmm…it depends. I think I would like to use voting so players can decide what they want to play.
Voting because it allows players to vote on the map they want to play. It also makes players feel like they got some sort of control over the game, if you know what I mean lol.
Obviously, if it becomes a draw then random comes into play.
I guess you gotta use both.
I use a random map/mode system bc I don’t really know how to make a voting system in my current lobby, and it would require a slight rewrite of the games code
Depends, if it’s a minigame style game like epic minigames. I would suggest a random system. But if it’s a game like piggy or hide and seek I would do voting.
If you wanted to, you could also do random so it picks 3 different maps to vote on. But that might be hard.
Voting probably because it’s like the players can chose what they want to play and gives them a bit of control it could also make players stay with the game a bit longer because they can chose maps.
Say you just made a new really cool map then players can vote for it and explore it instead of waiting for it to be picked by your game.
Make a voting system, it gives the player a sense of feel that they are doing something to impact the game and it allows players to build better strategies for different maps.
It depends on the situation. If you want players to feel responsible for things not going their way, then a voting system would be optimal for your game. If you think players will be overwhelmed by the options, then a random selection system would be better than a voting system. If players are awarded for completing objectives on certain maps/modes, then you would want to add a voting system.
I would go with a voting system.
1 Your need to do a part to voting
Make a MapBoards model and do part.
2 Make a MapVotePads
Like Votepads and with code.
Script times
Your need to script this
local pads = script.Parent.MapVotePads
local mapBoards = script.Parent.MapBoards
local votingStatus = script.Parent.VotingStatus
local canVote = false
local maps = – For this foto
{
Map1 = 0, – Do your model ID
Map2 = 0, – Do your model ID
Map3 = 0, – Do your model ID
Map4 = 0, – Do your model ID
Map5 = 0, – Do your model ID
Map6 = 0, – Do your model ID
}
while true do
pads.MapVote1.Votes:ClearAllChildren()
pads.MapVote2.Votes:ClearAllChildren()
pads.MapVote3.Votes:ClearAllChildren()
pads.MapVote1.VotedGui.VotedAmount.Text = ""
pads.MapVote2.VotedGui.VotedAmount.Text = ""
pads.MapVote3.VotedGui.VotedAmount.Text = ""
mapBoards.Map1.MapGui.MapImage.ImageTransparency = 1
mapBoards.Map2.MapGui.MapImage.ImageTransparency = 1
mapBoards.Map3.MapGui.MapImage.ImageTransparency = 1
mapBoards.Map1.MapGui.MapName.Text = ""
mapBoards.Map2.MapGui.MapName.Text = ""
mapBoards.Map3.MapGui.MapName.Text = ""
for i = 5, 0, -1 do
votingStatus.StatusGui.Status.Text = "Voting will begin in " .. i .. " seconds"
wait(1)
end
votingStatus.StatusGui.Status.Text = "Vote for the map"
local keysTable = {}
for key, value in pairs(maps) do
table.insert(keysTable, key)
end
local randomKey1 = keysTable[math.random(#keysTable)]
local mapChosen1 = maps[randomKey1]
local randomKey2, mapChosen2
repeat
randomKey2 = keysTable[math.random(#keysTable)]
mapChosen2 = maps[randomKey2]
until mapChosen2 ~= mapChosen1
local randomKey3, mapChosen3
repeat
randomKey3 = keysTable[math.random(#keysTable)]
mapChosen3 = maps[randomKey3]
until mapChosen3 ~= mapChosen1 and mapChosen3 ~= mapChosen2
mapBoards.Map1.MapGui.MapImage.ImageTransparency = 0
mapBoards.Map2.MapGui.MapImage.ImageTransparency = 0
mapBoards.Map3.MapGui.MapImage.ImageTransparency = 0
mapBoards.Map1.MapGui.MapImage.Image = "rbxassetid://" .. mapChosen1
mapBoards.Map2.MapGui.MapImage.Image = "rbxassetid://" .. mapChosen2
mapBoards.Map3.MapGui.MapImage.Image = "rbxassetid://" .. mapChosen3
mapBoards.Map1.MapGui.MapName.Text = randomKey1
mapBoards.Map2.MapGui.MapName.Text = randomKey2
mapBoards.Map3.MapGui.MapName.Text = randomKey3
pads.MapVote1.VotedGui.VotedAmount.Text = "0"
pads.MapVote2.VotedGui.VotedAmount.Text = "0"
pads.MapVote3.VotedGui.VotedAmount.Text = "0"
canVote = true
local function onPadTouched(touch, pad)
if not canVote then return end
if game.Players:GetPlayerFromCharacter(touch.Parent) then
if pads.MapVote1.Votes:FindFirstChild(game.Players:GetPlayerFromCharacter(touch.Parent).Name) then
pads.MapVote1.Votes[game.Players:GetPlayerFromCharacter(touch.Parent).Name]:Destroy()
end
if pads.MapVote2.Votes:FindFirstChild(game.Players:GetPlayerFromCharacter(touch.Parent).Name) then
pads.MapVote2.Votes[game.Players:GetPlayerFromCharacter(touch.Parent).Name]:Destroy()
end
if pads.MapVote3.Votes:FindFirstChild(game.Players:GetPlayerFromCharacter(touch.Parent).Name) then
pads.MapVote3.Votes[game.Players:GetPlayerFromCharacter(touch.Parent).Name]:Destroy()
end
local touchVal = Instance.new("StringValue")
touchVal.Name = game.Players:GetPlayerFromCharacter(touch.Parent).Name
touchVal.Parent = pad.Votes
pads.MapVote1.VotedGui.VotedAmount.Text = #pads.MapVote1.Votes:GetChildren()
pads.MapVote2.VotedGui.VotedAmount.Text = #pads.MapVote2.Votes:GetChildren()
pads.MapVote3.VotedGui.VotedAmount.Text = #pads.MapVote3.Votes:GetChildren()
end
end
pads.MapVote1.Touched:Connect(function(touch)
onPadTouched(touch, pads.MapVote1)
end)
pads.MapVote2.Touched:Connect(function(touch)
onPadTouched(touch, pads.MapVote2)
end)
pads.MapVote3.Touched:Connect(function(touch)
onPadTouched(touch, pads.MapVote3)
end)
wait(10)
canVote = false
local highestVoted
for i, pad in pairs(pads:GetChildren()) do
if not highestVoted then highestVoted = pad end
if #pad.Votes:GetChildren() > #highestVoted.Votes:GetChildren() then
highestVoted = pad
elseif #pad.Votes:GetChildren() == #highestVoted.Votes:GetChildren() then
local mapsToChoose = {pad, highestVoted}
highestVoted = mapsToChoose[math.random(#mapsToChoose)]
end
end
local mapName = mapBoards["Map" .. string.gsub(highestVoted.Name, "MapVote", "")].MapGui.MapName.Text
votingStatus.StatusGui.Status.Text = mapName .. " has been voted"
wait(5)
end
If don’t work me work all script.
I think the players should decide because in a good amount of games there’s just that one map that some people don’t like or that one good map that everyone likes. So I would say let the players choose so they can possibly enjoy the game a little bit better.
He din’t asked for an map chosing system. But anyways, map chosing system is the best in my opinion.
Personally, voting systems help with game interaction and gives the players a certain responsibility of choosing how they play. You can also monetize it more than a randomly picked map, by using an extra vote developer product or something like that in your system. But, it depends on the game flow / genre of how you want your map system to be.
Each option has its pros and cons
Pros on the map voting system
- The community has a saying on what the next map is, thus enforcing user participation.
- Many people just leave the game because they play on a map they do not like.
- It puts in the mind frame of choosing a map wisely and weigh the pro and cons of each map.
Cons on the map voting system
- It can be abused easily by people who target specific maps for a reason.
I just thought that you should maybe have every time they switch so one round it’s random and one round you pick.
voting system can get exploited i think.
That is the exact same thing with a random map system. With voting system, the players at least have a higher chance at getting to play a map they like.
Lastly, you outlined the pros and cons for map voting but not for random map system.
I would outline both tbh.
Hi NoobTesterAccount,
I would go for a voting system for game intermissions. The players can make decisions and won’t be bored during intermissions.
Good luck with building!
Sven
It’s not a map it’s for voting.
Voting. People are giving all these reasons that don’t make sense, so I just want to set the record straight.
I’m literally going to take the U.S election as an example. Imagine if instead of everybody getting to vote, who was president was decided with a 4 out of 7 coin flip. This means that your experience for the next four years in the United States is judged with the flip of a coin.
But naturally, the U.S does not do that. Instead they host elections. It’s not a guarantee that the results would satisfy you, but you had your voice heard, and I feel that is the most valuable thing about any democratic country.
Same thing for games, but just on a lesser scale. When you allow players to vote, your voice gets heard. And @Kostiskat made a great point here:
Well, you actually have a defense. Ready for another election metaphor?
Most countries have a term system, where a ruler can serve a for a limited amount of terms, and then they can’t run next election. However, they can still run after that.
You can do the same thing here. If a map gets voted, remove it out of rotation for awhile. This will stop a map from being voted for over and over and over.