首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
loops
yaml
nodejs
rsa
jar
char
timestamp
hashcode
shell
timezone
md5
expression
c语言
cSharp
ip
filter
integer
dockerfile
object
process
python2
foreach
text
flutter
callback
join
cmd
config
php7
int
less
format
frameworks
blob
emoji
export
regex
dagger
datetime
version
utf-8
bytecode
copy
iostream
buffer
get
php5
ascii
scala
substring
javascript
instance
runtime
cPlusPlus
settings
tags
input
default
function
express
usb
php8
io
actionscrip
tree
hashset
hash
python3
keyword
hook
client
select
php
metadata
list
java
grid
header
eval
当前位置:
开发笔记
>
编程语言
> 正文
GameEngineArchitecture读书笔记(一)
作者:加勒比小洁_149 | 来源:互联网 | 2023-10-12 09:03
GameTeam国外AI和Audio程序员所占的角色还是很重要的,而国内AI都是服务器在做,Audio基本上没有人下多少工夫美术的话TA越来越重要,3D游戏开发不缺少另外,项目管理
Game Team
国外AI和Audio程序员所占的角色还是很重要的, 而国内AI都是服务器在做, Audio基本上没有人下多少工夫
美术的话TA越来越重要, 3D游戏开发不缺少
另外, 项目管理也很重要, 程序员没有那么多精力去关注这些事情
Game Engine
引擎的三个特性: 数据驱动, 可复用, 可扩展
流派
第一人称
写实效果, 对于技术要求最高. 真实渲染, 高帧率, 物理模拟, 动画和高智能AI, 多人游戏支持
第三人称
卡通效果, 丰富的动作, 可交互场景
格斗游戏
大量的动作, 打击判定, 角色渲染, 皮肤/布料/毛发渲染
竞速游戏
即时战略
地形支持. 复杂AI
多人在线
服务器, 图形效果要求低
其他
中间件
游戏开发越来越多的使用到中间件, 没有哪一个引擎能把所有的部分做到极致
现在的引擎更像是一个容器, 各种第三方插件整合到一起
就国内现状来说, 用商业引擎的一般会再买几个中间件, 不然功能不全; 用自研引擎的要么找开源的, 要么自己做
典型的几个中间件:
Lighting: Beast/Enlighten
Physics: Havok/PhysX/Bullet
Animation: Granny/Havok/NaturalMotion
AI: Kynapse/Xaiment/Havok
UI: Scaleform/Awsomium/CEGUI
Video: Bink/Scaleform/CRI Movie
Audio: FMOD/XACT/Miles
Network: RakNet/GameSpy
Gameplay
很多引擎是缺少这一层的, 可能OGRE的流行让大部分人觉得渲染引擎就是游戏引擎吧?
除了渲染, 像对象系统, 事件系统, 脚本系统, AI等也是一个游戏引擎不可缺少的部分
Pipeline
这才是一个引擎具有竞争力的地方, 因为它直接关系到一个游戏的开发效率
对于一个引擎来说, 画面效果虽然重要, 但是pipeline比画面和效率更为重要
游戏开发是个不断迭代的过程, 所以提高迭代的速度也意味着降低成本
一个引擎, 不管什么都是围绕着"资源"来进行的
Tools
版本管理
最开始接触的是SVN. 当然, 不可否认这是开源免费的最佳代表, 用来管理代码还是不错的. 但是用它管理美术资源无疑是个效率很低的选择
Git/Hg, 相比SVN我觉得更好用一些, TortoiseGit是我现在的首选. TortoiseHg用了一段时间, 跟TortoiseSVN的操作习惯差别太大, 而且界面还是python的, 不太习惯
Perforce, 商业解决方案. 效率的确高(特别是美术二进制资源), 插件(VS/Max/Maya/PS)也不错. 从SVN转过来后老是对它某些细节有点不爽, 因为它不会主动对比文件差异, 这也是它为什么速度快的原因-_-
Profiling
VTune/CodyAnalyst是两上程序用的工具. 最近发现VS2010自代的也相当好用, 不做汇编级的分析的话完全够用了
PerfHUD/PIX/GPA: NV现在感觉对PerfHUD支持的少了. PIX如果程序写法不标准会分析不了. GPA现在是越来越好用了, 要是把PIX的一些功能也吸收过去就更好了
audio
程序员
服务器
扩展
容器
io
ide
pip
svn
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
shell
【小白学习C++ 教程】二十三、如何安装和使用 C++ 标准库
【小白学习C++ 教程】二十三、如何安装和使用 C++ 标准库 ...
[详细]
蜡笔小新 2024-11-19 19:30:06
int
在OpenCV 3.1.0中实现SIFT与SURF特征检测
本文介绍如何在OpenCV 3.1.0版本中通过Python 2.7环境使用SIFT和SURF算法进行图像特征点检测。由于这些高级功能在OpenCV 3.0.0及更高版本中被移至额外的contrib模块,因此需要特别处理才能正常使用。 ...
[详细]
蜡笔小新 2024-11-20 21:00:18
int
精选10款Python框架助力并行与分布式机器学习
随着神经网络模型的不断深化和复杂化,训练这些模型变得愈发具有挑战性,不仅需要处理大量的权重,还必须克服内存限制等问题。本文将介绍10款优秀的Python框架,帮助开发者高效地实现分布式和并行化的深度学习模型训练。 ...
[详细]
蜡笔小新 2024-11-20 19:44:05
int
不同的编程语言是如何读写数据的
每种编程语言都有其独特的完成任务的方式,这也说明了为什么有这么多语言可供选择。在JimHall的《不同的编程语言如何完成相同的事情》文章中,他演示了13种不同的语言如何使用不同的语 ...
[详细]
蜡笔小新 2024-11-20 11:24:13
ip
实践指南:使用Express、Create React App与MongoDB搭建React开发环境
本文详细介绍了如何利用Express、Create React App和MongoDB构建一个高效的React应用开发环境,旨在为开发者提供一套完整的解决方案,包括环境搭建、数据模拟及前后端交互。 ...
[详细]
蜡笔小新 2024-11-20 10:05:15
int
开发技巧: Effective Java第三版——优先选用Collection而非Stream作为方法返回类型
在Effective Java第三版中,建议在方法返回类型中优先考虑使用Collection而非Stream,以提高代码的灵活性和兼容性。 ...
[详细]
蜡笔小新 2024-11-19 15:31:16
ip
Windows环境下Python和pip命令无法识别的解决方案
本文详细介绍了在Windows操作系统中遇到Python和pip命令无法识别的问题时的解决方法,帮助初学者快速配置Python开发环境。 ...
[详细]
蜡笔小新 2024-11-18 18:58:26
text
GitHub上的Python开源项目及IM技术应用
本文介绍了GitHub上的一些Python开源项目,特别是IM(即时通讯)技术的应用。通过Sealtalk项目,探讨了如何利用开源SDK提升开发效率。 ...
[详细]
蜡笔小新 2024-11-18 14:35:56
int
2019-2021年阿里Java面试真题汇总
本文总结了近年来在实际项目中使用消息中间件的经验和常见问题,旨在为Java初学者和中级开发者提供实用的参考。文章详细介绍了消息中间件在分布式系统中的作用,以及如何通过消息中间件实现高可用性和可扩展性。 ...
[详细]
蜡笔小新 2024-11-18 10:03:28
ip
python3 基础回忆录
整理于2020年10月下旬:总结过去,展望未来Itistoughtodayandtomorrowwillbetougher.butthedayaftertomorrowisbeau ...
[详细]
蜡笔小新 2024-11-17 10:24:41
text
驱动程序的基本结构
驱动程序的基本结构1、Windows驱动程序中重要的数据结构1.1、驱动对象(DRIVER_OBJECT)每个驱动程序会有唯一的驱动对象与之对应,并且这个驱动对象是在驱 ...
[详细]
蜡笔小新 2024-11-16 22:04:31
text
如何在DedeCMS专题页节点文档中调用自定义模型字段?
在完成DedeCMS专题页节点文章列表样式的修改后,如果需要在列表中显示自定义模型的字段,由于DedeCMS默认不支持这一功能,因此需要进行一些二次开发。本文将详细介绍如何通过修改模板文件和核心文件来实现这一需求。 ...
[详细]
蜡笔小新 2024-11-16 21:23:49
text
ABP框架概览及其前后端开发系列(一)
ABP框架是ASP.NET Boilerplate的简称,它不仅是一个开源且文档丰富的应用程序框架,还提供了一套基于领域驱动设计(DDD)的最佳实践架构模型。本文将详细介绍ABP框架的特点、项目结构及其在Web API优先架构中的应用。 ...
[详细]
蜡笔小新 2024-11-16 18:09:51
int
Java EE 平台的 13 种核心技术
Java EE 平台集成了多种服务、API 和协议,旨在支持基于 Web 的多层应用程序开发。本文将详细介绍 Java EE 中的 13 种关键技术规范,帮助开发者更好地理解和应用这些技术。 ...
[详细]
蜡笔小新 2024-11-15 21:15:35
text
vue引入echarts地图的四种方式
一、vue中引入echart1、安装echarts:npminstallecharts--save2、在main.js文件中引入echarts实例: Vue.prototype.$echartsecharts3、在需要用到echart图形的vue文件中引入: importechartsfrom"echarts";4、如果用到map(地图),还 ...
[详细]
蜡笔小新 2024-11-15 13:07:46
加勒比小洁_149
这个家伙很懒,什么也没留下!
Tags | 热门标签
loops
yaml
nodejs
rsa
jar
char
timestamp
hashcode
shell
timezone
md5
expression
c语言
cSharp
ip
filter
integer
dockerfile
object
process
python2
foreach
text
flutter
callback
join
cmd
config
php7
int
RankList | 热门文章
1
根据已有数组顺序排序另一个Object的顺序
2
org.hamcrest.core.IsEqual.areArraysEqual()方法的使用及代码示例
3
展开样式答题写法
4
【VUE.JS】安装部署篇:验证开发环境:NODE+Express+VUE+WEBPACK
5
andriod开发中关于adb连接的一个典型问题:
6
表达式(打表AC大法(滑稽))
7
多测师肖sir_高级金牌讲师ui自动化__selenium之实战练习discu成功发帖(6.10)
8
A Report on the Development of Ethereum Ecosystem Q1 2022
9
华为电话手表的时间怎么设置? 电话手表如何设置
10
c调用python环境_linux 下C调用Python 模块
11
[667]python时间处理模块dateutil
12
IO出错常用错误代码
13
jpa 不设置别名_使用JPA实现DDD持久化O/R映射元数据特殊属性映射:ID、Version和Transient...
14
JavaWeb之实现文件上传与下载
15
P4513 小白逛公园
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有