Comment Dofus Unity POURRAIT être fluide

DISCOVERY Space Empire
18 Aug 202410:41

Summary

TLDRIn this video, the creator addresses criticism about their approach to game development, particularly concerning inventory optimization in 'Dofus.' They demonstrate a realistic inventory system with 10,000 unique items, explaining technical solutions like 'lazy scrolling' to manage large datasets efficiently. The video also showcases server-client interactions, emphasizing the importance of modern development practices for better performance, even under real-world internet conditions.

Takeaways

  • 📹 The creator felt compelled to make a second video to address criticism and misunderstandings about their work.
  • 🎨 They clarified that they are critiquing optimization issues in a game development context, not the overall game design.
  • 🛠️ The video includes a demonstration of a more realistic scenario to showcase the efficiency of their approach to object handling in game development.
  • 🌟 The creator has generated low-definition sprites for thousands of different objects to avoid manual downloading and to illustrate the point about optimization.
  • 📈 They explained the concept of 'less scrolling', a technique to create the illusion of a large number of items being scrolled through while only instantiating a manageable amount.
  • 💡 The video demonstrates how to efficiently handle a large inventory of items in a game, such as in an auction house scenario.
  • 🔍 The creator implemented a system to filter and display the cheapest items in each category, simulating a real-time auction house experience.
  • 📊 They showed how to handle a large number of simultaneous sales and maintain performance by keeping the data in RAM.
  • 🌐 The video includes a live demonstration of making HTTP requests to a server, filtering items, and updating the inventory in real-time.
  • 🛑 The creator emphasized the importance of server optimization, suggesting that Dofus's servers could benefit from modern development practices.
  • 🔧 The script concludes with a call for server-side improvements rather than just client-side updates, to ensure a smooth and efficient gaming experience.

Q & A

  • What was the main reason for creating a second video?

    -The main reason for creating a second video was to clarify and demonstrate more realistically the points made in response to debates and criticisms in the comments and on the Kama post, where people claimed that the creator's actions were nonsensical and that they didn't understand the subject matter.

  • What is the purpose of creating numerous sprites for objects?

    -The purpose of creating numerous sprites for objects is to have a variety of images for an inventory system without having to manually download each object, allowing for the display of 10,000 different objects with varying quantities.

  • What technique is used to make the inventory scrollable with a large number of items?

    -The technique used to make the inventory scrollable with a large number of items is called 'less scrolling', where only the number of items needed to fill the screen are instantiated, and as the user scrolls, the first items are removed and new ones are added, creating the illusion of a large, scrollable list.

  • How does the 'less scrolling' technique work when scrolling through items?

    -The 'less scrolling' technique works by updating the displayed items as the user scrolls, without actually instantiating new objects. It renames the existing objects to give the impression of scrolling through a large number of items, while in reality, a limited number of objects are being reused.

  • What is the significance of filtering the cheapest items for each category in the inventory system?

    -Filtering the cheapest items for each category is significant because it allows the system to quickly select and display the most affordable options to the user, enhancing the user experience by providing relevant and cost-effective choices.

  • How does the system handle a large number of sales transactions simultaneously?

    -The system handles a large number of sales transactions simultaneously by keeping the objects in RAM and filtering them as needed. This approach allows for quick access and manipulation of the data, even with a large volume of transactions.

  • What is the purpose of making a HTTP request to filter items based on user input?

    -The purpose of making an HTTP request to filter items based on user input is to dynamically retrieve and display items that match the user's criteria from the server, providing a personalized and responsive user experience.

  • What is the latency experienced when making a request to a real server and how does it affect the system?

    -The latency experienced when making a request to a real server is 22 milliseconds, which is considered good, especially considering the public Wi-Fi connection. This latency affects the system by adding a delay to the response time, but it remains acceptable for the operation of the inventory system.

  • How does the system ensure a smooth scrolling experience for the user?

    -The system ensures a smooth scrolling experience by instantiating only a small number of objects and updating their properties as the user scrolls, rather than creating and destroying objects, which makes the scrolling appear fluid and responsive.

  • What is the main criticism of the Dofus server code in the context of the video?

    -The main criticism of the Dofus server code is that it has not been updated with modern development methods and remains outdated, similar to a server from the Flash era, which could be improved by adopting more current practices.

  • What is the goal of the video in terms of technical demonstration?

    -The goal of the video is to demonstrate the technical aspects of creating a responsive and efficient inventory system, showcasing the capabilities of handling a large number of objects and transactions with minimal latency and resource usage.

