Cẩm nang

Cái nhìn chuyên sâu về các số liệu trong CS:GO

69

Tôi là yohg, và tôi muốn giúp các bạn thay đổi cách mà chúng ta nghĩ về các số liệu cũng như vào trò của chúng trong CS:GO. Game tạo ra cơ hội tuyềt vời để chúng ta có thể phân tích số liệu, một việc mà khó làm trong các môn thể thao khác. “Demo” trong CSGO, với những ai chưa biết, là bản phát lại – replay – của một trận đấu bao gồm các hành động được thực hiện bởi người chơi trong xuyên suốt trận đấu đó. Demo về cơ bản là một bản replay cực kì tốt của một trận đấu (có thể nói là bản quay lại của trận đá banh là demo “tệ” vì không thể thấy hết những gì đang xảy ra trong trận đấu)

Việc có đầy đủ thông tin rõ ràng có nghĩa nó sẽ dễ dàng để phân tích một demo, và chúng ta có thể lấy được những thông tin thú vị mà chúng ta có thể dùng để phân tích. Thật ra thì Valve cũng có viết một phần mềm khá sơ sài. Tiếc thay là phần mềm này chưa hoàn chỉnh khi nó chỉ nhồi nhét tất cả sự kiện trong game vào định dạng psuedo-JSON để sử dụng trong tin nhắn và các định dạng tự tạo cho người dùng khác. Cơ bản thì, nó là một nơi khởi nguồn tốt để hiểu cách phân tích cú pháp trong trong một demo, nhưng sẽ tốn rất là nhiều công sức.

Tôi sử dụng phần mềm của Valve để viết chương trình phân tích phụ hợp với nhu cầu của tôi – ví dụ như, các thông tin về grenade, inventory, di chuyển, round, vị trí, súng bắn và các thông tin gây sát thương. Sau đó tôi viết một phần mềm phân tích (dựa trên Python) để phân tích thêm dữ liệu và đưa ra nhiều loại tính toán. Mong rằng điều này sẽ tiếp tục xây dựng trên mã Python và phân tích demo thành một chương trình phân tích có thể giúp hiểu rõ chiến thuật trong CS:GO theo một cách mà chúng ta chưa từng thấy trước đó.

Tôi đã viết sẵn một số công cụ, nhưng tôi muốn tập trung vào ba câu hỏi chính khác nhau về Counter-Strike và tìm hiểu xem chúng ta sẽ trả lời chúng như thế nào từ các demo.

Giả thuyết: Một vài quả flash tốt hơn những những quả flash khác.

Đây là một giả thuyết gây rất nhiều tranh cãi. Lấy ví dụ đơn giản, quăng flash ở Spawn chắc chắn là lãng phí tài nguyên khi so sánh với việc quăng flash ở các vị trí khác trên bản đồ. Tuy nhiên hiện tại, vẫn khá khó để đo được độ hiệu quả của một quả flash tại một vị trí tốt như thế nào.

Tại sao lại khó? Ngoài việc khó thu thập dữ liệu, vấn đề chính là việc quăng mỗi grenade lại khác một chút xíu, khi nói về vị trí x,y,z và cách quăng. Ngay cả khi ta tập luyện đúng một vị trí và cách quăng, mỗi lần quăng sẽ khác nhau một chút, vì game có độ chi tiết hơn rất nhiều mà người chơi mong họ có thể đạt được (về độ chi tiết). Do đó chúng ta phải tìm một cách để xách định nếu 2 quả flash có phải là cùng “một cách flash”.

Toán: Chúng ta có thể tìm ra được những pha flash “giống nhau” bằng cách mượn một vài kĩ thuật mà máy móc sử dụng gọi là thuật thoán “clustering” (tập hợp). Đây là một bài hướng dẫn một vài kĩ thuật của thuật toán này https://web.stanford.edu/class/cs345a/slides/12-clustering.pdf  (dành cho các bạn muốn biết thêm) .Clustering hoạt động rất tốt khi bạn có một cấu trúc rõ ràng trong dữ liệu của mình nhưng không muốn bỏ thời gian tìm hiểu cấu trúc đó bằng tay. Tôi đã phải dọn dẹp thêm chút để loại bỏ những quả flash không cần thiết. Và tôi sử dụng toán thống kê mô tả để dự đoán những quả flash ngoại lệ.

