Idea for changes to Tidi

Eve Tidi Idea

Design Idea to improve Max TiDi Fights.

**I have no clue how Eve is written, this is just a general idea on how to implement changes that could improve overall performance for large scale battles under Max Tidi.

**This is a long writeup.

So my basic assumption of the issues at play during Max Tidi type fights is that you have a large number of capsuleers all sending calls to Eve’s Servers. The Servers then get overwhelmed trying to process all the calls in a set order and the whole thing comes down. You start to get strange behaviors and unexpected results. The user gets a frustrating experience.

My idea would be to turn Eve into a Turn Based type game during these situations to allow for the easier processing of all calls sent to Eve. It would work in the following way:

My design idea would deal with the issue on multiple levels.

1 - Creating a Tidi window to manage all user calls. Users can cancel actions, select new actions, and have additional functionality I will talk about below.

2 - A completely different Eve operation under Max Tidi then during normal operations.

3 - A process to handle the entering of Max Tidi and the Leave of Max Tidi.

Idea 1 - Tidi Window

The window I’m envisioning would take over for the user’s actions during TiDi. Users would still be able to target/activate modules on their screen, but the actions would populate in a queue in the Tidi Window. The user would be able to do a set number of actions per Action Turn, setup future action turns if they wish, delete actions they didn’t intend to make. Then before their action turn they would have to select “Submit” there by locking in their action window.

Now for my idea I would list a few actions but you could add whatever actions you wish the capsuleer to make. The actions would be - Lock/Unlock their target slots, Activate each module/Deactivate each Module, Reload/Change Ammo, Set a movement direction/Command(Keep At range/Orbit)/Jump from System/EnterWarp.

Idea 2 - Max Tidi Operation

Under this scheme a system where Max Tidi is happening would become almost like an instanced environment. The basics work like this:
Eve Detects Max Tidi. (I would experiment and figure out at what percentage of Tidi you should enter this process. Maybe you enter the process before you have to so the servers are still responding rather then when you need to.)

Eve calculates how many users it can support per action window.
A action window should be long enough for a server to receive a command, to process the command.

Example - 1000 players. Eve can handle 50 player commands at one time. So You would need 20 Action Windows. You would add in some room for player growth plus a number of action windows for the server to process anything it needs to process. Let’s say you add on 20% for additional players plus 5% for processing. So roughly 25 Action windows. 20 alloted for players, 4 for growth(new incoming players), and 1 Action Window for processing.Each action window would have to be X number of seconds long to allow for the receiving of calls, processing of calls, and for the Server Action Window, for sending data back. Let’s state 5 seconds in this scenario.

For sending any information back to the user, that would happen after each and every user has taken a command.So at the end of the command cycle a period of time would have to be allotted to account for updating all clients with the results of the previous actions, doing any clean up on objects/DB that’s required.

So 25 Action Windows times 5 Seconds means every 125 Seconds would be a System Turn. So 125 Seconds under Max Tidi would equal 1 Second in normal operation.

Now you don’t know how long the battle will last for so you set it up to go until enough players leave system or until downtime. Let’s take for example the fight has 5 hours until downtime. Meaning there would be 144 System Turns total.

  • All Users are assigned to a Action Window

    Each user would be allowed to process a set number of commands.
    They could Target Enemies.
    They could Shoot Already Targeted Enemies
    They could Reload Non Action Guns
    They could Shoot loaded Guns
    They could Activate/Deactivate Modules
    They could set a movement action(Jumping,Keep At Range, Orbit, or manual movement)
    They could send a drone command/fighter command.

-All commands are sent to CCP

-All commands would start to process as they are received however no updates would be sent until the end of all the player commands during the System Action Window.

My design theory here would use multiple databases. A database for the current action window and a database for the next action window. The DBs are populated with all of the stats that a player has that is required for the actions to complete. The DB would be the complex part in my opinion. I have zero idea how Eve works so my entire idea might come crashing down at this moment because this isn’t feasible within Eve’s code.

Basically when a player enters max tidi all of their stats would populate the DB. There would also be tables/columns for any inputs the player might receive during an action window. Any incoming damage, any capacitor changes, movement changes whatever. Then during the Server Action Window it would just go down the line and calculate all the values. It would also write any changes to that player to the current DB and the next window DB. Then it would update all clients with the new information, and the next action window would begin using the new DB. The Old DB would then be overwritten with the next action window information as necessary.

Entering/Leaving Tidi

As players enter Tidi their calls to the server are frozen and cleared. Their information is logged into the DB, they are assigned to a Action Window in order, their Tidi Window would open, and they would be skipped for the current action window to allow for them to completely load and all of their information to be written to the DB.

When leaving Tidi they would initiate a jump(Jump Drive or Gate or Bridge or Logout). This would not process until after the current System Turn finishes. Any incoming damage, cap usage, whatever would process and if they are still alive they would leave system. They would be removed from the DB.

In Conclusion this system would bring a type of order to the chaos. Instead of Eve processing whichever command it receives first, it processes the commands in a set order that is extremely predictable allowing for a really strong dynamic component. This would give CCP a ton of control over performance and also allow them to adjust certain values to increase or decrease speed of a fight depending on server performance.

In no way is this a huge change for Eve. As far as I know it already sort of acts like this with the server ticks and processing of each command in order. It just not a predefined order. It’s whatever command it gets first. This is just a way to organize the commands and actions to allow for greater performance under extremely stressful situations.