Outlines

00:00

😀 Addressing Criticisms and Demonstrating Efficient Optimizations

The speaker begins by addressing criticisms that their previous video was nonsensical and lacking understanding. To counter this, they aim to provide a more realistic demonstration of the optimizations they critiqued, which are supposed to be efficient. They explain that they have created numerous sprites for various objects, such as 1000 different grains, cereals, wings, and legs, totaling around 10,000 unique objects. The purpose of generating these low-definition sprites was to avoid manually downloading objects and to showcase a diverse inventory. The speaker also discusses the limitations of displaying a large number of objects in a scrollable list and introduces the concept of 'less scrolling' to maintain performance while giving the illusion of a large inventory. They conclude this section by demonstrating a table setup for an item sale, including quantity, price, label, and expiration date, and explain how they filter and display items for sale in a server-like environment, highlighting the efficiency of their approach even with a large number of objects.

05:01

😲 Implementing Smooth Scrolling and Efficient Data Handling

In this paragraph, the speaker focuses on the technical implementation of a smooth scrolling interface for a large inventory, despite having a limited number of instantiated objects. They describe a technique where only a subset of objects is displayed at any given time, and as the user scrolls, the objects are dynamically renamed to give the impression of a continuous scroll. This method, known as 'less scrolling,' is shown to be highly efficient and fluid for the user experience. The speaker also discusses the server-side operations of a game like Dofus, explaining how different workers handle various tasks and how their implementation mimics these server behaviors. They demonstrate the speed and efficiency of their system, even when using a real internet connection and a remote server, by showing how quickly objects are filtered and displayed in real-time. The speaker also touches on the potential for optimizing server queries to reduce load and improve performance.

10:01

🛠️ Technical Reflections and Suggestions for Dofus Server Improvements

The speaker wraps up the video by reflecting on the technical aspects they've discussed and expressing their awareness of other issues that Dofus might be facing. They mention that the server code has not been updated with the Unity port, which they find regrettable. The speaker's main suggestion is for the developers to adapt their server methods to more modern development practices, rather than maintaining outdated server structures from the Flash era. They hope that their demonstration and suggestions will be well-received and conclude the video with a note of optimism for future improvements.

Mindmap

Keywords

💡Optimizations

Optimizations refer to the process of making something more efficient or effective. In the context of the video, the speaker is critiquing certain optimizations that are supposed to improve performance but may not be functioning as intended. The script mentions creating 'sprites' in a low definition to optimize inventory management, demonstrating the speaker's focus on practical improvements in game development.

💡Sprites

In digital imaging and game development, a sprite is a two-dimensional image or animation that is integrated into a larger scene. The video script discusses the creation of numerous sprites for game objects, such as 'wings,' 'grains,' and 'legs,' to represent different items in the game inventory, illustrating the speaker's point about the quantity and variety of game assets.

💡Inventory Management

Inventory management is the process of tracking and controlling the items within a game's inventory system. The script describes the speaker's approach to managing a large number of game objects, mentioning the creation of 10,000 different items and the challenges of displaying them without overloading the system, which is central to the video's theme of technical critique.

💡Scrolling

Scrolling in the context of user interfaces refers to the ability to move through content that is larger than the display area. The video discusses a technique called 'less scrolling,' where only a subset of items is displayed at a time, giving the illusion of a larger inventory. This is a key point in the speaker's demonstration of efficient inventory display.

💡HTTP Request

An HTTP request is a message sent from a client to a server to request access to a resource. In the script, the speaker describes using an HTTP request to filter and retrieve game objects from a server, showcasing the interaction between client and server in a game's architecture.

