AI大模型在游戏开发中的应用:以打砖块游戏为例
2025-03-05谢如石
关键词:广东省大学生计算机设计大赛;AI大模型竞赛;人工智能编程;打砖块游戏;教学方法优化
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2025)03-0027-04 开放科学(资源服务) 标识码(OSID) :
0引言
广东省大学生计算机设计大赛是由广东省教育厅主办的一项重要赛事,旨在提升大学生的信息技术应用能力、创新创业能力和团队合作精神。随着人工智能技术的飞速发展,AI大模型在教育领域的应用逐渐成为研究热点。AI大模型通过其强大的数据处理和学习能力,为教育提供了新的教学工具和方法,例如:AI大模型自动生成课堂教案,对作业结果进行学情分析等应用。2024年大赛新增了“AI大模型竞赛”这一独立赛道,参赛学生参加高职组的AI大模型竞赛,作品《人工智能编程之打砖块》(下文简称“《打砖块》”) 获得省三等奖。本文将探讨基于AI大模型的打砖块游戏设计与实现过程,并分析其对学生综合能力培养的启示。通过深入分析参赛作品的创作理念、技术实现和创新点,揭示AI大模型在教育中的实际应用效果,并为未来教育技术的发展提供参考和借鉴。
1 AI 大模型竞赛高职组题目内容
AI大模型竞赛设置本科组和高职组赛道,高职组竞赛内容是使用人工智能行业中提示工程的生成功能编写一个游戏代码。提示工程是一种通过精心设计的提示词(Prompts) 引导人工智能系统生成特定输出的方法。例如在代码编写方面,使用者输入程序运行逻辑及相关参数要求的提示词,人工智能平台则输出相应的代码。具体要求包括:利用人工智能提示词对话平台,完成经典游戏打砖块的程序开发,编写项目报告,详细记录开发过程和设计思路,最后制作PPT进行现场演示及答辩。
2 参赛作品的创作理念思路
近年来,随着人工智能技术的普及,人工智能技术的发展为代码编写方式带来了显著变化。本次竞赛的核心要点是充分利用提示词工程的代码生成功能,由人工智能平台进行程序代码的自动生成,参赛选手手工修改代码量不超过生成代码的10%。
参赛团队共有两名学生,根据赛项的要求,参赛学生进行头脑风暴活动,对将要完成的作品先设定自己的预期要求,分析出打砖块游戏代码需要满足以下要求:1) 游戏界面简洁美观,操作方式简单容易,关卡难度的设计循序渐进,富有挑战性。2) 能提供随机性道具增加趣味性,具有音乐和音效功能增强娱乐性,提供暂停和继续游戏的功能。比赛的重点不是手工代码的编写,而是提示工程中生成词的编写。参赛选手需要写出优秀高效的提示词,用以生成高质量的程序代码。
3 参赛作品的具体介绍
3.1 作品的功能简介
本作品是一款经典的打砖块游戏,玩家使用键盘的左右方向键移动挡板,通过挡板反弹小球,小球击打砖块后获得分数。游戏包含3个关卡,难度逐渐增加,并加入了“增加生命值”和“加5分”两种随机道具,增加游戏趣味性。游戏界面简洁美观、音效丰富,并提供了排行榜、暂停、重新开始、社交分享等功能。
3.2 作品的重点和难点
参赛学生使用思维导图的方式,深入分析打砖块游戏本身的设计内容,并把其对应的功能写成函数伪代码,然后设计出特定的提示词,在人工智能平台上获取Python代码,生成的代码放入本地编辑器环境中进行调试、运行、修改,最终完成整个游戏代码工作。该竞赛作品有以下的重点和难点需要特别处理。
游戏设计重点分为如下几个内容:1) 游戏逻辑的设计,游戏玩法的核心逻辑是通过挡板反弹小球,需要准确控制挡板和小球的运动轨迹。2) 关卡布局的设计,设计不同砖块排列形式的关卡,保证游戏的可玩性和挑战性。3) 道具功能的设计,游戏内提供具有不同特效的道具,增加游戏的可玩性和趣味性。4) 用户界面的设计,根据游戏的特性,设计简洁美观的用户界面,方便玩家操作和理解游戏规则。
技术实现难点分为如下几个内容。
1) 碰撞检测的代码实现,需要精确计算各类物体的碰撞,并且实现对应的游戏物理效果。
2) 道具效果的实现,设计各种效果的道具,并保证难度平衡。
3) 排行榜系统的功能编写,需要设计排行榜登记系统,存储相关信息。
为解决上述的技术难点,本人带领学生设计了如下的解决方案。
1) 碰撞检测的功能实现,可以使用pygame库提供的碰撞检测函数,直接地检测物体之间的碰撞,精准地实现碰撞效果。
2) 道具效果,根据不同的道具效果设计不同的逻辑,并合理控制道具的“福利”力度。例如“额外生命”道具每次增加玩家生命值一条,“加5分”道具每次增加分数5分,这样设计保证了游戏的难度和挑战性。
3) 排行榜系统的实现,使用文件在本机存储排行榜数据,利用Python的open()函数和write()函数进行读写操作。
在AI大模型平台中,通过提示词的设计与应用,顺利地解决了相关技术的难点,以碰撞检测和道具效果为例:碰撞检测的代码实现:传统的碰撞检测需要复杂的数学计算和精确的逻辑判断,利用AI大模型,参赛学生仅需通过生成提示词来描述碰撞检测的需求,AI 大模型即可自动做出相应的数学和物理模型计算并输出代码。该功能的提示词为:小球的活动边界范围是窗口的尺寸大小,当小球碰撞到窗口的左右上边界后随机反弹,当小球触碰到窗口底部时,则失去一条生命,系统开始重置并进行下一轮游戏。AI平台能够根据提示词生成相应的碰撞检测代码。
道具效果的实现:游戏中的道具效果需要多样化且平衡的实现。参赛学生通过提示词描述详细的道具效果和预期的影响,由AI大模型生成具有不同特效的道具逻辑代码。例如,描述“增加生命值”道具的效果,AI模型能够生成相应的代码,实现道具在游戏中的增益效果。该功能的提示词为:当“增加生命值”道具碰撞到挡板时候,则增加一条生命值。当“增加分数”道具碰撞到挡板时候,则增加5分。
3.3 作品的创新点
《打砖块》游戏是一款具有悠久历史的经典电子游戏,其代码复现属于本竞赛的基础任务。然而,为了在竞赛中提升学生的技术水平,并增加作品的获奖概率,本人组织了多轮讨论会议,悉心聆听每位学生的独到见解,并采取投票的方式从众多想法中挑出最优秀的创新点子。经过深入讨论,参赛学生提出三项创新点,显著提升了作品的质量。具体创新点如下:
作品支持自定义关卡:传统打砖块游戏玩家并不能自行控制砖块的排列位置。但是本作品支持导入砖块位置文件,方便自定义关卡。例如,玩家可以设计砖块位置形状为一颗爱心图形,在特定的日子安排游戏。本次参赛作品的三个关卡图形按照“一等奖”的字形设计,效果如图1所示。
作品支持自定义游戏图片和音乐风格:游戏允许玩家选择自己喜欢的背景图片和音乐,具备自由度极大的定制化,打造出个性化风格的娱乐体验。如图2 所示,玩家如果喜欢武侠风格,则可以上传大侠图片及其武侠主题音乐,如图3所示,玩家如果喜欢现代风格,则可以上传相应的城市高楼图片和音乐。
作品支持社交分享:在本作品中,可以将排行榜分数的结果分享到指定的电子邮箱地址,增加了游戏的社交互动性,效果如图4所示。
3.4 作品的创作流程
1) 需求分析与设计
根据竞赛规则和赛前说明会,参赛学生首先进行了需求设计分析阶段,设定如下的内容:
设计游戏目标和规则:玩家控制挡板反弹小球,击打砖块获得分数。小球碰撞挡板后反弹,碰撞砖块后消失并得分,碰撞底部边界则游戏结束。设计游戏界面显示效果和音乐音效:包括挡板、小球、砖块、得分、生命值等元素,以及击打音效和背景音乐。设计游戏关卡和道具系统:包括砖块数量、分布和布局,包括“增加生命值”和“加5分”两种道具。
所有的代码工作都是围绕这三点需求分析进行编写和调试,最终完成一个可运行的成果。
2) 基于AI大模型的代码实现过程
本次竞赛的考核点是利用提示词的方式生成代码,和普通的编写代码方式大不相同,要求生成代码的手工修改量不超过10%,这对参赛学生使用提示词生成代码的能力是很高的要求,需要认真分析程序的功能,并巧妙地指引人工智能平台生成对应的程序代码。与此同时,组委会还制定了一条规则,生成词条数越少,作品分数越高,所以要尽量以最少的生成词条数量完成最多的代码工作量。
综合以上的要求,参赛学生采取模块化的方式设计代码,再编写提示词,然后让人工智能平台输出代码。具体流程如下:使用面向对象编程思想,将球类、砖块类等相关基础元素封装成类,如砖块类的提示词及生成的代码如图5所示。
其次,使用模块化设计,将音效模块、排行榜模块、读取关卡文件模块、碰撞检测模块、文件存储排行榜数据、道具特效功能、社交邮件分享等分拆小段代码块。以读取关卡文件功能为例,提示词及生成的代码如图6所示。
最后,为了尽可能地以最少的提示词条数完成尽可能多的代码,本人指导学生利用合并同类型的思路,如把无依赖性的功能整合在一条提示词当中,充分利用每一条提示词的令牌值tokens,生成大量的代码。
通过以上的代码编写方式,《人工智能编程之打砖块》作品最终是使用了12条提示词,完成了563行代码,完整地实现了游戏的所有功能。
由于AI大模型平台本身不提供代码的运行环境,所有的生成代码需整合在本地计算机的编辑器环境中进行调试和运行。参赛学生使用PyCharm编辑器,首先创建Py文件,然后把代码复制到文件里面进行整合,随后使用运行功能调试程序。当遇到运行报错的地方,则仔细分析原因,根据反馈信息进行代码调整。
3.5 作品的答辩流程
当作品通过初赛的评审后,则进入决赛阶段。决赛要求选手现场进行讲解,并且回答评委的提问。入围决赛的学生曾多次进行模拟讲演,并且进行表达能力的训练。在现代社会的竞争当中,不仅需要有脚踏实地的工作能力,也要有流畅自如的表达能力。专业技能+口头表达能力的培养,可以为以后的职场工作做好铺垫。
决赛当天首先进行答辩次序的抽签,然后再进入答辩课室。参赛选手有7分钟的展示时间。评委提问的问题具体内容如下:1) 如何设计作品里面的创新性功能?2) 手工修改的代码量占人工智能生成的代码比例是多少?3) 如何解决生成代码报错的情况?参赛学生仔细思考,回忆起整个参赛作品的制作过程后认真回答了评委的问题:创新性功能的点子是通过头脑风暴的形式发掘出来,然后通过提示词描述具体要求,由AI大模型进行代码生成。根据统计,手工代码修改比例约占3%。当代码无法运行时,在编辑器里面阅读相应的反馈信息,并且寻求老师的指导,然后修改代码,反复调试后解决报错问题。决赛之后两天,组委会发布获奖名单,参赛学生获得省三等奖。
4 参赛对学生综合能力培养的分析
4.1 参赛学生的感受和收获
本次参赛学生反映自身的综合素质有了很大的提升,提高了问题解决能力、团结合作能力以及动手实践能力。在比赛初期,参赛学生使用的提示词条数往往超过30条,生成的代码数量却低于500行,而且手工修改比例大于10%。但随着比赛的推进,尤其是进入决赛以后,使用AI大模型的能力有了长足的进步,最后使用的提示词条数只有12条,生成了563行的代码,完整地实现了各项程序功能。以问题解决能力为例,在开发过程中,学生遇到了一个技术难题:如何实现小球与不同形状砖块的精确碰撞检测。通过集体讨论和利用AI大模型进行多次试验,学生最后不仅解决了这个问题,还学会了如何系统地分析问题、提出假设并验证解决方案。在游戏关卡设计阶段,学生之间出现存在不同的意见。通过有效的沟通和协商,设计出了既具有挑战性又能吸引玩家的关卡。这一过程提升了学生的团队合作能力。在整个程序代码编写阶段,学生反复编写、测试和运行,最终实现了游戏效果和功能,这一过程极大地提高了学生动手实践能力。
4.2 参赛对学生能力培养的启示
本次大赛设有本科组和高职组两个不同的赛道,它们针对学生的要求有所不同。对于高职院校的学生来说,参与大赛对于提升其综合能力具有显著意义。大赛也给教师提供了许多启示,例如以下四个方面:设计创新能力、问题解决能力、团队协作能力和动手实践能力。
启示一:高职学生通常侧重实用技能的训练,虽然有助于提高就业竞争力,但也会限制创新潜力的发展。因此,高职教育中应更加重视设计创新能力的培养,鼓励学生打破常规思维,通过头脑风暴等方式激发创意,促使他们以创新的手法将其转化为具体作品。学生在开发过程中能跳出传统思维框架,例如在打砖块游戏中引入自定义关卡的功能,学生通过头脑风暴提出了允许上传排列文件作为关卡布局的创新点。这种创新不仅增加了游戏的趣味性,也激发了学生的创造力。
启示二:学生通过强化问题分析思维,能进一步准确把握问题核心,全面考虑实施细节,设计出可执行的解决方案,在此过程中,问题解决能力得到了很大的锻炼。同时,题目的挑战性也有助于锻炼学生面对复杂问题的应对能力,激励学生勇敢进取,设计实用方案来应对挑战。例如在解决碰撞检测的难点时,学生们通过分析问题、设计提示词并多次测试,最终利用AI大模型生成了高效的碰撞检测代码。这个过程锻炼了分析问题、提出解决方案的能力。
启示三:团队协作意识是大赛作品的获奖关键之一。通过组队比赛,本人引导学生根据个人特长在团队中找到合适的角色,让不同特长的学生进行组队,产生1+1大于2的效果。在合力完成作品的过程中,培养学生有效沟通的能力,引导和教授学生管理和解决团队内部的分歧,当方案过于不切实际的时候,负责代码编写的学生要及时和负责方案设计学生进行沟通,采取会议、投票等方式解决内部之间的分歧,保证所有人都朝着同一个目标前进。
启示四:大赛提供了一个理想的学习平台,这对高职院校学生提升实践能力具有很大的帮助。指导教师扮演引导角色,推动学生动手实践,尝试新技术和方法去解决问题,确保任务按时完成。例如选择编辑器的任务,学生通过查阅资料、请教老师,最后在PyCharm和VSCode中做出了合理的选择。代码的整合、调试与运行均要实践动手完成,在整个过程遇到的问题及报错信息,学生要自行搜索信息进行解决,通过完成大赛的项目,可以明显提升学生的实践能力。
5 收获与展望
通过参加这次AI大模型大赛,团队在学生培养、课程设计、同行交流、创新实践方面都取得很多收获。大赛具有挑战性的题目能激发了学生努力学习、积极实践的心态。在作品创作的过程中,也充分促进教学与实践相结合,提升学生的专业动手能力。在决赛现场,大赛秉承交流切磋、共同提高的宗旨,本人与各校同行的交流也获益良多,增长了见识与交情。本次AI 赛题鼓励学生提出创意点子并落地实现,能激励学生增强创新能力意识。大赛不仅能提升参赛学生的专业技能,还可促进职业素质的全面发展,为学生未来的职业生涯和个人成长奠定坚实的基础。
随着AI大模型的应用日益广泛,其在教育领域的影响力也愈发显著。展望未来,教师有望充分利用生成式人工智能大模型的优势,优化教学方法并提升学生的综合能力。通过整合AI大模型,教师可以即时提供计算机操作的反馈,从而激发学生的学习兴趣,鼓励他们主动参与学习并积极探索理论知识的应用。此外,生成式人工智能能够部分减轻教师的工作负担,使其能够更精确地设计课堂素材,更好地把握教学的重难点。值得一提的是,生成式人工智能具备文本、图像、音视频等多种类型的理解能力,使得教师无需专业媒体制作技术即可创作个性化的数字资源。生成式人工智能还能够生成具有开放性和挑战性的启发性问题,这些问题能够激发学生的创新思维和创意能力。作为一种个性化和互动式的助教手段,教师可以利用这一工具促进学生对知识的深度理解,增强学习效果。以本次比赛的项目为例,可以将AI大模型作为一种智能辅导系统,提供实时的答疑和辅导服务。例如,在编程的过程中,如果对程序语言中某个函数或者算法不理解,AI大模型通过自然语言处理技术,理解学生的问题,并提供详细的解答和示例代码,帮助学生深入理解复杂概念。由于学生的基础水平不一致,传统的课堂教学无法顾及每一个学生的提问。引入AI大模型作为辅导系统,所有的学生都可以针对自己不理解的知识点进行提问,能极大地提升学习效果。综上所述,AI大模型在教育中的应用前景广阔,它不仅能够提高教学效率和质量,还能促进学生创新能力的培养,为教育领域带来有利的变化。