游客,欢迎来到MedPdf网站!
世嘉新人培训教材:游戏开发.图灵程序设计丛书(日)平山尚2020P699_14774560-详情页-MedPdf医学_电子_图书_PDF_资源_文件_网盘_下载

返回顶部

首页 > 分类列表 > 详情页

世嘉新人培训教材:游戏开发.图灵程序设计丛书(日)平山尚2020P699_14774560

    • 资源编号:175412
    • 资源学科:文体科教|工业技术
    • 资源格式:pdf
    • 资源大小:151.09MB
    • 会 员 价:420资源点
    • 上架日期:2023-12-25
    • 点击次数:
    • 下载次数:
    • 发 布 者:
    • 资源页码:699
    • 版 本 号:
    • 网盘名称:
    • 文 件 夹:
1. 世嘉新人培训教材:游戏开发.图灵程序设计丛书(日)平山尚2020P699_14774560.pdf    大小:151.09MB   
网盘下载:

内容简介

《游戏开发:世嘉新人培训教材》全面介绍了游戏开发人员需要掌握的相关技术知识。内容由浅入深,从命令行游戏开发讲起,然后介绍如何开发简单的2D游戏,最后介绍如何开发出一个包含模型和动画的3D游戏,涵盖了计算机图形学(3DCG、2DCG、字体、光照、动画)、计算机运算(碰撞处理、计算误差)、编程(模块化、bug预防、性能优化)、游戏处理(状态迁移、实时处理、加载)和声音处理等知识。

 

作者简介

平山尚(作者)