💡JSON

JSON (JavaScript Object Notation) is a lightweight data-interchange format that is easy for humans to read and write, and for machines to parse and generate. The video script mentions using JSON to return filtered game objects, highlighting the use of JSON in data transmission within game development.

💡Dofus

Dofus is a reference to a specific game, likely the subject of the technical critique in the video. The speaker mentions 'Dofus' in the context of server performance and client updates, indicating that the game is the focus of the discussion about technical improvements and server optimization.

💡Server Workers

In the context of server architecture, workers are separate processes that handle different tasks or functions. The speaker discusses how Dofus Unity servers might be separated into workers for managing combat, transitions, and sales, which is relevant to the video's theme of backend optimization.

💡Database

A database is a structured set of data held in a computer, especially one that is accessible in various ways. The script refers to creating objects in a database and retrieving them, which is a fundamental aspect of game development and the management of game assets.

💡Coroutine

A coroutine is a computer program that generalizes subroutines for non-preemptive multitasking, by allowing its execution to be suspended and resumed. The video mentions using a coroutine in Unity to initialize the inventory after the layout is set, which is an example of the technical details the speaker is addressing.

💡Unity

Unity is a cross-platform game engine developed by Unity Technologies, widely used for creating interactive games and experiences. The video script frequently mentions Unity, indicating that the technical discussion is centered around the development process and optimization within this specific game engine.

Highlights

The creator addresses criticism and misunderstandings about their work, aiming to clarify their stance on certain optimizations.

A demonstration of a more realistic approach to show that the critique is focused on supposed optimizations.

Creation of numerous low-definition sprites for objects to avoid manual downloading, showcasing a large inventory system.

Explanation of the inventory system containing 10,000 different objects with varying quantities.

Introduction of 'less scrolling' technique to manage a large number of objects efficiently on the screen.

Modification of a sales table to include quantity, price, label, and expiration date for a more realistic sales environment.

Discussion on the technical feasibility of handling 1 million objects in an inventory and the limitations of scrollable lists.

Implementation of a server-side operation to filter and display the cheapest items in each category for sale.

Use of HTTP requests to filter objects in real-time based on user input, demonstrating server-client communication.

Demonstration of the speed and efficiency of server communication even with a large number of objects and high latency.

Explanation of the 'less scrolling' technique in action, showing how it provides a fluid scrolling experience with a limited number of instantiated objects.

Technical discussion on how the server for Dofus Unity might be structured with separate workers for different tasks.

Critique of Dofus Unity's server-side code, suggesting it has not been updated with modern development methods.

Presentation of a method to dynamically load object images based on their names for a seamless user experience.

Analysis of the performance of the system when scrolling through a large dataset, highlighting the realism of the scroll.

Discussion on the potential benefits of adapting server operations to modern development practices for better efficiency.

Final thoughts on the importance of technical clarity and the desire for improved server adaptation in game development.

Transcripts

play00:00

alors rebonjour je pensais pas faire une

play00:01

deuxième vidéo aujourd'hui mais en fait

play00:04

vous avez vu il y a eu pas mal de débats

play00:06

dans les commentaires et puis sur le

play00:07

post en Kama que j'ai fait il y a

play00:10

beaucoup de gens qui disent que ce que

play00:11

je fais c'est débile et que je comprends

play00:12

rien du tout donc je voulais clarifier

play00:14

un petit peu faire une démo un peu plus

play00:16

réaliste pour montrer que ce que je

play00:18

critique c'est vraiment des des

play00:20

optimisations qui sont censées donc là

play00:22

ce que j'ai fait c'est que déjà j'ai

play00:24

créé des des sprites beaucoup de sprite

play00:27

pour mes objets donc voyez j'ai des

play00:29

ailes euh j'ai pris quoi euh il y en a

play00:32

beaucoup beaucoup il y en a normalement

play00:35

il y en a à peu près il y en a 1000 de

play00:36