Let me know what y’all think.

Did you actually ever write high performance code?

… and what did you actually program in your life?

And … let me get this straight …
… you want players to be able to queue commands?

1 Like

You don’t understand the root cause for which tidi is the best fix currently available.

Fair enough. LIke I said a few times I have no idea how Eve is coded. This is simply a design theme.

Can you explain what the root cause is? I could go back and adjust my idea based off of that info.

No
Nothing
What’s wrong with Queueing commands on the client side?

Again this was just an overall design idea. If you have issues let me know what those are.

I think the point of TiDi is to preserve the usually gameplay of EVE as best as possible. I’m not sure anyone wants a game that handles completely differently instead of trying to deal with the issues and limitations.

1 Like

Except under current conditions Tidi does not preserve the usual gameplay of Eve in anyway shape or form. 10 to 20 minute time to resolve calls is the standard during heavy tidi. Plus strange behaviors, disconnects, and random issues.

As far as limitations and issues CCP really hasn’t discussed that. So anything on that is just guessing which is why I mentioned that a few times during my write up.

They may not want to advertise the limitations in a misguided attempt to prevent the strategic use of tidi.
I have no doubt that mathematicians and computer scientists among the players have fully analysed what happens in tidi to understand and take advantage of tidi when it happens.

1 Like
  1. Try to appear large by holding up your arms and jacket, and/or standing on a rock or stump. Back away only when the Tidi stops its approach. Intimidate the Tidi by making yourself look bigger

  2. Stand your ground.

  3. Yell “Hey Tidi“ loudly.

3 Likes

I’m going to say that it’s a bad idea because, well it seems to be trendy and we don’t really like new ideas in New Eden unless CCP comes up with them then everyone complains but can’t really do anything about it and then the threads are locked and everyone forgets about them until the next bad idea comes along.

Does that make sense to you? Me neither.
Take care.

Haha. Fair enough.

1 Like

Okay, thanks!

I have a question.

How does this reduce the amount of computations required?

Except it does, just at a slower speed, the standard flow of the game and the expected outcomes still happen, just not in real time, which is pretty much the only real solution, TiDi IS the fix

Well, to be fair, players often propose bad ideas. One of the most common problems is that they tend to not consider how their proposed changes would affect play styles other than their own. Player suggestions also often fail to consider potential abuses, exploits, and work arounds for some reason. And, if you want some examples of clearly terrible player ideas, look no further than proposals for extremely OP ships and those that advocate for the removal of entire play styles from the game (i.e. get rid of all HS PvP).

As for improving the ability of the server to handle larger and larger fights in a way that doesn’t suck all the fun out of the game, I think I’ll just leave that one to the experts. From listening to third party devs talk, I’m not even sure that programing expertise is enough, as you also need to know how Eve works in particular before you can start proposing solutions. And I am personally short on both -programing expertise and knowledge of Eve’s inner workings.

As for this particular idea, meh. Of course, not having the server crash would be an improvement, but tidi can already result in excruciatingly long battles. So, stretching them out even more probably wouldn’t go over so well. I mean, at some point, I think I would honestly rather have the FC’s play a total war type game with whatever forces answered their pings. Then I wouldn’t have to spend 37 hours of my life watching 0.17 actions per minute get processed, and could go do something else. Just ping me with the results, and I’ll watch a video of the fight at my leisure.

Anyway, I’ve heard other suggestions that sounded better (such as turning everyone’s individual drones into a single drone with 5 times the hitpoints and damage), but once again, I lack the expertise and knowledge to know whether it’s actually a good idea or not. So, once again, I’ll just leave it to the experts.

2 Likes

Hey I’ve made that one many years ago too! :smiley:
Virtual Drone Clouds! :slight_smile:

I still owe you a reply somewhere.

1 Like

The major huge battles are almost exclusively over sovereignty. Means one could declare certain grid as sovereignty battle area with fixed space share for both sides, which each pilot would have to choose bindingly either by the respective alliance affiliation, or before entering this area. And then configure this number so that no server crashes. So in principle a phasing. The small disadvantage there would be no third parties, because they would have to choose a side and would not be allowed to carry out any aggression against blue side. (like safety principle)

So one could divide these phasing grids on the individual servers and book the sum of these Grids as new Worldwide Guinessbuch record, even if they are individual.

Also just an idea.

PS,: I know there are still many gaps, as one would change the Grids then or also abuse with it, therefore also only a direction suggestion. Clearly, no server can cope with infinite number of players, so you will have to divide, or limit.

How would ‘choose a fixed side’ solve the problem of Tidi?

Fixed grid 4k Players slots, site A 2k slots, site B 2k slots. No server Issues. No “we deff Delv with 10k vs 1PAPI” :slight_smile:

PS: As I said, I realize there are questions about how to meaningfully merge these phases when damage comes to a Citadel etc, so just rough idea of that. The fact is: servers are not infinite, you will either have to divide (my suggestion) or restrict (would not help anyone).

Oh, a limited number!

I see no way how that could be abused. None.

(WWB2 fictive battle: papi is a little quicker and sends 2000 players and 1000 alts pretending to be on goons side. Goons have only 1000 spots for their fleet left and fight 1000 vs 2000, while 1000 useless alts observe the fight.)