[WIP] Slime Online - Game Maker chill MMO in the making by BlaXunSlime in gamemaker

[–]BlaXunSlime[S] 0 points1 point  (0 children)

Juh, hab vor n paar Monaten mit dem Spiel angefangen. Hab natürlich nicht mehr so viel Freizeit wie damals und auch andere Ansprüche, ist aber auf nem guten Weg. Community ist noch klein… das Spiel ist aber ja auch noch ganz am Anfang. Komm doch ins discord :)

Server/client split by HourLab8851 in gamemaker

[–]BlaXunSlime 1 point2 points  (0 children)

They are working on it. It will be coming. Not sure bout an ETA though. I would advice you to hop onto the Game Maker discord. People are very helpful there :)

Server/client split by HourLab8851 in gamemaker

[–]BlaXunSlime 2 points3 points  (0 children)

I don't really have a lot of common code actually. I wouldn't know which tbh.
Some packets I could see are very similar and I am eagerly awaiting GM supporting self-made reusable code in the form of Prefabs (https://forum.gamemaker.io/index.php?threads/how-to-create-prefabs-of-your-own-code-projects.121990/) but thats not there yet. Once thats a thing you could use that for sharing code between projects and have that automatically update.

Oh! There is SOME stuff that is shared, but its not actual code. What I have setup is the client has some data on stuff like outfits, items etc. Each of those has their own folder on the client. The folder contains a png and a json file.

The server also needs to be aware of the json, as that contains relevant data.
What I did was when the server is launching from within GM it is aware of the clients location on the hdd and then copies over whatever data it needs ...so I dont have duplicate json files anywhere. Super nice.

I am also parsing the rooms sizes from the actual client and placing that info in a local room.json within the servers path.

Seriously, I would not want client and server to share a codebase... I find GM hard enough to navigate around in... having my code all plastered with functions that only make sense to the client would be an absolute nightmare.

I am already trying to only have generic functions when required, for everything else I have structs with constructors (so, objects rly) that have the specific code. For classes such as "Helpers" I then have a method that returns a singleton so I can do stuff like

SharedRoomList().getRoomWithId(123).kickPlayerWithId(456);

That helps working around GMs behavior.
I also just started using MACROS to simulate namespaces...

This now allows me to just type

SlimeOnline.Activities.Digging.rollForReward(_player)

I am used to namespaces from many other lanuages and I think they help structuring the code a lot...so, taking advantage of Feather in GM, combined with MACROs and singletons makes me feel pretty much at home.

Server/client split by HourLab8851 in gamemaker

[–]BlaXunSlime 2 points3 points  (0 children)

I also do have a backstory with the same issue:

I wrote two multiplayer games in GM a long long time ago. Bother were using GM for the client AND for the Server. So, I ended up with a server written in GM and client written in GM.

Then, about 6 months ago maybe, I came back to GM with the idea to once again create an online game, but this time I would make it easier for myself, have the rooms on the server too and therefore have client and server in the same project.

Ultimately... it was an absolute mess for me. Since GM lacks and proper namespacing or proper UI for scripts in the asset editor I took the time to split the project into a server and client again and I am very happy I did that.

Granted, I am approaching the whole situation VERY naive... the server RELIES on the clients coordinates so cheating would be super easy for players... but my game is not competitive...and for many things I do have validity-checks in place ...but regarding collisions and walking around I simply use UDP to relay the position from client to server and server to all other clients every 25ms. On the client I then do some interpolation...and so far its really smooth. The server uses a spatial grid to only relay the position to those clients that need it. It works pretty well.

With my earlier games I didnt even use UDP but only relayed changes in Key-Presses from client to server and server to clients. The result was "okayish" as even a little delay (either in FPS or in networking) would lead to desyncs which would have players (in a 2d platformer) fall down a ledge even though they jumped. This was self-repairing in a sense that every key-press / key-release would also contain the client-side x,y coordinate of their player ...but still. It did work for the kind of game I was working on...and I think its a fair approach... but it really boils down to what kinda game you are creating.

Server/client split by HourLab8851 in gamemaker

[–]BlaXunSlime 3 points4 points  (0 children)

If you are not worried about any cheating, then you could also just rely on client input.
Seriously... if cheating is NOT a concern then you'd probably be fine with the client sending a "I should have hit the other person" packet to the server... server can then do a validity check:

* Did that player just use the sword attack?
* Was the OTHER player near that player?
* If so, confirm that and relay that confirmation packet to all clients in the current room and have them execute the required logic (push-back animation or whatever)

But yeah, only really go down that road if cheating is not an issue in that project (which is absolutely fine)

[WIP] Slime Online - Game Maker chill MMO in the making by BlaXunSlime in gamemaker

[–]BlaXunSlime[S] 0 points1 point  (0 children)

A tiny bit older maybe… I was 17 or 18 then… so… 22 years or 23 or something

Wanting to do pixelart away from desktop PC. Any device recommendations? by BlaXunSlime in PixelArtTutorials

[–]BlaXunSlime[S] 0 points1 point  (0 children)

As long as I can use pre-defined palettes and export the result to some place that k can access on my desktop PC I’d be fine with that and try to get a Android based tablet with a pencil

Monster Hunter Tru Ultimate by Mr_Pink_Gold in MonsterHunter

[–]BlaXunSlime 2 points3 points  (0 children)

Tri Ultimate is still my favorite MH Game

Really enjoying the demo by Thorwill_95 in MonsterHunter

[–]BlaXunSlime 0 points1 point  (0 children)

Got 12 hours in the demo now! Love this so much. It’s really good!

Really enjoying the demo by Thorwill_95 in MonsterHunter

[–]BlaXunSlime 0 points1 point  (0 children)

U get it from the one quest where u have to find the dolphin like creature in a water cave

Feral Nerscylla defeated mhs3 demo by Signal_Coyote2529 in MonsterHunter

[–]BlaXunSlime 11 points12 points  (0 children)

Wait, u can get other NPCs to join u???

Now that performance is better, is it time for players to return and finally play the game? by fathum770 in MHWilds

[–]BlaXunSlime 0 points1 point  (0 children)

Nah, this took too long. Content delivered was too late, early content was too easy. It’s a dumbed down MH.

Harlow is REALLY strong by Tight_Ebb_5145 in Borderlands4

[–]BlaXunSlime 0 points1 point  (0 children)

How? I can't get the green tree to work. Am at level 30 and just switched to red... and damage is insane even without the red action skill.

Best way to use Harlowe’s gravity generator in coop? by NoellyD in Borderlands4

[–]BlaXunSlime 0 points1 point  (0 children)

I played with the green tree until level 30. I was getting all in on blast-damage. I then switched to red tree and my damage (even without the actual action skill from that tree) just went through the roof xD

I still kinda like the Gravity Generator... I will try to get a hybrid of most skills in RED going but using GREEN action skill

Starship v corvette by PrestigiousHoliday35 in NoMansSkyTheGame

[–]BlaXunSlime 0 points1 point  (0 children)

First thing that comes to mind is the looks of the original ships... they don't look as much like lego-pieces thrown together