线下纪实 | AI Summer School 游戏作品导览

文摘   2024-07-09 19:30   广东  

一、引言

AI Summer School是一个国际性学术与实践交流平台,致力于探索AI在游戏开发、设计和用户体验中的创新应用。今年六月,The 6th International Summer School on Artificial Intelligence and Games在马耳他的瓦莱塔举行,汇聚全球游戏界的大脑与新星,共同探索AI在游戏设计、开发乃至玩家体验上的无限可能。我们有幸成为其合作伙伴之一,共同见证这场思维的碰撞。


本次活动由Georgios N. Yannakakis和Julian Togelius领衔主讲,他们是《AI and Games》教科书的合著者,该书是游戏AI使用方面的首部全面教科书。活动得到了包括Sony和Ubisoft在内的国际知名游戏公司的支持,并由modl.ai和Keywords Studios等创新企业协办。在第一阶段,活动邀请了众多业界专家作为客座讲师和嘉宾,包括来自Helpshift的AI领头人Shyam Shinde、独立开发者Maxim Gumin以及Riot Games的技术研究负责人Wesley Kerr等,他们分享了各自在AI游戏领域的经验和见解,为参与者提供一个深入了解AI技术如何改变游戏行业的窗口。


尤为值得一提的是,本次活动第二阶段举办了一场为期两天的游戏AI开发比赛(AI Game Jam),鼓励学员基于所学知识,将理论转化为创新项目,促进创意碰撞与团队协作。学员们需要在有限的时间内,借助AI将他们的创新想法实现出来,这无疑是对他们能力、创意和团队协作精神的一次重大考验。


我们体验了创作者们的心血之作,感受到AI技术为游戏带来的新颖乐趣和智能互动。接下来,我们将分享在Game AI Jam中发现的几款有趣的AI游戏应用案例,进一步探讨AI技术如何为游戏世界带来革新。活动的代码仓库放在了文章最后,感兴趣的朋友可以自取体验。


二、案例分享


01

One Spell Fits All(一个法术 搞定所有)


你是一个用魔法维生的女巫,你拥有创作任何物品的能力,虽然只有小小的一段时间。那么,你要如何施展你的咒语,帮助前来向你寻求帮助的村民们呢?


游戏的完成度相当高,从美术风格的一致性到玩法循环完整性都做到了不错的水平。团队使用了一系列AIGC工具来完成村民从提问到感谢回应的全流程。首先项目配备了Mistral 7B的小模型用来扮演村民以及生成他们的需求和问题,之后使用了Transformers模型all-MiniLM用来评判玩家输入以及生成的咒语是否合理,并进行评分。如果玩家的输入合理,游戏将会把玩家的输入直接输入给ComfyUI生成对应的素材,并再次使用Mistral 7B生成村民的回复与反馈。

是的,你没理解错,整个游戏AI相关的内容全部部署在本地,而且由于是小模型以及轻量化的素材生成,实际表现对于设备性能的要求并不高。那么,为什么使用本地小模型呢?其他的小模型是否会更好?以及对比使用GPT API有什么优势。关于这些问题我们也请教了一下制作团队。


对比GPT与其他线上的LLM API,本地模型的延迟和成本都要更有优势。其次,配置调试API也十分的浪费时间,这对GameJam来说还是有些难度的。所以在这个先决条件下,优先考虑本地小模型是十分合理的。


在制作期间其实团队使用了现成的开发者套件

LLM for Unity:https://api.unity.com/v1/oauth2/authorize?client_id=asset_store_v2&locale=zh_CN&redirect_uri=https%3A%2F%2Fassetstore.unity.com%2Fauth%2Fcallback%3Fredirect_to%3D%252Fpackages%252Ftools%252Fai-ml-integration%252Fllm-for-unity-273604&response_type=code&state=6980cf90-3a80-437b-b4a8-e8a5f22ee51c


Create an AI Robot NPC using Hugging Face:https://thomassimonini.substack.com/p/create-an-ai-robot-npc-using-hugging?r=dq5fg&triedRedirect=true


