Changes I'd like to see reverted once the Unity Client is out


#60

Well yes, my explanation has been rather reductionist.

When I say “detect when a crash will happen”, I’m more accurately saying to trigger the code when a certain server load is reached. However, this cannot occur too late into a possible crash, since the server, well, crashes. This could be manually timed, but would rather be better yet adjusted by machine learning after it watches the server crash naturally numerous times, to calculate when last code could be effectively run during high loads before reading data from the server becomes impossible to do. But all of this is moot because something you said in your last reply changed everything.

I am a junior developer at the moment, and I also do not claim to know a fraction of the game’s inner workings beyond what is publicly leaked, version of the game years old. So imagine my immense face palm when you mentioned continuous saving… this changes everything! Instead of having to write a timing mechanism for the snapshot, catalog, whatever vocabulary I’ve used in the past, we can just run continuous data entry upon high server loads. And I mean high, during rubber banding kind of latency issues. And then you simply compare 80, 40, etc. ms before the crash and after the crash. If the server recovers, dump the memory. If a crash occurs, write the data to each user’s entry in the database, and discard that after they reconnect.

I do however see an issue with the proposed change. Make the requirement to start the code (and end it), at a too high of a thresh hold of server lag, and it wouldn’t help a damn thing since the intervals between continuous snapshots would be too high to account for human reaction time. Make the requirement too low, and you’re wasting server resources, granted a continuous system would tear through kilobytes like fire.

Actually, no, I’m wrong again, and I’m happily wrong! From what I can tell, the server checks are about every 1 second. I can’t give an average just based on a small sample size, but I know the client checks are nearly every 100 ms. Wait… I wish I had an environment to test this on, but in theory, in a server crash scenario, player data is stored by the server, say when the server tick rates jumps up to 1 tick per x seconds, lets say 3. From the moment the server is unable to run checks on inventory to the crash, within a maximum y, that information is ignored.

In a practical situation, x would be somewhere within 3 - 5, where as code can still be executed, but the tick rate doesn’t normally reach. When y hits 10+ (as a theoretical example), the server ignores all vital client information about inventory until a. the servers crash, and then the last snapshot taken is compared, or b. the servers return to a healthy tick rate below the value of y, and any inventory data the client is rolled back to before the value of y was reached.

In practice, y would be set to a number where realm becomes unplayable, so that players cannot claim that they lost white bags, etc. Mind you, when server lag is occuring, such as a tick every ten seconds, the game is effectively running ten times slower. I can’t give you the y value when enemies and players start moving off screen, perhaps y, or x for that matter should be increased or decreased, as were used for examples purely, but at a certain point no player can do much of anything during server lag. Items won’t drop, SB is ignored, requests to use abilities, nexus, death, etc., are all ignored, until the server either crashes or “snaps” back.

Sorry if I’m repeating myself, but:

  1. If it crashes, the last inventory check is cross referenced to the next reconnection.
  2. If it lags but then “snaps back”, all client data during the miscommunication is ignored and reset back to the moment the lag begun. Thanks to code implemented by Deca in a previous QoL update, players who experience such latency issues (server side only) are invulnerable until they come to. In such a case as last year’s infamous ice cave deaths, this would give a grace period of perhaps a second or so to nexus after the snap.

#61

yikes xd


#62

Interestingly, one of the RWT spammers recently began advertising that s/he is selling the site itself. I wonder if that is random timing or related to the unity port or the buffed drop rates (though those are now fixed)?


#63

Absolutely, no I agree, but I just don’t think its as large of a problem before, I think i’ve heard some of these are going out of business (remember a site like this costs money to host, and a lot of time to run and supply the customers and the way they get most of their items is by duping, which isn’t always consistent.)

I’m saying that DECA themselves have made RWT less profitable. Do you remember when WC tops were rare? I do. They used to be worth many life. GGen went from 3 life to 1 this past year.

That means it is 1/3 of the price it used to be. Because of how much more common it is and easy to obtain.


#64

It’s so complicated with the positives and negatives of sb/unsb. RWT can exist in either world, so that’s not really a reason for or against (selling items vs selling accounts). I still think the upsurge in playerbase from unSB and the money payers bring in, (vaults/pets/etc), makes it worth tolerating the inevitable RWTing of individual items.

It’s still the inconsistency of some-soulbound, some-not, more than anything that continues to irritate. If SB UT is a good thing, then by extension SB all ST UTs would be an improvement, and the T6 rings, and abilities, (since they’re the best of their category and we have the LH top weapons/armours SB). Maybe even go as far as just keeping 0% fame items available for trade. Or the opposite and unSB the lower fame % UTs. Honestly why can I trade a noob a Cosmic but not the Jungle UT staff, it’s dumb.

