900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 游戏开发心得——书籍篇——《游戏引擎框架》-专业工具

游戏开发心得——书籍篇——《游戏引擎框架》-专业工具

时间:2022-12-24 18:59:12

相关推荐

游戏开发心得——书籍篇——《游戏引擎框架》-专业工具

游戏开发心得——书籍篇——《游戏引擎框架》-专业工具

FOR THE SIGMA

FOR THE GTINDER

FOR THE ROBOMASTER

简介:

学习《游戏引擎框架》并总结出属于自己的知识,诸君共勉之!

内容:

本章主要探讨大部分专业游戏工程师们所采用的工具,在各类软件工程中,游戏开发是要求最高、覆盖面最广之一。这本书的作者希望每个游戏开发者们不要完全忽视这些内容,可以让读者多学到一下东西(确实,若是不看这一章,我都不清楚还有这么多的版本控制软件,例如perforce这个软件,也不会知道git的真实)

一、版本控制

所谓的版本控制系统就是容许多位开发者在同一组文件上进行工作,由于版本控制系统记录了每个系统的历史,所以它可以追踪文件中的每个改动,需要时还可以把改动还原。版本控制系统容许多位用户同时修改文件,甚至修改同一个文件,并避免互相破坏成果。因为版本控制系统主要提供程序员管理源代码,所以有时,版本控制又叫做源代码控制。要注意的是版本控制系统不单作用于控制源代码,还可以用来管理其他的文本,例如以二进制文件为主的游戏资产:纹理、三维网格、动画、音频文件等。

在多名工程师组成的团队合作开发软件时,版本控制具有以下功能:

提供中央版本控制,工程师们可以分享其中的代码保留每个源文件的所有更改记录提供为某些版本加上标签的机制,供以后提取已加标签的版本容许代码从主生产线上建立分支,为交旧的软件版本制作补丁追踪残缺并定级以方便回溯

常见的版本控制系统(这里只重点介绍一下SVN、Git、Perforce;在UE4中已整合了Perforce与SVN)

SCCS和RCS:这是最原始最古老的版本控制系统,两者皆使用命令行界面,主要流行与UNIX上。CVS:并发版本管理系统是高强度、专业级、基于命令行接口的版本控制系统,建立于RCS上。Subversion:简称SVN,是一种开源版本控制系统,其目的是取代并改进CVS。因为开源而免费,是个人项目、学生项目、小工作室之选。

SVN的一些资料:/zh-CN/Engine/Basics/SourceControl/SVN/index.htmlGit:开源版本控制系统,用于许多令人敬佩的项目,在Git开发模型里,程序员吧文件的变更提交到一个分支上,之后,该程序员可以轻易把其他修改合并到任何一个分支,因为Git知道如何回溯文件的区别(diff)并把区别重新应用在新的基修订版,这个过程会被称为,衍合(rebasing)。

Git的一些资料:

GIt官网

一个小时学会GitPerforce:一款专业级的源代码管理控制系统,同时支持基于文本与GUI的接口,其强大之处在于变更列表,是指同一个逻辑单元而进行修改的源文件集合。变更列表会与原子方式签入版本库内,即要么整个变更列表成功提交,要么没有东西提交进行。

特点:轻便快速的SCM工具,真正的客户端/服务器系统,对共享文件系统没有依赖性。灵活的客户端视图。强大的分支(反映)功能,将更改要求和更改成效进行关联

Perforce的一些资料:

Perforce官网

如何在虚幻 4 中使用 Perforce 作为版本控制软件

Perforce使用教程NxN Alienbranin:这是一款针对游戏产业而特别设计的强大版本控制系统,具有丰富功能。最大的特点就是支持文本及二进制游戏资产的海量数据库,并配置定制的用户界面,以针对特定的专业,例如美术设计师们、制作人、程序员等(在这里博主并不建议萌新安装,除非有老鸟带,这种软件网上资源较少,且教程也少,若非要安装的话也可以参考这篇博客alienbrain nxn 8.1 安装详解海图)ClearCase:一款专业级的源代码控制系统,是为超大规模的软件项目而设立,提供独特的用户接口,以扩展Windows资源管理器的功能。唯一的缺点就是成本昂贵,对于经费与人员都有限的恐怕跟倾向于Git与SVN。Visual SourceSafe:一款轻型的源代码控制软件包。

以下是有关职场大佬的建议:

Clearcase, SVN, Git之我见

游戏创业团队应该选择Git还是Svn

就个人而言中小型团队最好的选择可能就是Git与SVN搭配用了,而大型游戏公司由于管理体系完善且庞大,使用Perforce与ClearCase要划算一点。

二、微软Visual studio

采用C++语言编程的话,需要的编译器与链接器,其中常用的一般是微软的Visual studio系列,这是一个集成开发环境(IDE),包含为源代码而设的高质量全能型文本编辑器以及源代码层级或机器层级调试器,这在windows平台上进行游戏开发是必不可缺的。

1、源文件、头文件及翻译单元

C++编写的程序一般由源文件所组成。常见的C++源文件扩展名为.cpp等,在编译器眼中则需要把这些代码转换为机器码,所有源文件又被称为翻译单元。

头文件则用于多个翻译单元之间的信息分享,它本身也是一种源文件,但是缺独立出其他源文件,在头文件里面一般会有自定义函数原型与函数声明等。

2、程序库、可执行文件及动态链接库

在编译翻译单元后,输出的机器码会储存在对象文件中(值得注意的是,windows下为.obj,linux下为.o),这些生成的对象文件们可以放进一个名为程序库里面。

可执行文件需要对象文件与程序库进行链接,这样可执行文件就能被机器识别并运行出相应的功能效果。

动态链接库可以把它看做当你自己设计的程序需要其他工程师们已经写好的库里面的函数实现某些功能时,需要加载进入VS里面的库文件:例如:你要做图像处理,就需要先下载一个安装包,并将里面已经整理好的库文件动态加载到,VS库里,这样你就可以通过opencv的相关函数实现很多图像处理功能了。

3、解决方案资源管理器

将引用、外部依赖项、头文件、源文件、资源夹统合起来并以树视图的形式体现出来,以方便管理与调试。

4、常用生成选项

参考:Window10下学习心得——安装篇——VS安装与opencv3.4.6配置(含添加项目属性表方法)(不定期更新)

5、典型生成配置

这里一般为程序写出来后进行调试以最终得到运行的效果,常见的为4种情况

调试(debug):调试生成版本的最慢的,同时里面后默认关闭各种优化、中断函数内联。该模式一般用于测试新代码或是对程序做大量Debug时使用发布(Release):生成版本是较快的,游戏表现能趋近于最终产品的运行速度,留有机会去调试问题制作(Production):制作配置,是为了生成最终发行给消费者的游戏版本而设立的,这会取出所有调试信息,通常会关闭所有断言,并完全启动优化,其制作配置非常棘手,但制作生成版本是最快即最精干的生成类型。工具(Tools):有些游戏工作室的工具和游戏本身会公用一个代码库,而在版本生成时,会分为(ToolsDebug与ToolsRelease)

6、混合生成版本

这是指在其配置中,大部分翻译单元是发布模式,只有少量的翻译单元采用的是调试模式,使用这种配置容易调试当前要监察的代码,而其余的代码会高速的运行。例如cmake就可以完成这样的操作,但需要提前写好Makefile。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。