chaque donc il y a 1000 grosin

play00:37

différents 1000 céréales 1000 ailes 1000

play00:39

pattes en tout ça fait je sais pas si je

play00:43

peux le voir là je crois que j'ai 10000

play00:44

objets différents et donc comme j'avais

play00:47

pas de de j'avais pas envie de

play00:48

télécharger des objets à la main ce que

play00:50

j'ai fait c'est que j'ai généré des

play00:51

sprit en basse

play00:53

définition ça ça me permet si je crée

play00:55

mon inventaire comme hier euh d'avoir

play00:57

des images toutes différentes pour

play00:59

montrer que voilà je suis pas avec CIN

play01:01

images et cinq objets différents là j'ai

play01:03

vraiment 10000 objets dans ma base avec

play01:06

à chaque fois des quantités donc là j'ai

play01:07

fait un gros

play01:10

inventaire j'ai mis 2000 objets dans

play01:12

l'inventaire donc il y en a vraiment

play01:13

beaucoup et vous voyez que bon ça ça ça

play01:17

pulse euh deuxième point si vraiment je

play01:20

voulais mettre 1 million d'objets dans

play01:22

l'inventaire je pourrais mais je

play01:23

pourrais pas faire une liste scrollable

play01:25

comme

play01:25

ça si on

play01:28

regarde si on regarde regarde mes

play01:30

cellules là j'en ai vraiment beaucoup

play01:32

beaucoup beaucoup et euh si je en en

play01:36

instancier 10000 ou 100000 ou un million

play01:38

ça va pas marcher donc ce qu'on peut

play01:40

faire c'est en instancier juste le

play01:42

nombre qu'il faut pour remplir l'écran

play01:43

et quand on scroll ça va supprimer la

play01:45

première et ajou en fait ça va ça va

play01:47

décaler le texte pour qu'on ait

play01:49

l'impression de scroller mais en fait on

play01:50

garde toujours les mêmes objets ça

play01:51

s'appelle le

play01:53

less scrolling et je l'ai fait dans la

play01:55

démo pour l'hôtel des ventes là euh ce

play01:57

que j'ai fait c'est que j'ai ajouté des

play01:59

objet à Vantre donc j'ai un petit peu

play02:00

modifié la table

play02:03

elle ressemble à ça maintenant donc il y

play02:04

a juste une quantité un prix et un label

play02:06

et une date d'expiration donc c'est les

play02:10

c'est vraiment une table comme on

play02:12

pourrait mettre en vente un objet voilà

play02:14

donc ça c'est la table avec les objets

play02:16

donc il y en a plein différents il y a

play02:17

toutes mes catégories et ça va de 1 à

play02:20

999 donc il y a 1000 x 10 donc 10000

play02:23

objets différent c'était à peu près ce

play02:25

qu'il y avait de dans Dofus je pense

play02:26

c'est pour ça que je suis parti

play02:27

là-dessus et avec à chaque fois donc une

play02:29

quant aléatoire et un prix aléatoire euh

play02:32

ce que je fais c'est que je crée une

play02:35

requête ici qui va me sélectionner les

play02:38

objets les moins chers pour chaque

play02:39

catégorie par exemple ça va me prendre

play02:41

tête 51 là par 100 bah laquelle est la

play02:44

moins chère de toute ma liste donc il y

play02:46

a 600000 ventes en même temps et on peut

play02:48

voir que ça me prend donc il y a voilà

play02:52

600000 objets en vente les objets en

play02:53

vente ont été filtrés par un par 10 et

play02:55

par 100 en prendant le moins cher à

play02:56

chaque fois là je les garde dans la RAM

play02:58

et le premier exemple là c'est prix 15

play03:01

quantité 10 labelle arbre 22 donc

play03:04

l'arbre 22 par 10 le moins cher il est à

play03:05

15 la requête initiale elle prend 281

play03:08

misees donc ça c'est ce qu'on ferait

play03:09

normalement au lancement du serveur

play03:10

parce que le faire à chaque fois c'est

play03:12

