“人工智能与游戏编程”课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
“人工智能与游戏编程”课程设计
摘要:结合人工智能技术与游戏设计的相关特点,讨论课程的教学目标与任务;介绍课堂教学及其课时分配以及实验设计与考核方式。对其他与人工智能与游戏编程课程相关的教学有很好的参考与借鉴作用。
关键词:教学改革;人工智能;游戏设计;游戏编程
人工智能(Artificial Intelligence,AI)是计算机科学的一个分支,是研究、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学[1]。人工智能技术研究领域包括机器人、模式识别、自然语言处理、机器学习、数据挖掘、人工神经网络和专家系统等[2],其最为广泛的应用之一就是游戏设计[3]。游戏设计虽然涉及多门学科,但其作为应用并没有形成一门单独的理论[4-5]。由于游戏存在较大的市场以及其作为人工智能的一个重要应用,国外已有多所大学开设了游戏设计课程。如卡内基梅隆大学(Carnegie Mellon University)于1999年设立了娱乐科技硕士学位,并开设了相关课程;南加州大学(The University of Southern California)设立了为期3年的互动媒体艺术(fine arts in interactive media)硕士学位课程,并于大学部设立电子游戏设计(video-game design)副修课程。该校也为美国军队创作训练士兵的电子游戏,透过战斗情境模拟来进行沙盘演练。麻省理工学院(Massachusetts Institute of Technology)提供多种电子游戏设计相关课程,并研发将电玩游戏纳入教室教学的方法。斯坦福大学(Stanford University)提供电子游戏设计史及包含最佳电子游戏竞赛奖的计算机绘图课程。华盛顿艺术学院(The Art Institute of Washington)为亚特兰大艺术学院的分校,提供授予学士学位的视觉及游戏程序设计课程。在初期的艺术与设计重点培训后,学生将学习立体动画相关技术。国内也有多所高校开设了游戏设计的相关课程,如北京邮电大学,首都师范大学等,为了适应市场许多培训机构也开设了游戏设计课程,但培训机构将课程的重点放在了实际的编辑代码中而过少的关注理论。中南大学开设人工智能课程已有20多年的历史,在教学实践中,中南大学智能系统与智能软件研究所的教师们在教学科研方面取得了许多令人振奋的成果。在良好的环境中,人工智能与游戏编程课程应运而生[6-7]。
1教学目标与要求
中南大学人工智能与游戏设计课程主要面向智能方向4年级学生,在4年级第一学期开设。学习该门课程之前需要具备人工智能以及计算机编程方面的课程知识,并且需要一定的计算机图形学的相关知识基础。
此门课程的学习使学生了解游戏设计与虚拟现实的基本概念和术语及其基本设计方法,理解人工智能在游戏中的相关应用,熟悉游戏设计中编程以及建模技术,为学生将来利用人工智能技术以及游戏设计技术奠定必要的知识基础。除此之外向学生介绍计算机游戏的基本原理和最新进展,包括计算机游戏动画的最新概况、游戏程序设计概览、2D游戏的基本编程技术、3D游戏动画的基本编程技术、3D游戏场景的组织与绘制、游戏中的高级图形技术、游戏中的音频编程、
游戏中的人机界面技术、人工智能在游戏动画中的应用,纹理贴图、基于图像的绘制和加速算法等。
基于该教学目标,本课程有两个重点内容,其分别是人工智能技术如何在游戏设计中的应用,以及游戏编程的相关技术。对于人工智能技术在游戏设计中的应用这一内容,主要采用理论结合实际的理念,将学生已具备的人工智能理论知识与游戏设计的具体应用联系起来,使学生一方面能体会人工智能的基础理论,另一方面使学生能够将其所学用于实践,避免理论与实践脱节。游戏编程内容主要从设计模式入手,然后依托多媒体平台对学生进行讲授设计以及编程方面的相关知识。
围绕这个教学目标,我们安排了28个学时的课堂教学,4个学时的实验,总共32个学时的课程。接下来针对课堂教学、实验设计、考核方式这几个方面分别展开讨论。
2课堂教学设计
本课程采用培训学校模式与大学理论教育折中的方式进行讲授,本节将着重对28个学时的课堂教学内容分别介绍。
1) 游戏程序设计概论与计算机图形学基础。
该部分内容可以分为以下两部分。
(1) 计算机游戏简介与游戏设计概论(2课时)。
(2) 计算机图形学基础(2课时)。
概论部分主要介绍计算机游戏的基本概念、特点以及目前国际上该领域的研究和应用情况。图形学部分主要是介绍计算机图形学的相关理论基础,目的是让没有学过计算机图形学的学生有一定了解,由于考虑到智能专业也开设计算机图形学的相关选修课,因此,本部分内容只是对之前学习的相关知识的复习,目的是为后续的程序设计课程打好相应的理论基础。
本次课程是正门课程的开篇之讲,一方面,教师要开宗明义,让学生明确何为计算机游戏,并对计算机游戏有大致的了解,为后续课程学习起铺垫作用;另一方面,为增强学生学习兴趣,必须介绍计算机游戏的类型以及各种知识与其的关联。
2) 游戏编程技术。
如上所述,游戏编程是本门课程的一个重点内容,游戏编程可以分为如下几个部分。
(1)Windows编程基础(2课时)。
(2)DirectX编程基础(2课时)。
(3)2D游戏的基本编程(2课时)。
(4)3D游戏场景的组织和绘制(2课时)。
(5)3D动画的基本编程技术(2课时)。
(6)游戏中的人机界面技术(2课时)。
对于Windows编程基础,其主要内容是Windows操作系统的发展史、Win32程序的基本结构、消息循环与处理、Windows窗口、GDI接口、集成开发环境(IDE)。
DirectX编程[8]基础的主要内容是DirectX开发包的历史及其框架、介绍每一个组件的功能、DirectX开发包的安装以及与IDE连接的配置。
2D游戏基本编程的主要内容是游戏的基本流程和体系结构、游戏开发的基本理念及方法、游戏引擎简介、游戏的调试与测试。
3D游戏场景的组织与绘制的主要内容是3D场景的组织与管理、游戏场景的几何优化、3D场景的快速可见性判断与消隐、地形场景的绘制与漫游、3D游戏场景中的碰撞检测。
3D动画的基本编程技术的主要内容是3D动画技术概述、Direct3D开发包的使用、关键帧动画技术、基于动作捕捉的动画技术、脚本驱动的动画技术。
游戏中的人机界面技术主要内容是游戏的可玩性与人机界面、用户界面设计基础。
游戏程序设计部分内容主要是让学生了解和掌握面向Windows平台的游戏编程的技能。现在绝大部分游戏和娱乐都是基于Windows平台,因此掌握Windows平台的设计模式与编程方法是必须的。又因为DirectX软件开发包是微软公司面向Windows平台开发的一套专门应用于游戏开发的API,因此了解其原理以及掌握其技术能够提高学生的游戏开发能力。
3) 人工智能在游戏中的应用。
如今的游戏应用了大量的人工智能技术,本门课程将从以下几个方面介绍人工智能技术在游戏中的应用。
(1)遗传算法(6学时)。