从零開始写游戏引擎(一) - project创建以及文件夹设置还有版本号控制

一句话提要

好的開始等于成功了一半。

创建文件夹结构

project文件夹下最好分为以下几个文件夹

Docs - 开发文档,设计文档

Assets - 角色,动作,模型和音效等

Source - 代码,project文件或者makefile也放在这里,假设有引用第三方的lib,在里面建立一个3rdParty的文件夹,放在里面。

Temp - 用于防止编译生成的文件

Lib - 放置编译好的lib文件,将source编译成lib能够更好地保护源码。

Game - 用于放置release buid,里面有游戏的可运行文件,还有所需的资源文件。复制到不论什么电脑上都能直接运行

Test(不是必须) - 放置測试文件

建议使用

#pragma comment (lib,“x.lib”)

来引入lib,不要把库的依赖放到project设置里。这样你就不必每一个lib都针对各个编译选项设置一遍。

Visual Studio中配置project

版本号VS2013

VS项目配置下经常使用的几个宏

$(IntDir) - 为中间文件指定的相对于项目文件夹的文件夹路径。

它解析为“中间文件夹”属性的值。

$(ProjectDir) - 项目的文件夹(定义形式:驱动器 + 路径)。包含尾部的反斜杠“\”。

$(ProjectPath) - 项目的绝对路径名(定义形式:驱动器 + 路径 + 基本名称 + 文件扩展名)。
$(ProjectName) - 项目的基本名称。
$(OutDir) - 输出文件文件夹的路径,相对于项目文件夹。这解析为“输出文件夹”属性的值。

$(SolutionDir) - 解决方式的文件夹(定义形式:驱动器 + 路径);包含尾部的反斜杠“\”。
$(SolutionPath) - 解决方式的绝对路径名(定义形式:驱动器 + 路径 + 基本名称 + 文件扩展名)。
$(SolutionName) - 解决方式的基本名称。

用VS打开项目。在项目上右击->属性->配置属性->常规

这样就能够依照之前的设计编译了。

版本号控制

版本号控制就用git吧。托管到github。

在个人主页上点击Responsitories选项卡的New,然后输入名字,描写叙述。

点确认就能够了。

接着在电脑上初始化一下。cmd进入终端。运行以下的命令

#初始化git
git init
#加入远程库。用[email protected]开头的这个,基于ssh。以后每次push不用输入username和password
git remote add -f origin [email protected]****.git
#从远程库中拉下readme之类的东西。更新到最新版本号
git pull origin master
#加入要上传的文件
git add *.
#初始commit
git commit -am "init"
#初始上传
git push  

这样项目就托管好了。

參考

Game Code Complete 4th

时间: 2024-08-04 12:56:05

从零開始写游戏引擎(一) - project创建以及文件夹设置还有版本号控制的相关文章

[Golang] 从零開始写Socket Server(3): 对长、短连接的处理策略(模拟心跳)

通过前两章,我们成功是写出了一套凑合能用的Server和Client,并在二者之间实现了通过协议交流.这么一来,一个简易的socket通讯框架已经初具雏形了,那么我们接下来做的.就是想办法让这个框架更加稳定.茁壮~ 作为一个可能会和非常多Client进行通讯交互的Server.首先要保证的就是整个Server执行状态的稳定性,因此在和Client建立连接通讯的时候,确保连接的及时断开非常重要,否则一旦和多个client建立不关闭的长连接,对于server资源的占用是非常可怕的.因此,我们须要针对

从零开始写游戏引擎(一) - 工程创建以及目录设置还有版本控制

一句话提要 好的开始等于成功了一半. 创建目录结构 工程文件夹下最好分为下面几个目录 Docs - 开发文档,设计文档 Assets - 角色,动作,模型和音效等 Source - 代码,工程文件或者makefile也放在这里,如果有引用第三方的lib,在里面建立一个3rdParty的目录,放在里面. Temp - 用于防止编译生成的文件 Lib - 放置编译好的lib文件,将source编译成lib能够更好地保护源代码. Game - 用于放置release buid,里面有游戏的可执行文件,

[Golang] 从零開始写Socket Server(4):将执行參数放入配置文件(XML/YAML)

