Is Construct suitable for developing small-scale MMORPGs?

0 favourites
  • 7 posts
From the Asset Store
Casino? money? who knows? but the target is the same!
  • I want to start studying online multiplayer in my free time. Is Construct suitable for this? Is it worth to invest time in the long run?

    I'm not a beginner, but I have 0 experience with online games.

    And, of course, I'm not talking about giant MMORPGs, but more in line with small 2D games for web and mobile.

    Thanks :)

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Yeah it's totally possible, but I would recommend starting with a smaller project to get the hang of online multiplayer.

    An MMO would need a dedicated server, wouldn't want to store data locally, otherwise people could easily cheat. So would be wise to learn about SQL databases and such (or if that's too beyond your realm, could hire someone).

    Also it depends on how much interactivity this game will have - would players mostly just "see" each other and chat, or would there be PvP or other interactions? Even if you just "see" players, can players interact with the world and the world needs to keep track of changes? Lots of stuff to manage, would be a big task with lots of moving parts.

    Overall, best to start smalllll, then you may start to hatch ideas on how to handle an MMO.

  • I found this video while searching for the topic, and well, the first minute is just disheartening.

    Subscribe to Construct videos now

    It's like what we were discussing on https://www.construct.net/en/forum/construct-3/general-discussion-7/good-time-construct-great-178657

    I'm so tired of this kind of reponse :(

  • It's probably technically possible. If I were to attempt it, I'd probably... maybe... ditch the build in multiplayer plugin? I don't exactly have a lot of experience with it. Thing is that plugin is a little bit stuck in a catch-22.

    Very few users actually use the Plugin -> So it's not worth investing tons time into it (from Scirras perspective) -> This leaves the plugin in a sub-optimal state -> because of that very few users actually use the Plugin -> ...

    In all fairness, even if it was working amazingly, still very few people probably would use it, let alone for an MMO.

    What I totally see possible though is a very limited type of MMO, where the interaction between users mostly boils down to changing a few variables (e.g. I've send you 1000 gold) rather than syncing gameplay. Like IdleON (an idle-mmorpg)

    Another one would be something like agar.io, though I'm streching the defenition of "mmo" here. This does sync gameplay, but the gameplay is very basic so that should be feasible.

  • I think WackyToaster has a great suggestion to make something like an idle-mmorpg as a starting point. Keep the scope small, so you can complete it. Something that does infrequent updates, does not require detailed game state to be synced, etc.

    _After_ that, think about something more complicated, again I would keep the scope small.

    We have implemented a MMORPG using C3 for client, with Spine for animation and skinning of the character and a lot of Javascript/Typescript on the client side to sync state with server.

    The server is node.js. Does game logic, interface with db, auth, etc.

    We use Colyseus for the networking/rooms (server and client).

    This all took a _lot_ of work and iterations by our team. It is complicated.

    Colyseus info: (we don't use the C3 addon ourselves, we use the TS/JS client library instead.)

    docs.colyseus.io/getting-started/construct3-sdk

  • eliandromon It is technically possible, but MMOs require significant effort.

    Construct's built-in multiplayer features are better suited for fast synchronization with a low number of players.

    With that in mind, I agree with Mikal that Javascript/Typescript code in the client to sync with a server built with NodeJS (or GO?) would be a better approach for an MMO (instead of using the built-in multiplayer behaviours)

    Goodgis video is interesting but a bit misleading. He could have made "Prototype 2" and "Prototype 3" in Construct just like he did in Godot, by coding. :)

  • Is it indeed certainly possible,

    i myself have been building a small/medium scale multiplayer rpg using a custom hybrid p2p/colyseus plugin.

    I have it designed so you can build a seperate barebones server inside c3(no textures, animations, sounds etc) but will still sync with the client version.

    This allows a somewhat headless** dedicated environment using multiple iframes or embeds on a invisible layer inside a basic server manager, which itself is invisible.

    Im testing with vultr on performance, while its not as efficient as a true headless node.js server, its pretty good as each additional iframe will use a seperate core.

    You could start by writing all your server code in events, get everything set up, then later on move over to javascript for better peformance.

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