课程大纲:
章节内容
C++程序基础
C++是一种通用编程语言,应用广泛,常用于系统开发、游戏引擎开发等应用领域,是至今*最受广大受用的*大编程语言。C++设计直接的和广泛的支持多种程序设计风格,无需复杂的程序设计环境。
面向对象程序设计
面向对象程序设计,是一种计算机编程架构,从80年代开始成为了一种主导编程思想。它达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。
游戏中的数据结构与算法
数据结构和算法在游戏程序中应用得很广,可以说无处不在,被比喻为游戏程序的灵魂。一般游戏对程序的效率要求很高,因此能否成为出色的游戏程序员很大程度取决于能否编写出高效的算法。
"C++程序基础、面向对象程序设计、游戏中的数据结构与算法"对应学习目标
"C++程序基础、面向对象程序设计、游戏中的数据结构与算法"阶段,主要帮助我们对游戏编程有一个清楚的认识。掌握游戏编程的基础编程语言,进阶的面向对象程序设计方式,更高级的数据结构、算法在游戏编程中的使用方式及技巧等内容,是我们后续学习的基础,具有非常重要的基础作用。
游戏案例实践
依据教师提供的游戏案例源码,综合运用所学过的游戏开发编程技术,进行相对完善的功能开发,赋予一个游戏所应该具有的游戏性,尽量做到:"娱乐性*"
阶段考核(K1)
阶段考试K1的形式为在线考试,利用汇众教育自主研发的在线考试系统进行程序基础知识的在线答题。本次阶段考试主要考察C++及数据结构算法的功底。
游戏中的图形图像实现
讲解计算机图形学的原理、算法及实现,即从基本图形的生成,由简单到复杂,由二维到多维。实用图形编程技术包括计算机图形学的概念、发展、应用和软硬件系统;编写代码,使计算机自动绘制直线、圆、椭圆基本图形、曲线及区域的填充;图像处理的基本知识。
简单游戏框架设计
在游戏项目中,游戏程序的主体框架是整个工程项目最基础最重要的部分,它集结了项目运行时所需的各个功能函数集群。代码量少、表达规范、语法结构稳定的程序能够让整个游戏框架更易于维护。所以,游戏的主体框架应该是简约而不简单的,即用最少的代码实现尽可能多的程序任务。
"游戏中的图形图像实现、简单游戏框架设计"对应学习目标
《英雄联盟》是由美国Riot Games开发,腾讯游戏运营的英雄对战网游。《英雄联盟》除了即时战略、团队作战外,还拥有特色的英雄、自动匹配的战网平台,包括天赋树、召唤师系统、符文等元素。
"游戏中的图形图像实现、简单游戏框架设计"阶段,主要帮助我们实现类似《英雄联盟》这种类型的游戏的程序框架,在程序框架内,实现地形的渲染、地表装饰物的渲染、游戏特效的渲染、游戏角色、NPC的渲染等游戏对象在游戏中的渲染技术。通过我们学习到的技术实现游戏画面的渲染。
游戏中的数学与物理应用
游戏的可玩性与游戏中的数学与物理运算息息相关,比如寻路算法、碰撞检测、重力与加速度、伤害范围与防御等。通过改变运算方法和数值,就可以实现不同的游戏效果与感受。
"游戏中的数学与物理应用"对应学习目标
《穿越火线》由韩国SmileGate开发,在韩国由Neowiz发行,在中国大陆由腾讯公司代理运营。它是一款*人称射击游戏的网络游戏,玩家扮演控制一名持枪战斗人员,与其他玩家进行械斗。
"游戏中的图形图像实现"阶段,主要帮助我们实现类型《穿越火线》这种类型的游戏中角色从高处掉落后失血的判定、能否跳跃到某个箱子上、能否钻入某个障碍物下、从否从某个缺口爬过、不同枪械弹道的计算等。通过这门课程的学习,能够让游戏更加真实。
Lua语言及UI系统(Lua实现)
使用Lua脚本语言,开发可以自定义的游戏UI系统。包括游戏UI框架的搭建、游戏UI布局的可视化调整、UI特效实现、UI事件的绑定及处理等。
"Lua语言及UI系统(Lua实现)"对应学习目标
《刀塔传奇》是一款风靡中国的动作卡牌手机游戏,以创新的轻操作战斗玩法,打破传统卡牌游戏操作呆板、无脑等待的瓶颈,玩家指尖手动掌控英雄大招,把握施放大招的顺序,尽享酷炫技能带来的极致视觉体验。
"Lua语言及UI系统(Lua实现)"阶段,主要帮助我们实现类似《刀塔传奇》游戏中的UI系统。包括UI框架的搭建、游戏UI布局的可视化调整、UI特效实现、UI事件的绑定及处理等。同类型的卡牌类游戏通常都非常注重UI系统的实现,UI系统设计的优秀与否直接影响了该类型游戏的用户体验,一定程度上决定了游戏的成败。
阶段考试(K2)
项目考核。按照考核文档要求,首先制作游戏程序技术开发文档,绘制出对应的UML程序结构图;其次按照UML图进行编码,实现游戏框架及各个游戏模块的功能,并最终编译为可直接运行的游戏;最后给出游戏项目说明文档。
cocos2d-x游戏引擎基础
Cocos2d-X可以帮助我们更好更快地开发出高效有价值的2D游戏,并且这个游戏可以在PC、手机等设备上运行。我们需要重点掌握的是在该引擎标准框架基础上,如何改变编码并实现我们想要的游戏效果。
引擎游戏设计
基于引擎设计的游戏,需要将游戏设计框架与引擎功能框架进行完美结合,主要模块有:游戏数据管理模块、应用程序配置模块、日志记录模块、网络管理模块、消息事件机制模块、输入输出控制模块、音效管理模块、UI系统模块、逻辑系统处理模块。针对不同类型的游戏,通常只需要单独实现最上层的游戏逻辑系统,而剩余的模块完全可以复用。
"Cocos2d-x游戏引擎基础、引擎游戏设计"对应学习目标
《捕鱼达人3》是一款益智休闲类的游戏。不仅拥有丰富的捕鱼场景,也有新鲜的画面视觉体验。捕鱼达人3可以感受到单人模式、对抗模式等不同的捕鱼闯关体验,无论是画面还是玩法,都是全部创新,保留原有游戏精髓的同时,突破固有模式。
"Cocos2d-x游戏引擎基础、引擎游戏设计"阶段,主要帮助我们学习如何使用Cocos2d-x游戏引擎去开发一款游戏。从游戏整体框架的搭建,到UI系统、地图系统、装备系统、公会系统、战斗系统等游戏开发中常用的系统的模块划分、代码实现、业务逻辑编写等。最终完成一款类似《捕鱼达人3》类型的完整的商业化的项目。
MFC
微软基础类库(MFC)是一个微软公司提供的代码库,利用MFC可以快速的开发游戏制作中用到的各种辅助工具,例如地图编辑器、任务编辑器、UI编辑器、GM工具等。以加快游戏开发速度及游戏上线后对游戏进行快速的维护、更新等。
项目实战
按照商业项目要求,模拟商业项目开发流程,制作游戏程序技术开发文档,绘制出对应的UML程序结构图,对游戏进行编码,实现游戏框架及各个游戏模块的功能,最终编译为可直接运行的游戏并提供整个游戏项目的设计文档。