Biết thêm thông tin này rất là hữu ích. Khi một đội có thể quăng nhiều nhất 10 quả flash trong một round, bạn muốn chọn những quả flash mà sẽ làm mù đối phương. Sau khi chúng ta tìm ra những quả flash nào “giống nhau” (thuộc cùng một “tập hợp”), chúng ta có thể tìm tổng lượng thời gian trung bình đối phương bị mù. Từ đó, chúng ta có thêm phép tính tổng cộng bao nhiêu giây chúng ta làm mù đối phương, và trung bình một quả flash gây mù bao nhiêu trong tập hợp đó. Điều này cho chúng ta biết một quả flashbang hiệu quả hnư thế nào

Và chúng ta cũng có thể sử dụng một vài số liệu khác để xác định độ hiệu quả của quả flash đó, như xác suất lấy được một mạng. Tôi sẽ tìm ra những phương thức tính vào thời gian sau.

Trên đây là hình ảnh những quả flashbang được ném và gây mù như thế nào trong một map. Và thật sự là rất khó thấy được bất cứ cấu trúc gì với nó. Chấm xanh lá tượng trưng bất kì người chơi nào bị mù bởi flash trong một tổ hợp, sẽ giúp cho bạn đoán được ai sẽ bị mù khi quăng flash vào một vị trí nhất định.  Chấm xanh lá này cũng bao gồm cả đồng đội bị mù, nhưng thời gian mù không được tính vào.

Đây là những gì chúng ta tập hợp được sau khi xếp hạng độ hiệu quả của các quả flashbang: Hình ảnh

Điều này giúp chúng ta có được cái nhìn về những quả flashbang tốt nhất trong map Train. Một số thông tin chi tiết thú vị:

  • Nếu bạn đang phân vân giữa việc quăng flash gần hay xa khi quăng vào site A từ hướng thùng rác (gần T-spawn), hãy quăng flash ngắn. Bạn sẽ có thêm trung bình nửa giây bị mù (Cluster 0 vs 107). Và sẽ tệ hơn nếu quăng từ cluster 241.
  • Cluster 7 có lẽ là cách tốt nhất để flash vào T-site nếu như chỉ có đúng 1 quả flash.
  • Có những cách tốt hơn để flash trước vào T-connector (cluster 2 vs 28)

Đây chắc chắn là những cải thiện có thể được áp dụng trước tiên. Đầu tiên, thuật toán ‘clustering’ không phải hoàn hảo và cần được làm gọn hơn. Có những quả flash xuất hiện nhiều hơn ở các cluster khác mà chúng ta muốn (hãy xem cluster 54). Tương tự, 4 flashbang có lẽ là quá ít để lấy được thông tin chính xác về thời gian bị mù.

Tuy vậy, tôi nghĩ điều này rất thú vị. Nếu có thể sử dụng Adren’s flash script. Với những thông tin mà chúng ta có được từ một quả flash cụ thể, thì IGL của đội có thể nhìn vào quả flash hiệu quả đó bằng cách click chọn vào cluster đó, và nhìn thấy quả flash đó sẽ được thực hiện như thế nào trong game, từ tất cả thông tin trong demo. Việc này cũng có thể được dùng để viết một script tìm hiểu về flashbang, khi mà một người chơi click chọn vị trí khởi đầu và kết thúc của một flash và script sẽ hiện ra một vài cách hiệu quả để flash từ tổng hợp những vị trí đã chọn.

Điều này tất nhiên cũng có thể áp dụng đối với HE Grenade khá dễ dàng. Nếu như tôi muốn nade ở chỗ nào, dù ở lower B hay là Ivy tại A, thì cách ném sẽ được hiện ra.

Giả thuyết: Terrorists có khả năng thắng round hơn nếu họ nắm kiểm soát map nhiều hơn

Đối với hiện tại thì đa số mọi người nghĩ rằng điều này đúng. Nó chắc chắn là dựa vào trực quan – khi bạn càng biết nhiều thông tin map, bạn sẽ biết rõ hơn các vị trí của đối phương. Khi mà bạn biết nhiều về kẻ thù hơn thì khả năng bạn chiến thắng sẽ cao hơn!

Nhưng làm sao chúng ta cho ra được kết luận này mà chỉ dựa trên kinh nghiệm? Chúng ta cần phải biết vài khái niệm về kiểm soát map. Trong khi chúng ta có dữ liệu demo, tuy nhiên demo không hoàn thiện nếu như không có thông tin về map. Giải pháp của tôi về vấn đề này khá là đơn giản. Về mặt lí thuyết, chúng ta có thông tin của toàn map (thông qua file map của Valve .bsp) và chúng ta có thể làm nhiều thứ khá ngầu. Nhưng tôi vẫn chưa đi vào sâu!

