一句话提要

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

创建文件夹结构

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

这样项目就托管好了。

參考

Game Code Complete 4th

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

  1. 《从零開始搭建游戏server》项目公布到Linux环境

    前言: 之前我们提及了怎样使用Maven来创建.管理和打包项目,也简单过了一遍Linux中搭建Java开发环境的步骤,如今我们就開始将我们之前开发的项目demo公布到Linux环境下.并让它正常执行起 ...

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

    通过前两章,我们成功是写出了一套凑合能用的Server和Client,并在二者之间实现了通过协议交流.这么一来,一个简易的socket通讯框架已经初具雏形了,那么我们接下来做的.就是想办法让这个框架更 ...

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

    为了将我们写好的Server公布到server上.就要将我们的代码进行build打包.这样假设以后想要改动一些代码的话.须要又一次给代码进行编译打包并上传到server上.     显然,这么做过于繁 ...

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

    在上一章我们做出来一个最基础的demo后,已经能够初步实现Server和Client之间的信息交流了~ 这一章我会介绍一下怎么在Server和Client之间实现一个简单的通讯协议.从而增强整个信息交 ...

  5. 从零開始怎么写android native service?

    从零開始怎么写android native service Android service对于从事android开发的人都不是一个陌生的东西,非常多人可能会认为服务非常easy. 服务是简单,由于复杂 ...

  6. 从零開始学习OpenCL开发(一)架构

    多谢大家关注 转载本文请注明:http://blog.csdn.net/leonwei/article/details/8880012 本文将作为我<从零開始做OpenCL开发>系列文章的 ...

  7. 关东升的《从零開始学Swift》即将出版

    大家好: 苹果2015WWDC大会公布了Swift2.0,它较之前的版本号Swift1.x有非常大的变化.所以我即将出版<从零開始学Swift><从零開始学Swift>将在&l ...

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

    自学Android一个月多了,一直在工作之余零零散散地看一些东西.感觉经常使用的东西都有些了解了,可是一開始写代码总会出各种奇葩的问题.感觉还是代码写得太少.这样继续杂乱地学习下去进度也太慢了,并且学 ...

  9. # 从零開始搭建Hadoop2.7.1的分布式集群

    Hadoop 2.7.1 (2015-7-6更新),Hadoop的环境配置不是特别的复杂,可是确实有非常多细节须要注意.不然会造成很多配置错误的情况.尽量保证一次配置正确防止重复改动. 网上教程有非常 ...

随机推荐

  1. phpfpm的配置

    1.php中fastcgi和php-fpm是什么东西 最近在研究和学习PHP的性能方面的知识,看到了factcgi以及php-fpm,发现我对他们是少之又少的理解,可以说几乎是一无所知,想想还是蛮可怕 ...

  2. AdaBoostClassifier实战

    AdaBoostClassifier实战 部分内容摘自:http://blog.csdn.net/sun_shengyun/article/details/54289955 这里我们用一个具体的例子来 ...

  3. CTF-Mayday

    打开下载的Mayday.txt文件: 温柔 知足突然好想你  拥抱突然好想你  拥抱温柔 知足温柔 知足突然好想你  拥抱突然好想你  拥抱温柔 知足温柔 知足突然好想你  拥抱突然好想你  拥抱温柔 ...

  4. golang图片压缩

    package main import (    //"encoding/json"    "fmt"    //"os"    //&qu ...

  5. 取消页面按钮的enter按下事件

    <script src="../../@Javascript/jquery-1.8.1.js"></script>       <script lan ...

  6. JVM概论

    引子 Java虚拟机是Java应用程序的执行环境.通常而言,JVM是由一组严格的指令集和一个复杂的内存模型来具体实现的虚拟机,它用来解释编译好的java字节码文件,将字节码转换为特定机器可以执行的本机 ...

  7. draw9patch在SDK->tools找不到,在Android Studio点击图片没找到draw9patch

    draw9patch在SDK->tools找不到,在Android Studio点击图片没找到draw9patch 第一个问题: Google把draw9patch集成在Android Stud ...

  8. Walking on the path of Redis --- Redis configuration

    废话开篇 Redis的安装是非常简单易操作的,但是配置就有点复杂了,要想得到高性能的Redis数据服务,深入了解下如何配置是很重要的. 配置详解 下面是主要的参数及说明,至于如何配置才能最优,目前还不 ...

  9. 项目随笔@Service("testService")-------第二篇

    在springmvc中使用注解已经司空见惯了,今天见到了@Service("xxx")这种形式,让我大吃一惊.原来在service后面可以加参数,作为该service的名字,在sp ...

  10. MongoDB_可视化工具Robo 3T

    Robo 3T可以对MongoDB进行可视化操作. Robo 3T安装 官网下载地址:https://robomongo.org/ 进入官网,点击下载,Studio 3T功能更全面,基础功能是免费的, ...