Hey, so I play a game called Mafia with some people over voice chat. Without a long boring explanation of the game, it's a social game, the idea is that all the people playing are in a town with a few mafia in them. Each character has a role to play and players vote for a person to lynch that they think is guilty each day. More explanation: [url]http://en.wikipedia.org/wiki/Mafia_(party_game[/url])
Anyway, currently we use a simple steam chat room currently in addition to steam chat for private communications. I've been wanting to put together a small program to make this communication easier. Basically, what would be needed:
-Needs to support at most 20 people
-Have one person moderating who will manage players and shit like that.
-Simple chat system
-Maintain a list of live players
-Countdown timer that will be synchronized among all the connected people
-Able to trigger a vote:
---When the timer runs out, vote automatically triggered
---If first vote (majority) has no result, timer will restart with slightly less time and start counting down again
---Votes are then tallied by plurality (most votes wins)
---Voted for player removed from live players list.
-Game will then move to night phase. Mafia can use a private chat to converse, and then send a command for their kill to the moderator. Other power roles can also use their abilities (such as investigation, protection, etc). They will select the player they want to use their action on from a list of players, and the moderator will be notified.
-Game moves to day phase. Moderator kills any players that died the last night.
I know, lots of shit. Could anyone reccomend a simple language/pre-established program I could use to make something like this? Any advice regarding making it? I was almost thinking a php/javascript webpage so people don't need to download + connect.
If you want a native client, then C# would be perfect for this kind of program. But it kind of depends on what programming experience you already have, if any.
I think I read somewhere that Visual basic was able to create small, networked applications. This may be an OK idea if you're fairly limited in the experience department.
I'd go with C# and the [url=http://code.google.com/p/lidgren-network/]Lidgren Networking library[/url]. I have made a little shooter for a test using their implementation of reliable UDP and it works great. Of course though, for what you need to accomplish, TCP will do.
C#!
Flash could actually do this as well.
If you use SFML, they actually provide a VOIP program source in extremely simple high level programming, if C++ is more your cup of tea. The library's name is appropriate, it is dead simple.
I don't know why anybody would use SFML for the networking component. Or threading components. Don't know why they even write them really. Stick to a single thing and do it properly I say.
[QUOTE=blankthemuffin;20132911]I don't know why anybody would use SFML for the networking component. Or threading components. Don't know why they even write them really. Stick to a single thing and do it properly I say.[/QUOTE]
Because it's simple, and that's entirely the point. Sure it's far from the best way to do it, but you can get it set up in minutes. Not everybody needs the 100% best, most efficient program; especially if it's just for fun.
[QUOTE=windwakr;20132917]You could use MIRC IRC client and set up your own server/channel on some server. MIRC has a very powerful scripting language that could do everything you want. That would probably be easier than trying to reinvent the wheel.[/QUOTE]
Good thinking. All you'd need is a bot.
Yeah, I was thinking about IRC and a bot too. You can host your own IRCd rather easily, or lynch a random channel on an existing one, and it includes private communication.
Indeed, IRC. It already has what you want to create.
Sorry, you need to Log In to post a reply to this thread.