#making a mutiplayer, social rp game, and need help starting off

11 messages · Page 1 of 1 (latest)

echo blaze
#

hello! i am currently learning to code using game maker and would like to have some advice on how to achieve the game idea ive commited to. i have a team of artists, animators and coders to help me with development, i just need to learn where to start. here's the games information!

-# 2D Pixel art Game similar to Pony town or Club penguin, without any minigames. Very barebones.
-# Hosted through a website like gx games. Around 30 player servers. Online multiplayer

-# Multiple 'areas' that you can teleport to with a gui, or walk to through different teleporters.
-# Walk around in a 2d style with a behind/Infront mechanic. You can walk behind objects like trees, or walk into teleporters in camps and whatnot.
-# Chat system, bubble above head, and in a GUI

-# Mobile option to walk around. Pref a tap/drag movement system, where you follow your mouse as you move it while holding click.

-# Character customisation system with data storing so you can save avatars.
-# Animation GUI to trigger different actions such as sitting.

so, tldr, what i need help with is:

  • different areas, chat system with popups, custom ingame names & bios, animation buttons ingame, characrer customisation, data storing

which is alot, lol. i would like some advice on what to publish the game on and which things to start with. thank you for any help! :)

p.s i do have small experience developing and i am not just jumping into a project this big expecting it to be easy! i just need some pointer fingers from a tutorial less than 5 years old

atomic ember
# echo blaze hello! i am currently learning to code using game maker and would like to have s...

First and foremost, the reality is that there is a lot of tutorials that are both still good for modern GM, that are quite old (older than 5 years). But, moving on from that, we do have some newer resources for a couple of things, just more in writing.

I'm going to tackle the more networking side rather than gui/player data/mobile for the moment, since those problems are usually more trivial and can be figured out with just most existing tutorials, resources or some trial and error. (I also would recommend just getting networking done as soon as possible, because the sooner that's implemented, the easier it is to make changes down the line.)

The first consideration is what platforms you intend to be played on. I can assume Desktop (Windows) and Mobile (iOS, Android) are your main targets. But if you do actually want it hosted via a website like GX.games or itch.io or wherever, then you are limited to using Websockets with GameMaker. (And I would at the very least recommend just using the GX.games target. That can both run JS extensions & can be exported as a local zip and uploaded anywhere, including calling GML functionality from the JS side. Just like HTML5 target, but way better.) But most importantly, when it comes to making your packets, use JSON for those. Easier to debug networking that way.

The second consideration is that you would ideally want to try to at least get a server host for you to host a developer server of some kind, and a production server down the line. Now, the developer server doesn't need to be actually that fancy. GameMaker out of the box doesn't need much RAM, and you can easily afford a Linux server for as low as $5 USD/month. (which yes, you should be able to build & deploy to Linux at the very least.) There is some other catches with running on Linux, but for the most part, you can run a server completely headless with little to no difficulty. (There might be actually some resources to help with this, but any host that can host Ubuntu Linux (ideally for compatibility sake) w/ GameMakers required dependencies and can install xvfb, is all you need.)

Those are at least the very basics, and in some setups, you may prefer some kind of automation so the developer client & server can be built and deployed automatically, but that is a separate matter.

Assuming you have those two covered, and you've got a relatively playable networking game, the next thing is covering player data. Which for the most part, we do usually recommend JSON. And we have dozens of tutorials on those. But for a multiplayer game w/ logins and all that, you would ideally want some kind of database system. Outside of Firebase, the only other option is writing either a separate server, extension or using HTTP, that can integrate with SQLlite, MySQL or another database software, in some way. GameMaker can communicate with almost any service out, even to servers that aren't built in GameMaker. (Though you do at least want the main game server to be in GameMaker, because replicating GameMakers systems in another language sucks, and GameMaker does very well even for an MMO.)

#

Everything else as I've mentioned before, usually there is a written tutorial or resource made for it in some capacity.

echo blaze
atomic ember
#

Sure

#

I'm fine with that

#

As for mobile controls, there is a lot that goes in there honestly. GameMaker does provide some generic stuff for it and it's more than good enough for just getting things going

#

But if you prefer for all of your bindings to work without coding up an entire system, I do also recommend a really nice library for managing game controls

echo blaze
atomic ember
#

Oh you can do that yeah, I just imagine you might want keyboard & mouse w/ potentially gamepad support (quite popular these days, even gamepad on mobile)

#

Which can be quite a lot to manage at once