Help With Advanced Multiplayer

From the Asset Store
Advanced inventory mechanics for your RPG game (Array-based). Take Items, split them, pick up them, read the description
  • Hello,

    I have been thinking of a game that I would like to make for a while. It will include advanced multiplayer. I would first like to state that I have almost no experience with multiplayer right now. I am just wondering if it would be possible to do some advanced multiplayer features. Many features are in this amazing game: Goodgame Empire (https://empire.goodgamestudios.com/).

    First is the upgrading system. How could you make an upgrading system in real time. For example, you could upgrade a weapon that takes a few hours, then turn off your device, put it to sleep, etc., and then come back a few hours later and it would be finished. Also I would need a way to skip it with in-game currency.

    Second would be the battling system. The game will be a live, RPG like battle, where you control your vehicle and shoot enemies (The game would be top-down). Enemies would also be able to move and shoot you, very similar to War Robots (https://warrobots.com/en). Also is there a way to make teams? If not I could just do a deathmatch. I think this part would be very challenging.

    Third would be a messaging system. Similar to Goodgame Empire's messaging system, where you could message a single player, probably by their name. If this would be too difficult, I could just add a chat room like the example (https://editor.construct.net/#open=multiplayer-chat).

    Fourth and probably the the hardest would be the data. There would have to be a way to store the player's weapons, vehicles, level, name, weapons and vehicle's levels- the list goes on and on. Also, when a player changes their name, would it be possible to make sure nobody else has that name?

    Anyway, these are just a few of the many points that I would need to get right before I could make a large game like this. If you need more information, please let me know. I know this is a lot and don't know if it is even possible to do in Construct 3. Any help, ideas, or examples on this would be VERY appreciated.

    Thanks in advance,

    Give me a Pixel

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Sounds big ^_^

    Here's some insight

    Upgrading

    With a backend server like firebase or ajax with some PHP/mysql, you could store the upgrade process and have the server indicate duration and times.

    Battling

    The game described can definitely be made with the construct 3 multiplayer.

    As for teams, some logic could involve something as simple as a boolean check for team.

    Messages

    A message system is easy to embed, there are examples for chat systems,it uses the same connections as the rest of the game (construct 3 multiplayer).

    Storage

    As mentioned for the upgrades, use a backend server to store data.

    For unique names, checking the data if a certain name exists would be the way to go.

    Good luck

  • What platform would be the best for this? AJAX? Also, where would I export it? Steam? Would it be possible for it to be all web-based with the login explained below? For that though, you would need a website like Goodgame Empire has. Where would I store all the data? And would it all be in one large database or would it all be stored by the player? I really have no experience with this kind of stuff.

    One more think I forgot: How could you make a web login? I don't know if that would be possible, where you can log into your game from any device as long as you have your username and password. If not, then I would probably do it where you just download it and can only play that one account.

    Anyway, I will probably have to tackle this section by section, creating a separate project for each one. If you could provide any example, I would be very appreciative. BTW I will probably need a LOT more help with this throughout the creation of these examples.

    Thanks,

    Give me a Pixel

  • Another thing about the battling: Would it be possible to leave the battle if you lose your vehicle? And what happens if the host leaves? Will everyone be disconnected?

  • If the host leaves, everyone is disconnected

    Also, if you plan on having a P2P system where a player acts as a host, the host player will be able to cheat. The only way to avoid this is to have your own dedicated servers

  • How do you get that? Is it a 3rd party plugin? And if I use it will it cause any problems building or exporting the game?

    Thanks,

    Give me a Pixel

  • And also, would web-based game be possible (see above)?

  • Data

    The database would be hosted somewhere on a server, and your game can connect to it. With this you can also incorporate a login system. You can also combine things, like google, Facebook or play store login.

    Host connections

    You can use methods to preserve game state on all the peers, and when the host leaves, one of the peers becomes the new host. And if the peers remember their and the other peers IDs, they can easily check who was the disconnected peer and have everyone update that information. (Ie the disconnected peer reconnects and sends his old ID to the new host, which recognizes the ID as a former player and updates the ID accordingly and informs all the peers)

    Game types

    The above and former mentioned methods and approaches will work on all versions, mobile, web, steam etc. Its just a matter of having the proper mechanics for each platform.

  • Thank you. Like I said earlier, I'll just have to play around with it until I get it; I might try that later today. I will probably need some more help later.

    Could I give the game it's own URL, like Goodgame Empire has? I was thinking Neocities might work, although I don't know if you have to be a supporter of them to get a game on a site you create: construct.net/en/forum/construct-3/general-discussion-7/neocities-140562

  • BTW, what is the desktop export option (NW.js)?

  • if you use a dedicated game service then all of this is standard. Like playfab, with photon.

    you can store all player data, upgrades, names, teams etcetera. and to validate unique names etc is a standard setting. you can login with all kind of devices as well

    if you have no experience with multiplayer (as you indicate) you should def use an existing service. to start to create your own with php/firebase etc will be an extreme overkill

    but yea, you will need to invest a few dollars

  • Hmmm. I don't really want to spend money. I'll find an easier way. I'm going to modify the 'Multiplayer game example' and see what I can get.

  • I have been trying make it where if a peer kills another peer, then it broadcasts who killed who on the chat box. It isn't working right though. Does anybody know what is wrong? (I can upload a project file if you need it).

    Thanks,

    Give me a Pixel

  • Hmmm. I don't really want to spend money. I'll find an easier way. I'm going to modify the 'Multiplayer game example' and see what I can get.

    just fyi, you can use playfab for free, with javascript.

  • I will look into that. Thank you.

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