un petit peu un petit peu lourd je pense

play03:15

et comme je disais modifier à chaque

play03:17

fois qu'un joueur fait un achat ou une

play03:19

vente c'est une possibilité ou alors

play03:21

faire cette requête là juste pour le

play03:22

filtre donné par

play03:24

l'utilisateur ensuite là on va voir que

play03:26

l'utilisateur va pouvoir faire une une

play03:27

requête donc une requête HTTP

play03:30

qui est ici où je juste prendre mes

play03:31

objets dans la RAM et les filtrer donc

play03:33

sil met un un filtre l et ben je vais

play03:37

dire tous mes objet où le label contient

play03:39

l et ensuite je vais lui renvoyer ça en

play03:41

jison pour ne pas être en local j'ai mis

play03:45

ngeroc ça me donne une vraie URL et je

play03:48

vais pouvoir me aller taper sur cette

play03:50

URL qui va rediriger vers mon propre

play03:52

ordinateur sur du coup mon serveur c'est

play03:54

comme en gros si je vous donne cette

play03:56

adresse là tout le monde peut se

play03:57

connecter chez moi et donc la là j'ai

play04:00

une latence de 22 millisees ce qui est

play04:02

une bonne latence sachant que je suis

play04:03

sur un wifi public pas en pas en

play04:06

etthernet malheureusement j'ai pas j'ai

play04:07

pas cette

play04:09

chance donc j'ai les 22 misees de

play04:11

latence donc l'allretour fera déjà 40

play04:13

misees et on va voir le temps que ça met

play04:16

à trier là on va dire que c'est ça c'est

play04:19

le vrai serveur d'ofus que je vais

play04:20

mettre sur le côté c'est le client donc

play04:24

ce qu'on va faire c'est que quand je

play04:26

vais cliquer sur http ça va faire une

play04:28

requête au serveur qui va qui va filtrer

play04:32

toutes les ailes qu'il a dans la RAM et

play04:34

tout me renvoyer je clique donc voilà ça

play04:37

a été assez rapide ça a mis euh 173

play04:41

milliseondes pour faire la requettete

play04:42

HTTP qui contenait 15 m donc 15 m c'est

play04:45

beaucoup parce que là en fait j'ai 1000

play04:47

objets ce qui est un peu un peu

play04:48

illogique mais pourquoi pas et donc ces

play04:51

objets ont été convertis en gison ils

play04:53

ont mis 250 misees à à parcer la classe

play04:56

et là on peut voir que du coup dans mon

play04:58

scroll j'ai pas comme ici des dizaines

play05:00

et des dizaines de grid r dans mon

play05:02

inventaire j'ai que c'est cette petite

play05:05

vingtaine de lignes qui sont ces lignes

play05:07

que vous voyez ici et ce qui se passe

play05:09

quand je vais scroller alors ça je vais

play05:11

essayer de vous montrer ça je vais

play05:13

prendre le premier le premier il a un

play05:16

label ici c'est l450 c'est celui qui est

play05:19

caché ici je vais prendre celui du

play05:20

dessous pour que vous voyez mieux le

play05:23

l54 quand je scroll en fait il va

play05:26

changer vous avez vu il a changé ici

play05:28

l513 972 et ici c'est complètement

play05:30

transparent quand on scrollle on n pas

play05:32

l'impression que il change mais en fait

play05:33

ce qui se passe c'est que dès que je

play05:34

monte pile d'un cran tous sont renommés

play05:38

et donc c'est fluide pour l'utilisateur

play05:39

et il a l'impression qu'il peut scroller

play05:41

énormément alors que dans les faits il y

play05:43

a très peu d'objets d'instancier donc

play05:44

c'est méga fluide et je peux scroller

play05:46

des milliers d'objets en fait là je

play05:47

pourrais scroller une quantité quasiment

play05:49

infinie d'objets puisque dans la scène

play05:51

Unity il n'existe tout simplement pas et

play05:54

donc vous avez vu que cette opération

play05:55

malgré le fait que je sois sur un vrai