Thay vào đó, tôi nhìn vào file đính kèm của từng map, file .nav, nó được sử dụng để giúp bot định hướng các vị trí trong map. Nó cũng bao gồm tên gọi của các vị trí được hiển thị trong game (mặc dù những tên gọi này vẫn chưa chuẩn theo cách tôi muốn). Matthew Razza ra mắt một cú pháp file .nav được viết bằng G, việc này giúp ích rất nhiều để lấy thông tin nhanh chóng trong các file này. Mỗi file nav tượng trưng các map , danh sách các vị trí (và thường được đặt tên). Mỗi vị trí bao gồm một dãy các khu vực không trùng lặp hình chữ nhật (tạm quên đi hình học ba chiều).

Đây là những gì được phân ra ở map Train, dựa vào minimap của simpleradar. Như bạn thấy, nó không hoàn toàn hoàn hảo – vẫn có một số vị trí không được đánh dấu, nhưng nhìn chung thì nó đã đánh dấu những vùng quan trọng trên map.

Chúng ta sẽ sử dụng những vùng này như một cách cơ bản để dò tìm những vị trí di chuyển được trên map. Để xác định các vị trí kiểm soát map ở một tick nhất định (tức thời gian nhất định, thay vì dùng giây hay milli giây thì sẽ dùng tick – tùy vào server 64 tick hay 128 tick), chúng ta theo dõi di chuyển của người chơi từ lúc đầu của round cho đến tick đã được chọn ra trước. Nếu một người chơi nằm trong x diện tích của một vùng, chúng ta cho người chơi đó đã kiểm soát được vùng đó cho đến khi một người khác lọt vào x diện tích của vùng đó. Nếu cả 2 đội đều nằm cùng x diện tích, thì nó sẽ không thuộc kiểm soát của đội nào cả. Tổng kiểm soát map của đội được tính bằng tổng các vùng mà mỗi đội chiếm giữ được.

Thuật toán này là cách tính sơ đẳng về map hoạt động như thế nào. Thuật toán này giải thích, ví dụ, nếu một CT đẩy vào Ivy và đi được một nửa đoạn đường đến T-spawn, và sau đó quay về ivy lại, anh ấy sẽ được trao quyền kiểm soát vùng đó đến khi T quay lại Ivy. Mục đích này là để cung cấp thông tin rằng CT biết Ivy đã trống, ngay cả khi CT không còn ở vị trí đó, họ vẫn có “kiểm soát map”.

Có rất nhiều thứ chúng ta có thể hiện phương pháp này. Chúng ta sử dụng “x” diện tích như một cách tương ứng với tầm nhìn. Nói về mặt lí tưởng thì, chúng ta muốn biết rõ hơn vị trí mà người chơi có thể thấy và cho họ nắm quyền kiểm soát dựa vào tầm nhìn. Điều này cần có kiến thức sâu rộng về các vật thể trong map. Có khả năng để biết về tầm nhìn dựa vào rất, rất là nhiều thông tin về map, hoặc tính toán trực tiếp bằng cách sử dụng file BSP. Tuy nhiên, phương pháp đơn giản này sẽ giúp chúng ta tìm ra vài thứ thú vị về giá trị của việc nắm quyền kiểm soát map.

Đây là một vài ví dụ về việc kiểm soát map vào cuối vài round để cho bạn có cái nhìn sơ sơ về thuật toán này.

Để xác định độ có ích của việc kiểm soát map bên T, chúng ta sẽ tìm hiểu về quyền kiểm soát map 30 giây trước khi bomb được đặt (hoặc trước khi round kết thúc, nếu như không có bomb được đặt). Kiểm soát map được tính bằng số lượng vùng được kiểm soát. Chúng ta sau đó tính toán control ratio (tỉ lệ kiểm soát) dựa vào: (số vùng kiểm soát bởi T) chia cho (số vùng kiểm soát bởi CT). Có vài vùng giao tranh, chúng ta sẽ không tính cho đội nào cả. Ta có thể cho lên biểu đồ của bomb được đặt vs. không đặt được bomb để tìm hiểu thông số và chạy một vài kiểm tra về các con số.