Whereas duping of course is entirely bad, so item IDs? Yeah I’d love that to happen if it gave the game better security! They could maybe transfer some server resources/costs by ditching half of the tumbleweed EU servers for a start…


#65

if UTs do ever become UNSB it will kill the player base overtime. As of right now lots of players without a doubt play the game to collect and grind rare UTs. So if UTs do become UNSB that will leave nothing for players to grind. I know you could say instead you’ll grind to be able to afford buying UTs but that will leave players to grind the dungeons that will give them the most profit the fastest and repeat.

Part of why the UT grind is fun is because of the variety of places that drop good UTs. If you want X UT then go to X dungeon and grind that until you get it, if you want Y UT then go to Y dungeon and grind until you get it. Instead it’ll be go to Z dungeon and grind till you get rich then go buy X UT, Y UT. Even worse if players choose not to do the most efficient dungeon to get rich then they will be wasting their time, there wouldn’t be a reason to do any other dungeons than the most efficient one to make profit.


#66

I hope the thing they tease-mentioned about new game versions (or something) will allow either option to be possible, if you like the PPE style of getting your own loot, or you prefer the FFA of being able to try any item (vault wealth permitting!).

I hate the grind of going to dungeon X for item Y. I personally much preferred the past where I could go to dungeons A, B, C, D,… (the ones I found the most enjoyable) and trade everything I earned for item Y, from a player who had no use for Y, making us both happy.

Fun is the thing missing from your analysis, if you have more fun in tombs, you can run 24-7 tombs, sell off your prots and pyras to the guy who likes doing 24-7 Shats (etc). But what’s fun to one isn’t to the other! So if you have fun grinding for your own personal wb (people did used to do this in 2012 era) you can still do so.

So yep I hope they some how find a way we can both be catered for! :rocket:


#67

I hope so too, adding an official mode where you have to earn everything yourself would be great nonetheless, but I feel like the whole game should be like that to a degree.

Yes, grinding a fun dungeon to get rich then buying UTs from boring dungeons sounds great and more fun. I understand that, but efficiency still plays a big part of whether you will end up doing that. Even if you find X dungeon fun to do, you’d still be missing out on even more profit by doing the most profitable dungeon that you might not find fun.

In the end my problem is if I find a certain dungeon fun that’s not as profitable as another then I’ll have a hard time justifying spending my time doing it when I could be making more doing the other dungeon. Having UTs be SB would solve that problem easily. I wouldn’t have to worry about that, since I’d have to grind every dungeon that I want the UTs from and it will all be justifiable.


#68

This depends on your definition of fun. I certainly enjoy some dungeons more than others. But I also enjoy the variety of dungeons and environments, and the fact you have to do a variety of them to max all your stats, to collect items for sets and unique UT items you particularly want.

If everything could be traded there would be no need for any of that. You could just do the same dungeon over and over again, selling whatever you find, collecting life pots (or whatever) towards the item you need. You would not do the dungeon you find fun, but the one one you can farm most efficiently, over and over again. Even if it’s fun at the start it would likely not be at the end. If it ever ended – you might find yourself doing that dungeon all the time, as the best one for earning wealth.


#69

I also believe that the revenue is going down.

However, RWT shoes sites have been opening and closing over the years. This shouldn’t be taken as a sign of anything. Perhaps your dupe method is patched and you run out of stock. Or you get worried about the legal consequence of running the business.

The cost of running such a site is small once the site and bots are fully set up. Pretty much everything is automated other than customer support and solving captcha for new mules.


#70

This can also be automated with money.


#71

I’d like to see the frames uncapped from 60 personally


#72

It’s not a change to be reverted, but I would love to see enemies that can dodge bullets. I feel like I would stop loving it whenever I had to fight them, but it would be cool.


#73

A bit pessimistic, but maybe this might spark auto dodge hacks that will copy the enemy behaviors.


#74

Amen. It also means you can do consistently dumb shit like EPing the mad god, and gonna buy a new EP. They’re cheap. 8)
…but of course, the kids playing this these days don’t know jackshit about having fun.


#75

Why? 60fps is enough for this sort of game. Not sure what is viable with Unity but the cost of higher frame rates is non-linear in games. Unless you actually need it pushing the frame rate higher can be damaging to performance for no good reason.

Rendering takes a certain amount of CPU time. 10ms say. So if you have 30fps that’s 30 x 10 = 300 ms for rendering, 700ms for game code, 700 / 30 = 23ms per frame. If it’s 60fps that’s 60 x 10 = 600ms for rendering. Only 400 is left for game code, 400 / 60 = 6ms per frame. About 1/4 the time for game code from doubling the frame rate.