play05:58

une vraie connexion sur internet avec

play06:00

une vraie requête à un vrai serveur

play06:01

distant qui revient ensuite chez moi qui

play06:03

est traité par mon PC qui a 32 Go de RAM

play06:05

euh normalement les serveurs de dovus

play06:08

Unity sont séparés en plusieurs workers

play06:10

chaque worker va faire une tâche par

play06:11

exemple celui qui va gérer les combats

play06:13

il va avoir beaucoup de données parce

play06:14

qu'il y a beaucoup de choses à gérer

play06:15

celui qui gère les transitions entre les

play06:17

maps il va gérer ses trucs aussi et puis

play06:19

celui qui gère l'hôtel des ventes il est

play06:20

dédié que aux mises en vente et puis à

play06:23

garder les prix les plus bas pour

play06:24

pouvoir les afficher tout ça donc

play06:26

normalement mon indice se comporte

play06:28

exactement comme le worker que devraient

play06:30

avoir les serveurs de Dofus Unity et

play06:32

vous voyez que c'est vraiment hyper

play06:33

rapide que là j'ai bien des images qui

play06:35

sont toutes différentes qui sont bien

play06:36

cherchées là-dedans elles sont loadées

play06:38

euh elles sont chargées dynamiquement

play06:40

avec le nom de l'objet le l612 il va

play06:42

chercher l'objet l612 dans mes

play06:44

ressources et puis ensuite vous voyez il

play06:46

s'en sort très bien il arrive très bien

play06:47

à à afficher ça en temps réel et on a

play06:49

l'impression d'un scroll complètement

play06:51

réaliste alors qu'on voit il y a rien et

play06:53

euh on voit bien sur dofice Unity que ça

play06:55

a pas l'air d'être trop le cas parce que

play06:56

quand on scroll ça fliqueer un petit peu

play06:58

ça saute et cette barre là bah elle se

play07:01

bouge pas de manière fluide donc ce code

play07:03

là je peux vous le montrer il est super

play07:06

intéressant euh d'abord donc quand on

play07:09

crée les objets en base de données

play07:11

ensuite je récupère le nombre total

play07:13

d'objets que j'ai eu euh et je vais

play07:16

commencer une cor routine donc ça c'est

play07:17

de l' synchrone dans Unity pour

play07:19

initialiser après le

play07:21

layout tac voilà donc ce que je fais

play07:24

c'est que j'attends la fin d'une frame

play07:26

pour que tout se mette correctement ça

play07:27

c'est si on lance le script dès le début

play07:29

d'un il faut que les objets a le temps

play07:31

de se la scène a le temps de se charger

play07:32

on va dire et je vais initialiser la

play07:35

poule quand j'initialise la poule ce que

play07:37

je fais c'est que je vais d'abord

play07:38

chercher la hauteur d'une de mes

play07:40

préfabes donc font 50 pixels de haut

play07:42

c'est chaque ligne que vous voyez ici et

play07:44

la hauteur de ma boîte de scroll donc

play07:47

c'est tout le carré qu'il y a ici comme

play07:49

ça je peux faire une division et savoir

play07:50

combien de boîtes il doit y avoir pour

play07:52

remplir toute la toute la la boîte de

play07:54

scroll euh et ensuite je les ajoute donc

play07:58

j'ajoute mes objets là je ajouter du

play07:59

coup qu'une petite vingtaine et ensuite

play08:02

je vérifie que à chaque fois que je

play08:03

scrolle mon truc je je vais mettre à

play08:05

jour mes objets pour que pour pouvoir

play08:08

simuler un scroll réaliste donc je vous

play08:11

laisse regarder le code on va pas le

play08:13

détailler parce que comme j'ai dit dans

play08:14

la dernière vidéo le but c'est pas de

play08:15

faire un tuto de de développement mais

play08:18

là vous pouvez voir là je regarde où

play08:19

j'en suis dans ma liste par rapport à ça

play08:21

donc ça c'est juste la position du

play08:23

contenu ici là je suis à 2913 sur 16000