Thông số kĩ thuật: Mục đích của ta là để so sánh khả năng thắng round với thông tin kiểm soát mà đội chiếm được trong “y” giây trước khi bomb được đặt (hoặc trước khi thắng round). Ta sử dụng công cụ gọi là Mann-Whitney U test. Ta không muốn đi quá sâu vào các thông số, nhưng Mann-Whitney sẽ cho chúng ta biết khả năng T sẽ thắng nếu như họ nắm quyền kiểm soát map nhiều hơn hay ít hơn. Nó giống với phương pháp t-testing đối với những người lấy thông số cơ bản. Điều này sẽ giúp chúng ta đánh giá được nếu như những chứng cứ dựa vào các thông số phân tích ra thật sự có “ý nghĩa thông kê” theo một phương diện nào đó.  Ta sử dụng 95% độ chắc chắn cho tất cả các kết quả, do đó nếu kết quả trong bảng thấp hơn <0.05, thì kết quả đó sẽ có ý nghĩa thống kê.

Và dưới đây là kết quả. Tôi đã thử nghiệm với nhiều khung thời gian và một vài tình huống khác nhau. Đầu tiên, tôi từng nghĩ là chỉ nên nhìn vào những round buy súng, bởi vì ở những round eco, việc kiểm soát map sẽ thay đổi rất nhiều. Thứ hai, tôi từng muốn loại bỏ khả năng của lợi thế hơn người vì nó có thể ảnh hưởng đến trận đấu. Do đó nếu nhìn vào khung thời gian mà có đội lợi thế hơn người, tôi sẽ không tính round đó. Và tôi đều không tính cả hai điều trên.

Bảng thông tin dưới đây có liên kết với bảng phân chia, bao gồm bảng phân chia ước lượng của kernel density estimation, cũng như của biểu đồ thực tế. Biểu đồ nếu dùng một mình có thể bị hiểu nhầm bởi vì nó hiển thị tần suất cơ bản. Đỏ hiện thị cho các round mà T đặt được bomb, và xanh là những round mà họ không được bomb. Trong bảng dưới đây, mỗi ô bao gồm giá trị p-value, và SS nếu như sự khác biệt có “ý nghĩa thống kê” và N nếu như không.

   Thời gian đến khi  bomb được đặt hoặc hết round

 Tất cả các round

 Các round mua súng

 0/1 Lợi thế hơn người

 Các round mua súng và 0/1 lợi thế hơn người

  10 giây

  SS – 1.17*10-7

 SS – 0.0049

 SS – 0.008

 N – 0.145

  20 giây

  N – 0.45

 N – 0.95

 N – 0.73

 N – 0.994

Nhìn chung, đây là một cách tốt để tìm hiểu xem việc kiểm soát map có quan trọng để đặt được bomb hay không. Tôi đã làm điều tương tự đối với những round thắng. Tất nhiên, T có thể thắng round bằng cách tiêu diệt hết đối phương. Cho nên nó rất công bằng khi hỏi về sự khác biệt giữa việc kiểm soát map trong các round mà T thắng và sự khác biệt khi họ thua có “ý nghĩa thống kê” hay không.

 Thời gian đến khi bomb được đặt hoặc hết round

 Tất cả các round

 Các round mua súng

 0/1 Lợi thế hơn người

 Các round mua súng và 0/1 lợi thế hơn người

 10 giây

 SS – 1.15*10-8

 SS – 0.0001

 SS – 0.002

 SS – 0.023

 20 giây

 N – 0.06

 N – 0.48

 N – 0.25

 N – 0.79

Nhìn chung, chúng ta đã tiếp cận các thông số: đủ quan trọng trong khung 10 giây và không có gì ở 20 giây. Tôi nghĩ điều này khá thú vị khi nó đưa ra vài thông tin quan trọng sẽ diễn ra trong 10 giây trước khi bomb được đặt, nhưng không xảy ra trước 10 giây đó. Tuy nhiên, tôi vẫn không dám đưa ra những khẳng định. Phương pháp này vẫn còn mới và cần khá nhiều chỉnh sửa. Có thể sẽ có một model khác nắm được sự thay đổi của việc kiểm soát map, theo một cách tốt hơn để nắm bắt chính xác những thay đổi trong game. Ví dụ, có thể sẽ có những vùng quan trọng hơn hẳn và sẽ có giá trị hơn so với những vùng đơn giản.

