How can I create an Among Us style game?

1 favourites
From the Asset Store
Fully commented source code/event sheet & sprites to create a space shooter game
  • I will create a game that takes place in a camp and survive the murder, how can I create an online game?

  • Multiplayer is rather complicated especially for someone rather new to construct.

    I recommend taking a look at the 2 following things

    Multiplayer Manual:

    https://www.construct.net/en/make-games/manuals/construct-3/plugin-reference/multiplayer

    Multiplayer Tutorial Series:

    https://www.construct.net/en/courses/online-multiplayer-construct-12

    Keep in mind the Tutorials all have their own example in the editor (just type in multiplayer in the editor and it should come up) also the multiplayer tutorials are for ONLINE multiplayer.

    In all seriousness though I don't recommend trying out multiplayer as one of your first things in construct. Maybe try cloning a few of those fan games to learn how to use construct a bit better.

  • Absolutely! A multiplayer game requires a radically opposite approach, with a level of abstraction and logic very different from a single player game.

    "Among all" these difficulties, good practices, optimizations and other constraints, this also requires additional technical resources, just in terms of hosting.

    If you want to experiment this way, I advise you to take a look at Photon Engine (more specifically their "Photon Realtime" and "Photon Chat" products) which will make your task much easier.

    Good luck and a lot of courage!

    Photon Engine: photonengine.com

    Photon Realtime: photonengine.com/en-US/Realtime

    Photon Chat: photonengine.com/en-US/Chat

    C2/C3 Photon Plugin: construct.net/en/forum/extending-construct-2/addons-29/plugin-photon-cloud-93112

  • I see "Photon" mentioned often. I use the Multiplayer plugin when I make online games and have never really looked into Photon - Are there any notable pros/cons to using Phonton?

  • Jase00 Yes. Massive difference. My advice: Switch to Photon, Scirra's Multiplayer will drive you crazy sooner or later.

    Main differences:

    1. Scirra's Multiplayer is simply a Peer-to-Peer connection, where one of the peers is hosting the server. If that "host" leaves, the game basically ends! No more communication possible between peers, whereas, Photon has a Master server which is hosting the room on Cloud (not at any players' end), so if any player leaves, or even all of them leave, they can join back and continue. Game continues.
    2. Second main difference: Scirra's Multiplayer has Firewall/NAT connectivity issues. So basically, you'll be reaching out to 50% to 60% of the audience, rest won't be able to connect. (I made a really cool game, and found out, I could not connect myself when I changed my network provider). And many other players complained they cannot connect. Photon connects literally 100% of the time! Very stable and reliable.
    3. Third main difference: Photon is far easier to use, set-up, and understand (even as a complete beginner) than C3 Multiplayer. No need to "Sync" objects beforehand. Just "Connect to server" and "Connect to a Room", then start communicating/send messages/data. etc.

    The only con of Photon, the Free version allows maximum 20 simultaneous connections (players) to be connected at a time. For more CCUs, there are paid packages.

    But ! I'll tell you what, if you're getting 20 players at a time regularly in your game (that has Ads/inApps), that means you're definitely earning enough to cover for the paid package that allows 100+ simultaneous players. So that's also not really a drawback.

    AnConstructerBro Among Us style game can easily be made through Photon, but as Sebastien said, I agree, first learn C3 (non-Multiplayer games) thoroughly before jumping into making a Multiplayer game.

  • Peer to peer means players can get low latencies if they play with people near them. Photon forces everyone to connect to a single physical location, and adds latency by forcing the bathwidth to pass through that server without adding any functionality. if the host leaves in photon, you still need to create a new "host" that will control the game state just like you do in construct's multiplayer.

    You can use a cheap 5$ per month VPS to act as a STUN + TURN server to get pretty much 100% connectivity and still benefit from not having to pay for most of the bandwidth whereas with photon you have to pay for all of the bandwidth and it'S expensive. Photon charges 0.05$ per GB while a cheap VPS provider like digitalocean charges 0.01$ per GB

    photon also uses the worst networking scheme possible, every single time you send data to photon, it sends it to everyone else connected to the game, so 10 people means 10 people sends data to 9 other people on every update, whereas with the multiplayer plugin, everyone sends data to the host, and the host sends data to each player, greatly reducing bandwidth required

    you can totally do this and if you need help you can get in contact with me, its not as hard as people make it out to be, you can greatly simplify multiplayer games using the sendmessage multiplayer action, and you can pack that data using the binarydata plugin

  • Thanks for the info! I gather this means that photon is a paid service that is more easy-to-use but less flexible (I.e you cannot control who receives messages; photon just broadcasts everything out)?

    I was under the impression you could setup a "dedicated host" type of setup with the Multiplayer plugin too, I thought running an instance of your Construct project on a server or a computer that is permanently on, would act as a sort of dedicated server.

    Do a fair percentage of people struggle to connect to the Scirra multiplayer signalling server?

    Very interesting nonetheless, having more options is always good!

  • Thanks for the info! I gather this means that photon is a paid service that is more easy-to-use but less flexible (I.e you cannot control who receives messages; photon just broadcasts everything out)?

    I was under the impression you could setup a "dedicated host" type of setup with the Multiplayer plugin too, I thought running an instance of your Construct project on a server or a computer that is permanently on, would act as a sort of dedicated server.

    Do a fair percentage of people struggle to connect to the Scirra multiplayer signalling server?

    Very interesting nonetheless, having more options is always good!

    You most definitely can have a host.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Jase00 Yes. Massive difference. My advice: Switch to Photon, Scirra's Multiplayer will drive you crazy sooner or later.

    Main differences:

    1. Scirra's Multiplayer is simply a Peer-to-Peer connection, where one of the peers is hosting the server. If that "host" leaves, the game basically ends! No more communication possible between peers, whereas, Photon has a Master server which is hosting the room on Cloud (not at any players' end), so if any player leaves, or even all of them leave, they can join back and continue. Game continues.
    2. Second main difference: Scirra's Multiplayer has Firewall/NAT connectivity issues. So basically, you'll be reaching out to 50% to 60% of the audience, rest won't be able to connect. (I made a really cool game, and found out, I could not connect myself when I changed my network provider). And many other players complained they cannot connect. Photon connects literally 100% of the time! Very stable and reliable.
    3. Third main difference: Photon is far easier to use, set-up, and understand (even as a complete beginner) than C3 Multiplayer. No need to "Sync" objects beforehand. Just "Connect to server" and "Connect to a Room", then start communicating/send messages/data. etc.

    The only con of Photon, the Free version allows maximum 20 simultaneous connections (players) to be connected at a time. For more CCUs, there are paid packages.

    But ! I'll tell you what, if you're getting 20 players at a time regularly in your game (that has Ads/inApps), that means you're definitely earning enough to cover for the paid package that allows 100+ simultaneous players. So that's also not really a drawback.

    AnConstructerBro Among Us style game can easily be made through Photon, but as Sebastien said, I agree, first learn C3 (non-Multiplayer games) thoroughly before jumping into making a Multiplayer game.

    I never did any test with the multiplayer. Is that true that there is no way to transfer the host to another peer using the multiplayer plugin if the host disconnect?

    AmongUs is a peer to peer multiplayer based game I believe, but I'm not sure. they use the hazel-networking. If the host leave quit, the game keep going anyway. The nice thing of having the peer to peer is that you don't have to worry about having a server and dealing with any provider (even if you would need to deal with cheater).

    Peer to peer means players can get low latencies if they play with people near them. Photon forces everyone to connect to a single physical location, and adds latency by forcing the bathwidth to pass through that server without adding any functionality. if the host leaves in photon, you still need to create a new "host" that will control the game state just like you do in construct's multiplayer.

    You can use a cheap 5$ per month VPS to act as a STUN + TURN server to get pretty much 100% connectivity and still benefit from not having to pay for most of the bandwidth whereas with photon you have to pay for all of the bandwidth and it'S expensive. Photon charges 0.05$ per GB while a cheap VPS provider like digitalocean charges 0.01$ per GB

    photon also uses the worst networking scheme possible, every single time you send data to photon, it sends it to everyone else connected to the game, so 10 people means 10 people sends data to 9 other people on every update, whereas with the multiplayer plugin, everyone sends data to the host, and the host sends data to each player, greatly reducing bandwidth required

    you can totally do this and if you need help you can get in contact with me, its not as hard as people make it out to be, you can greatly simplify multiplayer games using the sendmessage multiplayer action, and you can pack that data using the binarydata plugin

    eleanorjmorel

    Do you know any example that show how to do a lobby where a player can choose a room to join and then play? similar to AmongUs?

  • sure i made this a while ago eleanorjmorel.itch.io/truthordare

    you can basically do this

    https://www.construct.net/en/make-games/manuals/construct-3/plugin-reference/multiplayer

    So basically is possible to make all the features that Amongus have using only the multiplayer plugin.

    Do you suggest any particular tutorial to develop a lobby list, a chat, and basic configuration to make sure that the multiplayer run smoothly? For example move some players around a room where they can interact with objects? like if someone turn on the a switch light, then all player would see the light turning on...etc

    I have a good amount of experience in Construct, and I developed complicate game. However, since I study networking I understand that the approach would be completely different.

    One thing that I don't clearly understand about the multiplayer factor is that, when I make a game in construct3, you make specific action that will change the state of a particular instance. I guess with the multiplayer, any changes must be sent to the peers. However, I know also that there is a latency problem. Does the plugin handles all of this? or do we have to specify any changes within the game by sending a message?

    I would like to develop a quick demo, however before starting I known that the logic behind it would be different than making a single player game.

    Thank you!

  • Jase00 Yes. Massive difference. My advice: Switch to Photon, Scirra's Multiplayer will drive you crazy sooner or later.

    Main differences:

    1. Scirra's Multiplayer is simply a Peer-to-Peer connection, where one of the peers is hosting the server. If that "host" leaves, the game basically ends! No more communication possible between peers, whereas, Photon has a Master server which is hosting the room on Cloud (not at any players' end), so if any player leaves, or even all of them leave, they can join back and continue. Game continues.
    2. Second main difference: Scirra's Multiplayer has Firewall/NAT connectivity issues. So basically, you'll be reaching out to 50% to 60% of the audience, rest won't be able to connect. (I made a really cool game, and found out, I could not connect myself when I changed my network provider). And many other players complained they cannot connect. Photon connects literally 100% of the time! Very stable and reliable.
    3. Third main difference: Photon is far easier to use, set-up, and understand (even as a complete beginner) than C3 Multiplayer. No need to "Sync" objects beforehand. Just "Connect to server" and "Connect to a Room", then start communicating/send messages/data. etc.

    The only con of Photon, the Free version allows maximum 20 simultaneous connections (players) to be connected at a time. For more CCUs, there are paid packages.

    But ! I'll tell you what, if you're getting 20 players at a time regularly in your game (that has Ads/inApps), that means you're definitely earning enough to cover for the paid package that allows 100+ simultaneous players. So that's also not really a drawback.

    AnConstructerBro Among Us style game can easily be made through Photon, but as Sebastien said, I agree, first learn C3 (non-Multiplayer games) thoroughly before jumping into making a Multiplayer game.

    Casually asking what is the cost of photon ? I guess it will later become expensive when userbase becomes huge

  • Is that true that there is no way to transfer the host to another peer using the multiplayer plugin if the host disconnect?

    Ribis Jase00 Yes. That's right. Unless you're willing to keep a separate PC/device running 24/7 acting as a Host of each Room, essentially creating a Master Server yourself, then it is possible to achieve Among Us style game. But then again.. Considering the connectivity issues, you'll also need a paid dedicated Cloud based server on top of that to let everyone be able to connect.

    Too much hassle really, which is why I'd not recommend C3 Multiplayer plugin for such games.

    By the way, Photon does allow sending messages to only selected / Targeted people. eleanorjmorel hasn't explored it enough.

    Cascade Games

    There are multiple. The free one allows 20 players at a time. The next one is $95 for 3 months that allows up to 100 simultaneous players playing. And after that is $95 per month that allows 500+ players at a time.

    Note: Imagine having up to 20 players playing SIMULATENOUSLY in your Multiplayer game, not all the time but regularly, every day. What it means is before you'll require upgrading (or paying), you'd already be earning $100+ per month easily. So for a $95 for three months that allows 100 players, you wouldn't even think twice.

  • El Constructorr: I don't know how to mention your special username.

    Completely agree with everything you have been able to explain from the start.

    Just:

    The next one is $95 for 3 months

    Nowadays the very first paid plans are one-time for "60 months" (5 years):

    - $95 one-time for Photon Realtime (100 CCU, 500 msgs per second per room).

    - $45 one-time for Photon Chat (100 CCU, 100 msgs per second per channel).

    Beware, one-time is not lifetime.

    The free versions offer the same amount of msg/s, which is more than sufficient in terms of bandwidth (see details) with well thought out, coded and called multiplayer patterns. And yes, no need to send player updates to everyone, every time (target in raise events). Finally, no need to tear your brain out with the native Construct plugin or the management of a server, which, it must be admitted, represents a significant amount of additional work, human and technical cost.

    - Realtime pricing: photonengine.com/en-US/Realtime/pricing

    - Chat pricing: photonengine.com/en-US/Chat/pricing

    That said and of course there are pros and cons everywhere (cloud / self-hosted / provider, etc), it is a view of mind and decision-making strategy, not to mention the wallet aspect.

    To develop and learn all the concepts, the free plans are already very good and an interesting compromise to test a project.

    Some good practices (valid for all multiplayer games):

    - Performance tips: doc.photonengine.com/en-US/realtime/current/reference/performance-tips

    - MMO concept: doc.photonengine.com/en-us/server/current/applications/mmo/mmo-concept

    More informations:

    - A Photon blog post about pricing model: blog.photonengine.com/photon-pricing-explained

    - Realtime Glossary: doc.photonengine.com/en-US/realtime/current/reference/glossary

    - Realtime FAQ: doc.photonengine.com/en-us/realtime/current/troubleshooting/faq

    There is a lot of other resources on their website, faqs, documentation, forum...

    And ThePhotons is often around here. Good luck! :-)

  • El Constructorr: I don't know how to mention your special username.

    Completely agree with everything you have been able to explain from the start.

    Just:

    > The next one is $95 for 3 months

    Nowadays the very first paid plans are one-time for "60 months" (5 years):

    - $95 one-time for Photon Realtime (100 CCU, 500 msgs per second per room).

    - $45 one-time for Photon Chat (100 CCU, 100 msgs per second per channel).

    Beware, one-time is not lifetime.

    The free versions offer the same amount of msg/s, which is more than sufficient in terms of bandwidth (see details) with well thought out, coded and called multiplayer patterns. And yes, no need to send player updates to everyone, every time (target in raise events). Finally, no need to tear your brain out with the native Construct plugin or the management of a server, which, it must be admitted, represents a significant amount of additional work, human and technical cost.

    - Realtime pricing: photonengine.com/en-US/Realtime/pricing

    - Chat pricing: photonengine.com/en-US/Chat/pricing

    That said and of course there are pros and cons everywhere (cloud / self-hosted / provider, etc), it is a view of mind and decision-making strategy, not to mention the wallet aspect.

    To develop and learn all the concepts, the free plans are already very good and an interesting compromise to test a project.

    Some good practices (valid for all multiplayer games):

    - Performance tips: doc.photonengine.com/en-US/realtime/current/reference/performance-tips

    - MMO concept: doc.photonengine.com/en-us/server/current/applications/mmo/mmo-concept

    More informations:

    - A Photon blog post about pricing model: blog.photonengine.com/photon-pricing-explained

    - Realtime Glossary: doc.photonengine.com/en-US/realtime/current/reference/glossary

    - Realtime FAQ: doc.photonengine.com/en-us/realtime/current/troubleshooting/faq

    There is a lot of other resources on their website, faqs, documentation, forum...

    And ThePhotons is often around here. Good luck! :-)

    Final question,how did you implemented photon in your construct 3 game? I mean is there a plugin dedicated for that or JavaScript or what?

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)