play08:26

et si je descends vous voyez que ça

play08:27

monte et que là je suis à 6000 sur 16000

play08:30

et donc quand je suis tout en bas je

play08:31

suis à peu près à 16000 sur 16000 et

play08:33

donc l'objet qui est là ça doit être le

play08:35

dernier à être instancier et on voit

play08:37

c'est ce que je fais ici first visible

play08:38

index on voit que le First visible index

play08:41

va calculer le premier index qui serait

play08:43

visible tout en haut et ensuite il va

play08:45

juste mettre à jour pour afficher le

play08:47

texte pour modifier le texte de de ces

play08:49

boîtes là sans supprimer ou recréer de

play08:51

nouvelles boîtes ce qui fait que pour

play08:53

Unity c'est quand même beaucoup plus

play08:54

léger à gérer un truc comme ça donc

play08:56

maintenant on pourrait imaginer que

play08:57

quand on tape du texte ici euh j'insiste

play08:59

he sur Dofus quand on tape une seule

play09:01

lettre il a besoin de faire une requête

play09:03

au serveur mais c'est pas très utile

play09:04

parce qu'il nous renvoie 1000 objets et

play09:06

c'est un petit peu lourd pour rien si on

play09:07

attendait deux trois caractères déjà les

play09:09

serveurs seraient vachement allégés sur

play09:11

le point de vue hôtel des ventes et

play09:13

ensuite ben vous voyez une fois qu'il

play09:14

m'a renvoyé les données ça c'est

play09:15

vraiment super rapide même si ça revient

play09:16

d'un serveur distant he là c'est bien

play09:18

ngroc qui va me renvoyer ça et quand

play09:21

même en 250 misees bah tout est prêt et

play09:24

après j'ai mes objets là j'en ai à peu

play09:26

près un millier euh vous voyez là le le

play09:28

payload ressemble à ça donc on pourra en

play09:31

avoir beaucoup plus en vrai un 15 kg là

play09:33

je vous l'avais dit hier c'est

play09:34

excessivement peu pour des bonnes

play09:36

connexions ça pourrait arriver en une

play09:38

fraction de seconde et même si on avait

play09:39

10000 objets ce serait

play09:44

ok donc là j'ai fait l'exemple avec

play09:47

aucun filtre et vous voyez que là donc

play09:49

là j'ai une scroll là j'ai un scroll qui

play09:51

est énorme du coup puisque j'ai tout les

play09:53

objets de la base de données donc là il

play09:54

y en a euh en tout il y a 143 kg de de

play09:58

texte et donc ça fait 3000 objets donc

play10:00

3000 objets d'un coup et vous avez vu

play10:02

qu'il sont arrivés en 300 misees donc

play10:04

c'est plutôt ok

play10:05

euh voilà donc je voulais pas faire plus

play10:08

long c'était juste pour bien clarifier

play10:10

ce que je voulais ce dont je voulais

play10:12

parler dans les paramètres techniques et

play10:14

que j'étais bien conscient qu'il y avait

play10:15

plein d'autres problèmes pour Dofus

play10:17

sachant que apparemment les le code

play10:19

serveur a pas été refait du tout avec le

play10:21

portage Unity donc ça c'est c'est

play10:23

dommage mais c'était pas vraiment le

play10:25

sujet moi ce que j'aurais aimé qu'il

play10:27

fasse c'est qu'ils adaptent les serveurs

play10:28

avec les les les méthodes de

play10:30

développement un peu modernes et pas

play10:32

qu'il reste en fait avec un serveur qui

play10:33

date de l'époque de flash s'ils ont un

play10:35

client qui est qui est mis à jour voilà

play10:38

en espérant que ça vous ait plu je vous

play10:40

dis à plus

Rate This

5.0 / 5 (0 votes)

相关标签
Game OptimizationInventory ManagementServer CommunicationTechnical DemoUnity DevelopmentDofus GameScrolling TechniqueClient-Server InteractionPerformance TuningReal-time Filtering
您是否需要英文摘要?