Nhưng điều này vẫn thể hiện được việc chúng ta có thể nắm bắt được một vài thay đổi trong việc kiểm soát bằng quá trình tự động phân tích demo. Đây cũng có thể làm cột mốc ban đầu để đánh giá một đội giỏi như thế nào trong việc kiểm soát map, khi so sánh chúng ở nhiều điểm khác nhau trong suốt một game với thống kê của những đội chơi cùng map đó.

Giả thuyết: Người chơi “giỏi” sẽ có vị trí kê tâm – crosshair tốt hơn

Bất kì người chơi CSGO nghiêm túc nào có lẽ cũng đã bỏ không ít thời gian để cải thiện vị trí kê tâm của mình. Không khó để tìm ra mối liên kết giữa vị trí kê tâm của người chơi và bao nhiêu mạng họ có được (hoặc những thông số bản thân, như là rating). Hãy tìm hiểu sâu về giả thuyết này.

Nhưng làm thế nào mà chúng ta đo được vị trí kê tâm? Mỗi người chơi đều có góc nhìn có thể được đo bằng hai đơn vị, pitch (lên xuống) và yaw (trái phải). Về cơ bản, một người chơi có vị trí kê tâm tốt sẽ di chuyển tâm của họ ít hơn khi lấy được frag. Do đó, về cơ bản, chúng ta có thể dò được một người chơi có thể di chuyển tâm của họ bao xa trong bao giây để có kill, và thông tin này sẽ tạo ra bảng phân bố vị trí kê tâm của một người chơi giỏi. Giống như đánh golf, càng thấp thì càng tốt.

Đây là vị trí kê tâm của những người chơi trong các demo mà dữ liệu chúng ta có được. Việc này khá là thú vị và cách phân bố giải thích rất nhiều thứ. Chúng ta thường xoay chuột theo chiều ngang nhiều hơn chiều dọc, đây là điều chắc chắn được mong đợi bởi vì người chơi CS:GO không thường bị bắn bất ngờ từ đối thủ ở trên cao hay ở dưới họ. Nhưng, tôi nghĩ thông tin này chưa giải thích rõ dành cho những tuyển thủ CS:GO chuyên nghiệp, khi mà có hàng tá chấm ở giữa trung tâm… và đây là số liệu dựa vào bản đồ nhiệt độ.

Thông tin này cực kì nhạy cảm đến những “thông tin ngoại lệ”, do đó để nắm được giá trị trung bình của mức độ dao động kê tâm, chúng ta sẽ dùng giá trị ở giữa thay vì trung bình. Với dữ liệu này, giá trị dao động ở giữa là 19.66 độ.

Thông tin toán học: Giá trị trung bình là 31.57 độ, khá là cách biệt so với giá trị ở giữa, do đó đây là bảng phân bố khá lệch! Không có gì ngạc nhiên khi gần như các pha ăn mạng đều chuẩn xác, nhưng bạn vẫn sẽ có những con số ngoại lệ. Nghe có vẻ hài hước nhưng số liệu ở giữa này sẽ giúp chúng ta ước chừng tốt hơn về thông tin trung tâm trong trường hợp này. Một nửa các pha giết người đều trải trong vòng tròn xám.

Tất nhiên là những con số này đều khác nhau dựa vào món vũ khí được sử dụng. Để cho bạn có cái nhìn tốt hơn, tôi đã tạo ra những thông số rải rác với 3 loại vũ khí khác nhau (sniper, rifle, pistol) và hai cách triển khai (đấu súng, tổng tấn công).

Tôi muốn thật sự hiểu rõ mức độ dao động của kê tâm thay đổi như thế nào khi người chơi buộc phải đấu súng, trái nghịch với một pha ăn mạng dễ dàng từ việc “móc lốp” – lurk. Để làm việc này, tôi nhìn vào thông tin trong demo. Tôi định nghĩa một pha “đấu súng” khi kẻ giết người nằm trong tầm nhìn POV của nạn nhân, và pha giết bằng “móc lốp” khi kẻ giết người nằm ngoài tầm nhìn POV của nạn nhân. Ví dụ, đây là “đấu súng”, và đây là “móc lốp” . Hình ảnh POV là của nạn nhân.

Đây là thông số rải tâm và bản đồ nhiệt của tất cả các phân loại.