而Mistral是作者描述为最佳工作解决方案的模型,团队其实也有尝试过Llama 3 8B,但使用ollma虽然简单,但还是需要一个网络组件来与本地运行的模型进行接口,会耗费更多时间在调试上。对于GameJam来说,在不差的效果上使用更有效率的工具才是重中之重。


02

ShoutAndSoar(呐喊与翱翔)

ShoutAndSoar是本次赛事的获奖项目,但游戏玩法却十分简单,控制飞机在躲避障碍物的同时完成道具的收集。问题来了,游戏结合AI的地方在哪里?完成度会更好吗?


游戏给出了多张地图,每次游玩都会在不同的地图内进行体验,而真正的核心玩法在于体感控制。我们根据项目代码看到,项目在制作过程中使用了Mediapipe,用于检测捕捉玩家的手部动作。Mediapipe 是一个用于实时机器学习应用的框架,通常用于处理摄像头输入以检测和跟踪身体姿势、手势、面部特征等。


玩家需要通过肢体动作控制飞机收集道具,如果双手高于肩膀,则飞机拉升;如果右手低于肩膀而左手高于肩膀,则飞机左转;反之也成立。


游戏运行过程当中,项目会使用 Mediapipe 库来检测玩家的手部和肩部位置。这部分代码负责从摄像头输入中获取姿势数据,并使用这些数据来绘制一些调试线条,以可视化检测到的位置。这些手势的输入会被转换成移动向量,之后通过脚本应用于飞机的移动当中。随着时间的流逝以及收集数量的增加,速度也会逐渐变快,直到用户碰到障碍物。


03

Natural Language Commanders

这款潜行游戏接入了LLM控制NPC。在游戏中,玩家将扮演一名超级特工,需要避免被一群邪恶警卫发现。游戏开始时玩家有固定的出生点,游戏画面右侧的chat log,是AI巡逻警卫的汇报界面。游戏的核心玩法是玩家在网格地图上移动,同时由 AI 控制的Agent警卫会根据预定义的指令进行移动,试图找到并捕捉玩家,如果玩家出现在警卫的锥形视野中,警卫会迅速将发现玩家的位置共享给其他警卫。   


当鼠标点击在屏幕左侧时,游戏会获取鼠标点击的位置,并更新目标位置。玩家的行动轨迹可以被方格提前标记,方便玩家判断路程和警卫的路线,并随时调整自身的行动。


游戏的地图的所有位置都会有标注上,并且在游戏开始时,游戏的相关信息会通过文本形式传输给GPT。系统在构建输入消息时,包括Agent的描述和指令,地图上的标记,以及当前的聊天日志,而地图本身将转换为文本形式,附加到输入消息中。如果启用了GPT的视觉输入,还会捕获当前地图的图像,并将其作为输入发送给 GPT。


以下是部分代码的示例:

   // Construct input message    string inputMessage = @$"You are {agentPrompts.name}. {agentPrompts.Description}      Here are the legends for the places the agents can look for the player. You can only instruct the agents using the legends:\n";
foreach (var label in MapLabelController.Instance.GetLabels()) { inputMessage += $"{label}\n"; }
inputMessage += "Here is an example of a Chatlog, you pay extra attention to the players messages (and respond to them):\n"; inputMessage += ChatLogController.Instance.TextLog; if (textView != null) { inputMessage += $"\n---\n Here's a representation of the map:\n {textView.ConvertTilemap()}"; } inputMessage += "\n---"; inputMessage += agentPrompts.Instructions; if (agent != null) inputMessage += $"You are currently near {MapLabelController.Instance.ClosestLabel(agent.transform.position)}. Please select a new legend."; inputMessage += PlayerSpotted ? "You see the player in front of you!\n" : "No player in sight.\n"; inputMessage += @$"Respond with one line, limit yourself to 10 words. The format dictates that you start with a legend from the list, followed by your name and a message. It's very important that the response adheres to the following format: <Legend>|<Your name>: <Walkie talkie message> Here are examples of correctly formatted responses: Wood 1|{agentPrompts.name}: Castle is clear, heading to Wood 1. Sign 1|{agentPrompts.name}: Spread out! You'll search Wood 1, I'll search Sign 1! Church|{agentPrompts.name}: I'll guard the church, someone check the graveyard!";
chat.AppendSystemMessage(inputMessage);
if (AIVision != null) { var screen = AIVision.Capture().EncodeToPNG(); var image = ChatMessage.ImageInput.FromImageBytes(screen); chat.AppendUserInput("Picture of the map", image); }
addUserInput(chat, inputMessage);}


