What will porting to Unity entail?


#1

Continuing the discussion from Production letter - IllumiUnity confirmed, report on feature progress and other topics!:

Deca recently announced that RotMG will be ported from Flash to Unity, and lots of players are excited. But what will the technology really change for the player-base, or is it simply “lol k, at least rotmg isn’t on a completely dead platform”?

  • One of the first thoughts I had was “would RotMG still be playable via browser?” so I googled that and it seems like it can be done. The only thing is that users have to download the Unity web player. Will this make the game less accessible? Older players often credit how easy it was to play (i.e. go to website and press Play) as a unique and fundamental aspect of RotMG but this has slowly drifted over the years with the requirement of an account, mandatory email verification, no unnamed characters etc. I guess what I’m trying to say is that RotMG may no longer be a browser game. People would likely DL the standalone instead of getting the web player.

  • Then we have the topic of performance. Would Unity noticeably improve how the game runs, with less lag/black-tiling, less DC’s, less memory leak problems etc? Maybe someone with some experience can shed some insight.

  • Could there finally be a way to “fix hacking”? Hopefully since so many games run on Unity, they’ve thought about anti-hacking support in the past.

Btw this post isn’t meant to question Deca’s decision to port to the specific platform, I’m just curious to see if there will be any perceptible changes other than the game’s long-term survival.


Some small information on Unity that you can pull up via google search
Some small information on Unity that you can pull up via google search
#2

Some dude (made Darza’s) on Reddit offered their insight into Unity, see full discussion here.

Blurb

#3

I’ll take juix’s word drazas runs smooth and they’ve done a hell of a job on it.


#4

Can I play on unity from a regular old laptop? I’m not really sure what unity is

Also will there be less lag with unity? Like in a lost halls or an event hosting dungeon? That’s what I’m hoping at least.


#5

Can’t really answer the last two parts, but as far as the first one:
I have played many games online with Unity (Kongregate holds a lot) and I don’t remember ever having to download the platform. It just took a while to load each time. I know a lot of people play on flashplayer, and I personally find it to be far superior to any of the browser versions as far as different types of lag, so I don’t imagine people having anything against downloading the Unity player.


#6

#7

I hope people don’t think that the backend is being ported to Unity. The backend of RotMG isn’t in Flash; only the client is.

Therefore, the current limitations of the code will not be lifted.

However, the client being made with Unity does entail better performance, allowing more interesting dungeons and boss fights to be made.


#8

However, Unity Web Player is no longer supported.


#9

What does that mean, do you think there will be better tools to combat duping/hacking/exploiting?

Oof, so I guess rotmg will no longer be a browser game. Hopefully not a huge chunk of the player-base uses browser, otherwise some might quit if they have to download stuff.


#10

The short answer is no. But with less lags deca can be more aggressive with the margin involved in cheat detection. So things like anti (server-sdied) debuffs would dc you sooner. However powerful hacks like fullscreen and autonexus most likely won’t go away.


#11

I meant that in terms of content. Duping/hacking/exploiting issues are probably able to be solved, but I’m honestly not sure.


#12

D’aw. Hopefully Deca will put more “features” that kill only hackers like the one happening rn :dark_sunglasses:


@HeyItsWii hey you’re smart can enlighten us on this topic? Also I want bumja he smort too ;-;


#13

You can immediately expect all hacks to break upon release. The hacking communities will quickly put up exploits known to the unity engine however, and hacks like no clip will soon arise. After some time the obfuscation of the new client code will be figured out and more familiar hacks will return.

This is not to say that all is hopeless in terms of hack prevention. While the purpose of rewriting the game’s code is performance based, I have hope that will the rewrite, we can possibly see better server side vs client side authentication. Hacks utilizing memory address manipulation and registry changes can be easily countered. However it still susceptible to those who understand how Unity works. That is, those who can unobfuscate the client code, can use the raw data to write a modified client. Moving forward it’ll mostly rely on the battle of client side performance versus server side authentication.

Wii's silly idea of fixing hacks completely

Concurrently, I only know one of method to render all hack clients useless, however temporary… This might not be common knowledge, but after most in-game updates, players who rely on hack clients cannot use them until their clients are manually updated. This… this is where you could win. If you were to release patches to the game on a daily basis, or whatever period really, you could circumvent those who would attempt to cheat. The patches would be of little consequence in-game, but would rename, move, or edit important lines of code, dependent on a private algorithm. A perfect time to roll out the patches would be on the server restarts that happen daily if I’m not mistaken. This would also prevent hackers from developing a quick patching software for their clients, though it would be possible in theory… it would drastically have an impact on the game. After some thought, this shouldn’t impact bots like those responsible for running realmeye… though I am unfamiliar with how those bots are programmed. Anyways that’s my pitch. I’m excited for the Unity update regardless!


#14

Unity is a platform made for 3D/2D games. It contains drag-and-drop functionality and is mainly complied in C++ (during runtime) and C# (for the Unity API).

It was made on June 8th, 2005. The most recent stable release as of June 15, 2018 is version 2018.1.2, which was released on May 25th, 2018. It supports 27 different platforms. It is able to run on Xbox and Windows (Direct3D (D3D) mode), OpenGL on Linux, MacOS and windows, OpenGL ES on android and iOS, and WebGL on web browsers.

Unity is still supported by its makers (as seen by the relatively recent update).
Flash has been deprecated and is being phased out as we speak.


#15

must i learn c++ now D:<


#16

Bots will be unaffected. In fact, hack client users will not be affected by the unity client, either. It is very likely that old Flash clients will continue to work with the game. Any protocol changes and new features can be reimplemented in the Flash hacked client, rendering all code protection/obfuscation on the Unity client moot.

Edit: Changing the protocol daily would involve having all players redownload the Unity client daily. An alternative to this would be having the protocol change and the server send the clients info on how to communicate with the server… which could also be used by the Flash client.


#17

Unity web player is not supported ON CHROME

Which means anyone with a chromebook is screwed (my laptop just got replaced with a chromebook :sob:)


#18

unity is based on c/c++/js but the behaviors and physics are already premade. it’s actually fairly easy to learn, you don’t need too much knowledge about c/c++/js.


#19

Servers restart around 3 am LOCAL TIME. Different servers restart at different times.

Hackers will just adapt with daily client release. Too much disruption for too little gain.

I’m admittedly pessimistic but I don’t see hacked clients going away entirely. It’s a cat vs mouse game after all but realm isn’t big enough to warrant sophisticated anti-hack efforts.

And I suspect Deca isn’t looking to ban hackers as long as they don’t directly affect other players and cause an uproar (e.g. crashing). There were numerous times they could have handed a massive ban wave but refrained from doing so.


#20

Huh I didn’t think flash clients would still be able be used, though it makes sense since the rest of the game will most likely be untouched; the server in C++, and the Ruby/Python for misc. code. Good to hear that bots would be unaffected! I’ll have to think of some way to force the Unity player then… hell wouldn’t a server side stored checksum work, where you validate the client’s code with it?

An easy way to implement patching would be a game launcher, similar to any game hub or log in page. Titles such as League of Legends, Minecraft, Battle`net, Steam, etc. come to mind. Delete the old client, replace the new one. It is possible for the tech-savy hackers, the ones who actually know programming, to update their clients, but for the general masses, hack clients would become obsolete.