1977年生于日本北海道,曾在京都大学研究生院工学研究科进行基因研究,毕业后进入世嘉株式会社,参与了《电脑战机》(PS2)、《超级网球大奖赛3》(AC、PS3的开发。著有《我的第一本编程书》。

 

罗水东(译者)

游戏开发工程师,15年软件和游戏开发经验。热爱技术,乐于分享心得。目前主要关注的领域为3D休闲游戏开发和底层引擎技术。

目录

第1部分 2D游戏.1


第1章 第一个游戏2


1.1 开发一个益智游戏.3


1.2 示例代码解说7


1.3 添加读取场景数据的功能16


1.4 C 课堂21


1.5 补充内容:标志位和位运算26


1.6 补充内容:指针和内存34


1.7 补充内容:引用41


1.8 本章小结46


第2章 从像素开始学习2D图形处理.47


2.1 什么是2D图形处理48


2.2 准备工作50


2.3 打印一个点54


2.4 移植《箱子搬运工》.55


2.5 补充内容:结束处理.58


2.6 本章小结60


第3章 使用图片素材61


3.1 读取图片文件.62


3.2 带图片的《箱子搬运工》的示例代码72


3.3 使用透明通道.75


3.4 头文件包含关系的组织策略.82


3.5 补充内容:透明混合的性能优化86


3.6 补充内容:加法混合.88


3.7 本章小结90


第4章 实时游戏91


4.1 什么是实时游戏92


4.2 运行动画95


4.3 带动画的《箱子搬运工》.96


4.4 获得游戏的帧率.101


4.5 解决帧率差异103


4.6 补充内容:根据帧率变化动态改变游戏运行速度105


4.7 补充内容:影像撕裂现象110


4.8 本章小结.111


第5章 简单的状态迁移113


5.1 往类库追加功能.114


5.2 相对直接的做法.117


5.3 试着增加状态119


5.4 代码审查.122


5.5 示例代码解说128


5.6 本章小结.136


第6章 文本绘制方法.137


6.1 字体图片.138


6.2 文本绘制函数138


6.3 一些改进.140


6.4 成果验证.142


6.5 示例代码解说143


6.6 注意著作权147


6.7 示例类库的功能.147


6.8 本章小结.148


第7章 动作游戏初体验149


7.1 用到的类库150


7.2 开发《炸弹人》.151


7.3 示例代码解说152


7.4 添加背景显示157


7.5 配置移动的对象.164


7.6 游戏的改进方向.169


7.7 本章小结.170


第8章 2D平面内的碰撞处理171


8.1 碰撞检测.172


8.2 碰撞响应.174


8.3 发生多个碰撞时的问题.179


8.4 碰撞响应与操作性180


8.5 移动的物体相互碰撞184


8.6 《炸弹人》的碰撞处理.184


8.7 本章小结.186


第9章 各种输入设备.187


9.1 获取输入设备实例188


9.2 键盘189


9.3 鼠标189


9.4 手柄190


9.5 在《炸弹人》游戏中使用手柄.191


9.6 本章小结.193


第10章 状态迁移详解194


10.1 问题定位195


10.2 使用继承195


10.3 实际运用198


10.4 补充内容:简化状态迁移的代码.201


10.5 补充内容:跨层级的状态迁移处理的改进204


10.6 补充内容:继承的原理208


10.7 本章小结213


第11章 播放声音.215


11.1 关于音频类库216


11.2 补充内容:计算机如何播放声音.218


11.3 补充内容:音高和音量219


11.4 补充内容:音色220


11.5 补充内容:声音的叠加221


11.6 补充内容:do、re、mi的原理222


11.7 补充内容:演奏乐谱223


11.8 补充内容:读取WAV音频文件225


11.9 补充内容:使用Sound模块来合成声波.226


11.10 本章小结226


第12章 旋转、缩放与平移227


12.1 旋转.228


12.2 引入向量和矩阵241


12.3 利用顶点来实现246


12.4 缩放.253


12.5 在缩放的同时进行旋转.255


12.6 矩阵的力量.256


12.7 补充内容:旋转公式的由来263


12.8 补充内容:更为实用的旋转处理方法266


12.9 补充内容:数学中的矩阵.267


12.10 本章小结271


第13章 显卡的力量272


13.1 关于使用的类库273


13.2 使用显卡绘制三角形273


13.3 将图像贴到三角形中275


13.4 混合模式278


13.5 旋转、缩放和移动.278


13.6 移植《炸弹人》281


13.7 本章小结284


第2部分 3D游戏285


第14章 绘制立体物体286


14.1 关于类库287


14.2 开始制作3D动作游戏《机甲大战》.287


14.3 绘制三角形.289


14.4 按位置前后绘制物体290


14.5 将远处的物体绘制得小一些294


14.6 坐标变换303


14.7 用矩阵表示透视变换316


14.8 开始制作《机甲大战》322


14.9 补充内容:Z缓存的精度问题335


14.10 本章小结338


第15章 类库的封装方法.340


15.1 整体设计341


15.2 资源的详细内容342


15.3 试运行350


15.4 从文件载入.352


15.5 补充内容:将类库从游戏中分离.354


15.6 本章小结363


第16章 伪XML文件的读取364


16.1 确定文件格式365


16.2 创建前的准备366


16.3 处理流程368


16.4 字符串解析.371


16.5 编写代码373


16.6 运用.375


16.7 示例代码解说378


16.8 补充内容:生成数据文件382


16.9 本章小结385


第17章 编写高性能的代码386


17.1 算法与时间复杂度.387


17.2 数据结构基础390


17.3 吞吐量与延迟402


17.4 并行处理404


17.5 内存问题404


17.6 STL和数据结构411


17.7 性能瓶颈分析416


17.8 补充内容:函数调用的开销417


17.9 补充内容:高效运算与低效运算.420


17.10 本章小结422


第18章 3D碰撞处理.423


18.1 长方体的碰撞处理.424


18.2 使用浮点数的碰撞检测427


18.3 三角形和线段的相交检测.436


18.4 实用性445


18.5 其他问题447


18.6 本章小结448


第19章 《机甲大战》的设计450


19.1 状态迁移451


19.2 操作.451


19.3 发射导弹454


19.4 将功能整合到一起.457


19.5 前端展现461


19.6 不足之处463


19.7 本章小结464


第20章 光照465


20.1 看见物体的过程466


20.2 光的衰减过程469


20.3 尝试计算473


20.4 整合到《机甲大战》中.479


20.5 补充内容:性能优化480


20.6 补充内容:更好的绘制效果483


20.7 本章小结484


第21章 角色动画.485


21.1 相对运动486


21.2 层级Model类492


21.3 自动构建树结构495


21.4 将动画数据化500


21.5 补间方法506


21.6 引入到《机甲大战》中.518


21.7 补充内容:联立方程组vs斜率指定法519


21.8 补充内容:不足之处520


21.9 本章小结523


第3部分 通往商业游戏之路525


第22章 高效的碰撞检测.526


22.1 低效的循环判断方法527


22.2 性能改善的基本思路528


22.3 基于排序的方法531


22.4 依靠分割实现的方法539


22.5 补充内容:改进等分切割法545


22.6 补充内容:空间分割的高级技巧.548


22.7 本章小结552


第23章 数据加载.554


23.1 为何加载时间越来越长.555


23.2 文件加载类.556


23.3 通过合并文件提升性能.562


23.4 通过压缩提升性能.571


23.5 补充内容:多线程异步处理579


23.6 补充内容:编码技术590


23.7 补充内容:用于加密的合并与压缩591


23.8 本章小结592


第24章 float的用法593


24.1 位数限制594


24.2 float的实现594


24.3 位数截断带来的误差596


24.4 误差程度597


24.5 减小误差的方法600


24.6 特别的数606


24.7 本章小结608


第25章 随书类库概要609


25.1 类库中的类.610


25.2 启动设定611


25.3 Framework模块613


25.4 WindowCreator模块614


25.5 FileIO模块614


25.6 Base模块615


25.7 Math模块616


25.8 Threading模块618


25.9 Input模块.620


25.10 Sound模块620


25.11 PseudoXml模块621


25.12 Graphics模块621


25.13 Scene模块628


25.14 抗锯齿处理630


25.15 将《机甲大战》改用最终版类库实现631


25.16 X文件.633


25.17 本章小结634


第26章 bug的应对方法.635


26.1 防火与灭火.636


26.2 bug的种类.636


26.3 bug的预防.641


26.4 bug的处理.654


26.5 《机甲大战》的处理656


26.6 补充内容:如何检测内存溢出657


26.7 本章小结660


第27章 进阶方向.662


27.1 应该学习什么663


27.2 工具开发664


27.3 AI667


27.4 网络.667


27.5 shader668


27.6 参考文献669


27.7 一些期待的书672


后记.675


致谢.676



出版信息

丛 书 名:

  • 作  者:[日]平山尚著
  • 出 版 社:人民邮电出版社
  • 出版日期:2020-04-01
  • 版    次:1
  • 页    数:
  • 字    数:
  • 印刷时间:2020-04-01
  • 开    本:16开
  • 纸    张:胶版纸
  • 印    次:1
  • I S B N:9787115525758
  • 包    装:平装

下载记录

Copyright (C)2007-2018 medpdf.com