因此,当玩家被发现时,GPT会将具有玩家位置的地图传输回去,并且再将玩家的位置信息通过自然语言展示在log中。通过分析地图和玩家的聊天记录,AI 代理决定下一步的移动位置。随后GPT会返回指令,控制其他警卫包围玩家。


04

Crab it (螃蟹大作战)


该游戏的图像资产是由AI生成,借助LLMUnity,同时也使用了Mediapipe作为基础玩法构建,游戏能够精准捕捉玩家的身体动作,并成为玩法的一部分,为玩家提供了一种全新的交互体验。


游戏分为多个阶段,玩家需要通过身体姿态校准和手势、语音输入来选择和生成炮弹,然后通过瞄准和发射炮弹来击中目标。游戏结合了物理动作捕捉和语音处理技术,使玩家能够通过自然的身体动作和语音指令与游戏互动,从而增加了游戏的沉浸感和趣味性。


游戏的操作方式与前面的ShoutAndSoar类似,当玩家,游戏中还加入了声音控制的元素,玩家可以通过发出命令让螃蟹开火,此外还可以生成自定义炮弹。


游戏在开始阶段将会进入为新玩家提供游戏的基本操作指导和规则说明。同时需要进行校准的环节,项目将会引导并校准玩家的动作,以确保体感识别的准确性与流畅度。


游戏另外一个亮点则是Leonardo的API接入,与One Spell Fits All使用的生成方式不同,Leonardo是线上的图片生成模型,不仅在项目中生成背景环境环境,还会根据玩家的需求定制化生成炮弹。玩家通过语音输入与描述明确自己要生成的炮弹类型和样式,游戏会使用语音转录将信息转化为自然语言文本传递给API进行图像生成。


三、结语

在仅仅48小时内,从灵感到成品,AI辅助下的游戏创作已能诞生令人眼前一亮的作品,这无疑是一项挑战,也证明了技术的潜力。这些案例虽只是管中窥豹,却鲜明地指示了AI在游戏界的广泛应用前景。随着技术的日新月异,AI不仅将深化其在游戏开发中的参与度,更会逐步解锁前所未有的游戏维度——从智能化的NPC设计,到根据玩家行为动态调整的关卡难度,乃至个性化剧情生成,每一步都在构筑更加沉浸、贴合每位玩家独特偏好的游戏宇宙。



我们有充分的理由期待,AI作为游戏创新的驱动力,正引领我们迈向一个互动性更强、体验更加多元的未来游戏时代。


活动的代码仓库放在这里:https://github.com/GameAISchool2024members,希望还能举办更多AI Game相关的活动,Just enjoy it!


关于LitGate

大家好,我是LitGate,一个专注于AI创作的游戏社区。我们的新版官网已经上线✨你可以在里面找到各种AI创作的实操案例,以及已经沉淀的AI游戏创意demo,相信一定能让你大开眼界!


我们还有一个讨论群📣,如果你对AI创作感兴趣,或者有什么问题想要咨询,欢迎加入我们的讨论群,和大家一起交流学习!(PS:目前群内人数较多,为了有一个优质的讨论环境,请各位添加社区管理员企业微信账号邀请入群


更多精彩活动和功能筹备上线中,敬请期待~


关注我们,一起探索AI创作的无限可能吧!


新版官网地址:www.litgate.ai


LitGate
AI赋能游戏开发,一站式创作者社区 http://www.litgate.ai
 最新文章