-
Notifications
You must be signed in to change notification settings - Fork 13
Home
THUAI8,即清华大学第八届人工智能挑战赛电子系赛道,为原清华大学电子系第 26 届队式程序设计大赛(teamstyle26),是 THUAI7 的后继之作。目前项目仍在开发中,敬请期待。
队式程序设计大赛(teamstyle)至今已举办 25 届,是清华大学电子工程系的一项传统编程赛事。在比赛中,选手自由组成队伍,通过编写代码操控比赛中的角色相互争夺,进而赢得比赛的胜利。队式程序设计大赛从第 19 届开始,被清华大学学生科协改组,从而与自动化系新生 C 语言大赛、软件学院的比赛共同组成清华大学人工智能挑战赛,原队式程序设计大赛成为其一个赛道。
目前队式程序设计大赛最早的可考版本是第十六届。自第十六届起,队式程序设计大赛主要逻辑和界面均采用 Python 语言编写。自 THUAI3.0(队式二十一)起,游戏主要逻辑改用 C# 编写,界面采用 Unity 编写,项目规模更加宏大。自 THUAI6(队式二十四)起,游戏通信改用 gRPC ,以便实时反映选手操作成功与否。
佛说:东土大唐“贪淫乐祸,多灾多杀”,是“口舌凶场,是非恶海”。须有一个诚心的取经人到我西天来取得真经,方得救赎。在观世音菩萨的挑选下,陈玄奘成为了天命所归的取经人,带领他的三个徒弟:孙悟空、猪八戒、沙悟净,以及作为脚力的白龙马,西行取经。然而,取经路途遍布艰险。传说吃一口唐僧肉便可得到长生,蛰伏于取经路上的各路妖怪蠢蠢欲动······
详见 https://docs.eesast.com/docs/contests/THUAI8/
游戏界面由 Unity 写成。风格简洁而不失华美,简约又紧跟时代:
队友通信系统是队式程序设计大赛一贯的特色。在游戏中,每个玩家都可以给同队的队员发送消息,用来进行队友之间的交流与协作。
队友通信系统充分体现了比赛要锻炼的通信与协作技能。选手需要制定良好的通信协议以确保消息的正确传递,并且需要通过与队友之间的相互交流来分配游戏策略,实现队伍利益最大化。
THUAI8 由 Server、选手 C++ 与 Python 接口、图形界面客户端、Unity 界面客户端、下载器、比赛网站集成桌面客户端几大部分组成。
THUAI8 联机采用 C/S 模型,Server 即服务器端,基于 .NET 8 框架。Server 是游戏的真正运行位置。
Server 还支持游戏回放文件的生成和读取,以支持游戏结束后重新观看比赛。
THUAI8 支持 C++ 和 Python 语言进行选手代码的编写,未来计划加入更多语言的支持。
用于提供给选手进行 C++ 代码的编写。C++ 接口采用 C++20 标准,支持 Windows 和 Linux 平台。Windows 平台使用 MSBuild 进行构建,使用 v143 平台工具集,编译工具为 MSVC;Linux 平台使用 CMake 进行构建,编译工具为 GCC。
用于提供给选手进行 Python 代码的编写。Python 接口使用 Python 3.9。
一个简易的图形界面用于显示游戏状况,方便玩家进行调试。图形界面客户端采用 AvaloniaUI 编写,支持windows、linux等多个平台。
起初,在 THUAI3.0 中,游戏开发者为了方便在开发过程中进行调试,便使用 Winform 编写了一个简易的图形界面客户端,并在比赛开始后发给了选手。由于 Unity 界面启动慢、不够直观等原因,该 Winform 界面虽然不够美观,但其简洁性使其更适合选手进行快速、高效、直观地调试与查看战况,以致于相当一部分选手只使用该简易客户端进行代码的调试。因此,在后续赛事中,比赛的开发组仍然保留了此客户端。在 THUAI5、THUAI6 中,该客户端改用 WPF 编写,THUAI7 改用 MAUI 编写,THUAI8改用AvaloniaUI编写。
比赛的最主要客户端。该客户端致力于为比赛的观众提供一个华丽、壮观的视觉、听觉感受。美丽的背景、细致的动画、现代化的风格,为观众提供一场感官盛宴。
THUAI8 的客户端采用 Unity 编写,比赛状况直观,给观众绝佳的视觉感受。观众在观看比赛之时能感受到更加紧张、激烈的比赛气氛。
THUAI8 提供了下载器工具,用于获取新的游戏更新、启动服务器与客户端,给参加比赛的选手提供更大的便利。
实际上,下载器在 THUAI3.0 便存在,但是由于一些原因,THUAI4 并没有提供下载器。在 THUAI5 中,下载器才被重新提上日程。从 THUAI7 开始,下载器结合更新、启动等功能于一体,同时使用 MAUI 得到更精美的界面,带给选手更好的体验。
THUAI8 的赛事于 EESAST 网站上举办,集选手代码提交、选手代码版本管理、选手发起对战、历史对战记录保存与查看、天梯排行榜等一系列功能。
THUAI8 采用 Git 进行源代码管理,且已经在 Github 开源。
源代码链接:https://github.com/eesast/THUAI8
Gitee 镜像地址:THUAI8: Gitee Mirror
GitLink 镜像地址:THUAI8: GitLink Mirror
清华大学电子工程系学生科协软件部(EESAST Software Center)

THUAI8 - 清华大学第八届人工智能挑战赛
原电子系第二十六届队式程序设计大赛
项目主页:https://eesast.github.io/THUAI8
开发团队: 清华大学电子工程系学生科协软件部