Điều này khá thú vị, nhưng tôi lại hứng thú về sự khác biệt của người chơi trong các phân loại khác nhau. Để hiển thị chúng, tôi lấy thông tin từng phân loại và tạo ra một bảng thống kê để hiện thị giá trị ở giữa của độ dao động tâm của tất cả người chơi trong dữ liệu của chúng ta. Nó cũng sẽ cho ta thấy những “sai số chuẩn”, để cho chúng ta cái nhìn ước lượng về sự không chắc chắn của thông tin kết hợp với độ lệch chuẩn trong ví dụ và dữ liệu trong ví dụ. Tôi không sử dụng chúng sai cách, nhưng nó sẽ là thông số có ích để hiểu được sự chắc chắn của chúng ta (dựa vào độ lớn của dữ liệu) kết hợp với sự ổn định của người chơi.

Những bảng thống kê sẽ nhìn giống như thế này!

Chúng ta thấy một vài xu hướng ở đây. Hãy nhìn vào bảng vũ khí – weapon, tôi không nghĩ là chúng ta sẽ lấy được nhiều thông tin chỉ nhìn vào số mạng – kills hay những pha đấu súng “duel”, bởi vì cách chơi của mỗi loại vũ khí sẽ có kết luận khá là khác biệt. Mỗi bảng thống kê vũ khí bao gồm số mạng mỗi người chơi, sẽ cho bạn biết dữ liệu này rộng như thế nào.

Nếu nhìn vào Sniper Rifle, AdreN của Gambit sẽ rất vui khi biết được độ chuẩn xác tuyệt vời của anh với khẩu sniper. Dựa vào lịch sử súng được dùng, thông tin này khá là bất ngờ! Anh ấy chỉ có đúng 10 mạng bằng sniper rifle trong bảng thống kê, nhưng kĩ năng bắn bằng sniper lại khá là tốt và ổn định. Nhìn vào những AWPer có hơn 30 mạng, keev chắc chắn sẽ nổi bật, và GuardiaN cũng có độ dao động kê tâm khá là nhỏ.

Ở thế giới rfile, kRYSTAL là vua, nhưng rất nhiều fraggers đang bám sát ở sau, ví dụ như ScreaM, s1mple, và Xizt. AdreN, MVP của HLTV tại các vòng chung kết, cũng có chỉ số khá cao (và có dự liệu lớn hơn nhiều so với các tuyển thủ còn lại ở đây). Thú vị là khi chúng ta nhìn vào những pha đấu súng, rating của kRYSTAL giảm đáng kể. Điều này có thể cho ta biết rằng có một vài giá trị thống kê nào khác để làm rõ làm sao một kill xảy ra.

Đối với pistol, chúng ta nhìn vào oskar, Xyp9x, Xizt, WorldEdit và Dosio luôn nằm trong top bảng.

Hiểu rõ được mối liên hệ của những thông số khác của người chơi sẽ cần cái nhìn sâu hơn, như là đánh giá mối liên hệ giữa độ dao động của tâm và rating. Tôi vẫn cảm thấy chưa thuyết phục rằng một người có độ dao động của kê tâm cao là một người chơi kém. Có thể những người chơi giỏi có khả năng flick rất là tốt, giúp tăng chỉ số kê tâm dao động trung bình lên. Tuy nhiên, điều này có thể phần nào giúp hiểu được độ dao động của việc kê tâm, có thể phục vụ làm một thước đo để xác định giá trị có thể đo được khi nói về phong độ của tuyển thủ.

Kết luận

Tôi thật sự nghĩ đây mới chỉ là phần nổi của tảng băng, về những gì chúng ta có thể làm được với demo và phân tích trong CS:GO. Tôi đã phần nào nghiên cứu sâu về những “bản đồ nhiệt có điều kiện”, “bản đồ nhiệt trong di chuyển đầu round”, ảnh động của round đấu,  và “tự động phát hiện những pha triển khai bằng grenade và di chuyển của tuyển thủ”. Những công cụ này có tiềm năng để cải thiện trải nghiệm cho người xem (bằng việc đưa ra những hình ảnh rõ hơn về chiến thuật và các thông số đánh giá các tuyển thủ) và cũng sẽ làm cho trận đấu trở nên hay hơn so với hiện tại. Nếu bạn thuộc một đội tuyển chuyên nghiệp, tại sao lại bỏ ra hàng trăm giờ đồng hồ xem demo để học về đối phương trong khi máy tính có thể làm điều này cho bạn?

Nguồn: reddit

0 ( 0 bình chọn )

Ý kiến bạn đọc (0)

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Xem thêm