Those are made up numbers, but the logic is from experience. You need a very good reason to go over 60fps, as the impact is so high on your game code. You can’t just uncap the frame rate and expect everything to run more smoothly.

edit: There is another reason. Modern PC displays tend to have fixed refresh rates of 60Hz. While CRT displays supported a wide range of resolutions and refresh rates, for LCD displays it is fixed in hardware, as the pixels don’t change size and are refreshed at a particular rate. The rate they choose is 60Hz as for most people that’s all that’s needed.

Yes, you can get displays with higher refresh rates, but no-one is going to buy one just to play ROTMG. They will play it on their laptop, or a standard PC display, which is limited to 60Hz no matter the frame rate of the game.


#76

I have a 144hz monitor. The more smooth the gameplay is, the easier it is to do things such as dodge, at least for me.


#77

I really don‘t think you would notice a difference. There is a noticeable difference between 30fps and 60fps, but above that the difference is much harder to spot. Heck, most people think the action in their favourite blockbuster is perfectly smooth (or if it isn’t it’s due to direction or camera handling), and that runs at normally 24 or 25fps. 30Hz/fps is good enough for most things, 60fps can help with fast action and gameplay, but going higher makes little difference for most games.

There are particular reasons why going higher than 60fps won’t help in ROTMG, mostly due to it being a network game. First the game has to run at the same rate for everyone for networking to work. Second your ability to react quickly and dodge is limited more by network latency than anything else, which no fps will fix. Finally as a network game it’s important it provides a consistent experience for players – the same resolution, game area size and update speed so display fps.


#78

You do. I know this because I am someone that went from 60hz to 144hz.

This is a fallacy because movies and video games are two different things, especially when it’s a game like ROTMG which is fast paced and requires you to pay attention and react quickly lest you lose hours of effort. A movie, on the other hand, is for viewing.

This likewise isn’t true. For any game that requires a high reaction time, like ROTMG where some doofus can run up behind your cloaked rogue and get a totally balanced instakill shotgun fired in your direction, you need every moment to react. 144hz is a literal advantage compared to 60hz in this regard because everything is smoother, faster, and you literally have more time (as little as it may seem) to react to things. This is why if you play a game competitively, you want the highest refresh rate you can have if it is something like CSGO, or TF2.

Network game is a madeup/slang term and is not used by any credible sources according to google. The best definition of it I could find is something along the lines of “A network game essentially means that it uses a network to transfer data between two computers, and could work even on a local network without going into the internet” with virtually everything else going with that. ROTMG certainly doesn’t function this way.

If you mean “online game” as “network game” I’ll talk about why that is silly in a paragraph further down because the online nature of the game is brought into light more significantly in another one of your points.

This is also a fallacy. This doesn’t argue against my point at all, because it does not make a point against having 144hz and is thus unrelated because lower fps still limits my ability to react quickly and dodge in a fashion that in no way inherently includes latency as a factor.

Again, “network game” is an apparently madeup term.

Many online games including games that are far more competitive than ROTMG, a PVE game, mind you, do not cap the FPS at 60 because “not everyone has a 144hz monitor”. Furthermore, my rig is powerful, and I can do dirty tombs with well over 30 people in there with no frame drops and no fps under 60. This is obviously not the case for everyone and is not the case for me if I play on a less powerful system like my laptop. Should I have my frames capped at 20 because that is what everyone elses fps is at? Should it be capped at some average fps across all players? Of course not, because that is obnoxious.

This entire post is nonsensical arguments against something that is standard in most PC games. It is a nonsensical argument acting as though I am asking for some kind of miracle of engineering when indie games that are not asking for $320 USD do it practically across the board.

Bonus Round

This is not an argument against my post because “most people” does not qualify as a legitmate argument for a request that is not only enabled by unity, but also in almost every single game even if “most people” only play those games at 60 fps as well.

This is not an argument against my post because I am not arguing that people should buy a 144hz monitor or any monitor higher than 60hz just for ROTMG, or in general. I am arguing that we should have the option to customize our own experience as it pertains to optimizing the game to make the most out of our hardware.

If you needed a very good reason to go over 60fps, it would not be industry standard to have an uncapped fps as the norm with an fps cap option as an afterthought.

The only reason FPS caps are in games is so if you have a PC that is constantly going between 60 fps and 120 fps, you can visibly see it and it does not look smooth, not because it somehow interferes with the game code. There is likewise no reason why ROTMG on Unity cannot have the option for the FPS to be capped at a specific number.

I want to specifically point out that a fair amount of my arguments were specifically made to point out that if what you were saying were true, then it would not be so easily disproved when you think about other multiplayer games, mmo or otherwise.


#79

There is an ongoing debate about FPS and here is a good article that is worth a read for those interested.