为了将我们写好的Server公布到server上.就要将我们的代码进行build打包.这样假设以后想要改动一些代码的话.须要又一次给代码进行编译打包并上传到server上. 显然,这么做过于繁琐. ..因此常见的做法都是将Server执行中可能会频繁变更的变量.数值写入配置文件里.这样直接让程序从配置文件读取參数,避免对代码频繁的操作. 关于配置文件的格式,在这里推荐YAML 和XML~ XML是传统的配置文件写法,只是本人比較推荐yaml,他比XML要更加人性化,也更好写,关于yaml的具体信

[Golang] 从零開始写Socket Server(2): 自己定义通讯协议

在上一章我们做出来一个最基础的demo后,已经能够初步实现Server和Client之间的信息交流了~ 这一章我会介绍一下怎么在Server和Client之间实现一个简单的通讯协议.从而增强整个信息交流过程的稳定性. 在Server和client的交互过程中,有时候非常难避免出现网络波动,而在通讯质量较差的时候,Client有可能无法将信息流一次性完整发送,终于传到Server上的信息非常可能变为非常多段. 例如以下图所看到的.本来应该是分条传输的json.结果由于一些原因连接在了一起,这时候就

从零開始开发Android版2048 (一)初始化界面

自学Android一个月多了,一直在工作之余零零散散地看一些东西.感觉经常使用的东西都有些了解了,可是一開始写代码总会出各种奇葩的问题.感觉还是代码写得太少.这样继续杂乱地学习下去进度也太慢了,并且学一点忘一点,效率太低.所以从今天開始.我打算实际做点小程序.在开发中不断地学习吧. 恰好近期Android上有个游戏2048比較火,所以就那这个练手吧. 由于对Android还没有太深入的了解,所以我写的东西都会比較基础,所以须要看一些高阶开发的朋友能够绕过了,也希望能够有高手们给我一些指导和建议,

《PHP 5.5从零開始学(视频教学版)》内容简单介绍、文件夹

<PHP 5.5从零開始学(视频教学版)>当当网购买地址: http://product.dangdang.com/23586810.html <PHP 5.5从零開始学(视频教学版)>源码.教学视频下载地址: http://pan.baidu.com/s/1zt9hW 内 容 简 介 本书循序渐进地介绍了PHP 5.5开发动态站点的主要知识和技能,提供了大量的PHP应用实例供读者实践.每一章节都清晰讲述了代码作用及其编写思路,使读者能在最短时间内迅速掌握PHP的应用开发技能. 全

Spring 从零開始-01

因为学习需求,近期突然通知须要学习Spring.可是因为之前非常少使用Java.所以感觉还是有点慢,花了大约两周,弄懂了主要的结构也编了点小程序.还是万事开头难啊,网上总是非常难找到学习spring的指引资料.学习一个东西最主要的还是学习他的思想.还有就是一个可靠地学习建议,这东西会让你事半功倍,学习一定要依赖于书本,网上再好的资料都不如一本书.这个是本科+研究生的经验总结,spring学习能够參考<spring实战>,这本书写得非常精彩.可是就是须要有点高度,假设你从零開始那将会有一些困难,

从零開始学Swift之Hello World进化版

上节课,也就是昨晚啦,我们学习到从零開始学Swift之Hello World.那一节仅仅有一句代码,大家会认为不够过瘾. 那么这节课,就给大家来多点瘾货吧! 先上图! //var 代表变量的类型, start 代表变量的名称. "Hello" 代表变量的值. var start = "Hello" var dot = " , " var end = "world!" // let 是什么意思呢? let total = sta

从头開始写项目Makefile(七):统一目标输出文件夹

[版权声明:转载请保留出处:blog.csdn.net/gentleliu. Mail:shallnew at 163 dot com] 上一节我们把规则单独提取出来,方便了Makefile的维护,每一个模块仅仅须要给出关于自己的一些变量,然后再使用统一的规则Makefile.这一节我们继续改进我们的Makefile,到眼下为止我们的Makefile编译链接输出的目标都在源文件同文件夹下或模块Makefile同一文件夹下.当一个项目大了之后,这样会显得非常乱,寻找编译输出的文件也比較困难. 既然