Skip to content
Timothy Liu edited this page Jul 21, 2024 · 3 revisions

THUAI6

Overview

THUAI6 is the successor of THUAI5, called "Graduate, Girls!", which redefined the game rules, redesigned the game interface, further improved the game mechanism, and optimized the user experience based on THUAI5. experience.

THUAI6 will be held in April 2023 ~ May 2023, so stay tuned!

History

The teamstyle programming competition (teamstyle) has been held for 24 sessions, and is a traditional programming event of the Department of Electrical Engineering at Tsinghua University. In the competition, players freely form teams and write code to control the characters in the competition to compete with each other and win the competition. Since the 19th edition, the Team Programming Competition has been reorganized by Tsinghua University Student Science Association, thus forming the Tsinghua University Artificial Intelligence Challenge together with the freshman C language competition of the Department of Automation and the competition of the School of Software, and the original Team Programming Competition has become one of its tracks.

The earliest available version of the current team-based programming competition is the 16th edition. Since the 16th edition, the main logic and interface of the team-based programming competition are written in Python. Since THUAI 3.0 (Team Based XXI), the main logic of the game is written in C#, the interface is written in Unity, and the scale of the project is more ambitious. Since THUAI6 (Team 24), the game communication has been changed to gRPC to reflect the success of the players' actions in real time.

Origin of the name

Deep Learning - Graduate, Girls!

Background of the game

The existing data set can no longer satisfy the desire of the THUAI-equipped intelligent robot "Trickster" to iterate itself, and it thinks it has enough ability to learn human thoughts and then beat other Tsinghua students in the course. In the classroom of a writing class, it pretends to be a classmate and secretly learns other students' ideas in the classroom, while interfering with other students and tempting them to touch the fish. Students help each other in this environment, study hard, earn credits and try their best to avoid being influenced by the troublemakers, except that one student, who is not good at writing but very good at AI, doesn't seem to think the same way as the others ......

Gameplay

THUAI6 is a multiplayer real-time online competitive game. The game borrows somewhat from the gameplay of Persona 5, with a bold twist:

The players are divided into two camps: students and troublemakers. The students need to play cooperatively in different "classrooms", study hard and earn high credits. The troublemaker camp needs to improve the AI of the troublemakers and find ways to interfere with their classmates and tempt them to indulge in fishing. During the learning process, students need to help other students in time to prevent them from being dropped from school. When the credits are high enough, students can come to the "school gate" before graduation. In addition, a variety of "campus weird talk treasure chest" can find good props, and even the key to the Sixth Church! Making full use of the props and playing to their strengths is also the secret to victory. Each game will be divided into two games, with both teams playing as students and troublemakers, and the team with the higher score in both games will win.

The user interface is written in C++ or Python, using the C++17 standard for the C++ interface and Python 3.9 for the Python interface, and supports both Windows and Linux platforms. Participants can write C++ code or Python code to control their character and play the game.

Game Interface

The game interface is written in Unity. The style is simple but beautiful, minimalist and up-to-date:

Graduate, Girls!

Game Design

THUAI6 game design is on the way.

Game Features

The teammate communication system is a consistent feature of the team-based programming competition. In the game, each player can send messages to the team members of the same team, which is used for communication and collaboration among teammates. The teammate communication system fully reflects the communication and collaboration skills to be practiced in the competition. Players need to develop good communication protocols to ensure the correct delivery of messages, and need to allocate game strategies to maximize team benefits through mutual communication with teammates.

Product Composition

THUAI6 consists of a Server, C++ and Python interfaces for players, a GUI client, a Unity interface client, a downloader, and an integrated desktop client for the tournament website.

Server

THUAI6 online uses the C/S model, Server is the server side, based on the .NET 6 framework, Server is the real running location of the game. Server also supports the generation and reading of game replay files to support re-watching the game after it is finished.

Player Interface

THUAI6 supports C++ and Python for writing player code, with plans to add more languages in the future.

Player C++ Interface

The C++ interface is based on the C++17 standard and supports both Windows and Linux platforms; Windows platforms are built with MSBuild, using the v143 platform toolset and compiled with MSVC; Linux platforms are built with CMake and compiled with GCC.

Player Python Interface

The Python interface uses Python 3.9.

THUAI6 includes a Python interface for the first time, providing the basis for adding support for deep reinforcement learning in the future.

Graphical Interface Client

A simple graphical interface is used to display game conditions and facilitate player debugging. The GUI client is written in WPF and supports only Windows platforms.

Initially, in THUAI 3.0, the game developers wrote a simple GUI client using Winform to facilitate debugging during development, and sent it to the players after the game started. Due to the slow start-up and lack of intuitiveness of the Unity interface, the Winform interface was not aesthetically pleasing, but its simplicity made it more suitable for players to debug and view the game quickly, efficiently, and intuitively, so that a significant number of players only used the simple client to debug their code. As a result, the development team retained the client for subsequent tournaments. In THUAI5, the client was written in WPF and continued in THUAI6.

Unity Interface Client

The primary client for the competition. This client is dedicated to providing a gorgeous, spectacular visual and auditory experience for the competition audience. Beautiful backgrounds, detailed animations, and a modern style provide a feast for the senses.

THUAI6's client is written in Unity and provides a visual representation of the game, giving the audience a great visual experience. The audience can feel the tension and intensity of the game while watching it.

Downloader

THUAI6 provides a downloader tool to get new updates to the game, providing greater convenience to the players participating in the tournament.

In fact, downloaders existed in THUAI3.0, but for some reason, they were not available in THUAI4. It was only in THUAI5 that the downloader was brought back to the agenda.

Competition website with integrated desktop client

THUAI6 intends to include an integrated desktop client for the tournament website, allowing players to more easily manage their teams, live stream matches, and replay matches online.

Source Code Repository

THUAI6 uses Git for source code management and is already open source on Github.
Source code link: https://github.com/eesast/THUAI6
Gitee Mirror: THUAI6: Gitee Mirror
GitLink Mirror: THUAI6: GitLink Mirror

Development Team

The Electronic Engineering Department's Student Association of Science and Technology (EESAST) Software Center of Tsinghua University, aka the Electronic Engineering Deparment's Software Center (EESC) of Tsinghua University

EE Software Center