1. Ymir
  2. News
  3. Networking upgrade

Networking upgrade

[h3]Networking[/h3]

This is a technical upgrade replacing the infamous built in networking of Gamemaker by my 'own' one for improved stability, speed, and to allow for easier future upgrades or debugging.

Many years ago when I started this project, as a complete beginner I chose to develop it on an engine called "Game Maker". As some of you know, it's been since then a major limitation to the growth of the project due to how inadequate to this project it turned out to be. Not only that but also buggy with no means to fix the issues as it is a rather "black box" engine.

But by then it was too late to change it, as it was and still is beyond my workforce capabilities to do so.
A more feasible plan was devised: offload as much mechanics as possible from the engine into an in-house DLL.
In that DLL, things could be designed my way, executed with much higher performances, and I'd finally have the ability to fix any potential issues or upgrade it in any way as I'd be in control of its actual code.

Today marks a first step of that plan: the migration of networking.
The gamemaker's networking has always been broken, causing constant disconnections for some users or total impossibility to connect at all.
Being a closed engine, all I could do at best was try to work around the bugs instead of being able to fix them.
Now with my own networking (based on the Darkrift 2 library) no more!

- Connection stability should be much better
- Significant decrease in loading times for some users, especially those who were before affected by the Gamemaker bugs.
- Supports upnp, making hosting servers much simpler for those with rooters that support it: no need for manual port forwarding.
- Distant user (ex SE asia) should now be more able to connect to the Official servers (in Europe).

It's noteworthy to add that In the short term, there will probably be more issues than before as new bugs are discovered with testing but unlike before, it will actually be possible to fix them.

The DLL is developed in collaboration with community member Penca53, so thanks to him as well are due!

[h3]Device ID[/h3]
This update also notably replaces the external program called "device_id" as it's now also been integrated into the DLL.
This small tool used to create regular issues with antiviruses flagging it or even deleting it, preventing the game to launch properly. So this shouldn't happen anymore.

[h3]Next upgrade[/h3]
After networking, the next planned DLL migration will be that of the pathfinding systems which should yield huge performance gains, especially for servers when managing larger battles.
I hope that thanks to this, i'll finally be able to see large battles in realtime without "pausing" between each battle turn.