`

游戏开发中的一些良好习惯与技术技巧

阅读更多
转载于:http://www.cnblogs.com/dyllove98/archive/2012/03/10/2461884.html

【不定期更新】游戏开发中的一些良好习惯与技术技巧


平时programing时想到和积累的一些小技巧,在这里写成一篇日志,欢迎拍砖。



<技巧一>

使用二进制位移运算来进行乘数是2的幂的简单整数乘法(除法),因为所有的数据在计算机中都是以二进制储存,把一组位元向左或右移动就分别等价于乘法和除法运算.



<技巧二>

不要疯狂地写太多的class,也不要把任何东西都overload(重载),说到底,简单而且直观的代码是最好的程序,也最容易调试。



<技巧三>

尽量使用32位变量而不是用8位变量或16位变量,目前的主流系统是32位,这就意味着它们并不喜欢8位或者16位的数据字。实际上,由于高速缓存和其他相关内容存储器的寻址变得较不规律,较小的数据可能会使执行效率下降。



<技巧四>

经常注释你的代码。为了得到整洁,有良好的注释代码,一点点额外的打字绝对是值得的。



<技巧五>

以类似RISC(精简指令集计算机)的方式来编程,尽量简化你的代码。你的程序可以长些,但尽量使用简单指令,使程序相对编译器更加简单些。



<技巧六>

在开始你的游戏项目之前,应当进行一下组织工作。使用合理的文件名和目录名。提出一种一致的变量名的约定,尽量对图形和声音数据使用分开的目录,而不是将所有的东西都一股脑儿放到同一个目录中。



<技巧七>

设计高效率算法,没有任何一种汇编语言能使复杂度为O(n2)的算法运行得很快,更好的做法是使用清楚,高效的算法而不是蛮力型和穷举型的算法。



<技巧八>

不要在编程过程中优化代码,这通常只是浪费时间。建议你等到主要代码块或整个程序都完成后才开始着手进行繁重的优化工作,这样做最终会节省你的时间,因为你不必对一些含义模糊的代码进行不必要的优化。当游戏的coding基本完成的时候,才到了性能测试(profiling)和查找需要优化的问题的时候,另一方面,程序代码要注意错落有致,不要写得杂乱无章。



<技巧九>

不要为简单的对象定义太多的复杂的数据结构,链表结构很好用,但这并不意味着当你所需要的其实是大约有256个元素的固定数组时候,你也要使用链表。这时候,我们只需要为其静态的分配内存即可。视频游戏编程中90%的部分都是数据操作,所以数据尽可能简单和可见,这样才能够迅速地存取它,随意操作它,应当确保你的数据结构适合你所真正要解决的问题。



<技巧十>

使用内联函数,通过使用inline指示符来完全摆脱函数调用,你甚至能够改进全局变量的使用时机,inline指示符指示编译器用函数体代码去替换函数调用,这样做无疑会使编译后的程序变得更大,但却有效地提高了运行速度。



<技巧十一>

如果你知道自己酷酷的跑车将要行驶上一段坎坷的荆棘路,最好的做法是停下来,然后掉头绕路而行。有很多人沿着一条很差的编程路线走着,直到在糟糕的代码堆中葬送了自己。能意识到自己所犯的错误并重新编写500行的代码,比写一个总是令人不快的代码结构要好得多。因此,如果在coding中发现问题,就要重新评估并确保你节约的时间是值得的。



<技巧十二>

不要怕使用全局变量,许多视频游戏不让你对时间要求严格的函数使用参数,而是使用一些全局变量来专递参数,巧妙地避开很多未知的问题。



<技巧十三>

经常备份你的工作。在coding游戏代码时,需要相当繁琐地锁定代码库中的代码,重写一个排序算法还是比较容易的,但是要重写角色AI或者重写碰撞检测则是困难得多了。



<技巧十四>

多用template模板来减少重复的代码,这样可以节省不少的代码量。



【此文章不定期更新~~~】
分享到:
评论

相关推荐

    自考复习试题 游戏开发基础

    游戏开发基础是计算机科学与技术领域的一个重要分支,它涵盖了从设计、编程到测试的各个环节。自考复习试题是考生为了准备此类考试所必须掌握的关键资料。这些试题通常包含了历年考试的重点和难点,有助于考生全面...

    Visual C++游戏开发经典案例详解——源码

    这本书籍通过实例解析,帮助读者掌握C++在游戏开发中的核心技术和技巧。 首先,C++源码的学习对于理解游戏引擎的内部工作原理至关重要。源码中可能包含了游戏对象的创建、管理,图形渲染,物理模拟,音效处理,网络...

    最新39款单独源码包(适合编程人员单款游戏二次开发使用)

    这些源码包是针对编程人员设计的,特别适合那些希望进行单款...通过研究这些源码包,编程人员不仅可以学习到具体的编程技术和游戏开发流程,还能积累实践经验,提升解决问题的能力,为未来的游戏开发项目奠定坚实基础。

    Unity开发实践:2D平台跳跃游戏实践心得与案例解析

    通过本案例的开发,我们不仅学会了如何使用Unity进行基本的游戏开发,还深刻理解了良好的项目结构和代码习惯的重要性。为了提高开发效率和游戏质量,建议开发者在开发过程中注重以下几点: - **代码管理**:使用...

    Java游戏手柄与我Java开发Java经验技巧共4页.p

    总之,Java游戏手柄的集成和Java开发中的经验技巧是相辅相成的,通过JInput库可以轻松实现手柄控制,而良好的编程习惯和不断的学习则能帮助你成为一个出色的Java开发者。在这个过程中,不断地实践、优化和学习新知识...

    3D游戏编程大师技巧源代码

    "3D游戏编程大师技巧源代码"这个资源,正如其标题所言,提供了全面的学习材料,让开发者深入理解游戏开发的核心技术。这份源代码集合可能是基于某本专门讲述3D游戏编程技术的书籍,旨在帮助读者通过实践来深化理论...

    基于Android的贪吃蛇游戏开发

    4. **文档编写**:培养良好的文档编写习惯,撰写详尽的实训报告,记录开发过程中的关键步骤和技术难点。 #### 二、设计思路(需求分析、功能介绍、模块划分) **需求分析**: - 游戏界面上方和下方显示绿色苹果...

    游戏开发常见面试题合集.pdf

    ### 游戏开发常见面试题解析...综上所述,游戏开发是一个涉及众多技术和领域的复杂过程。通过掌握上述知识点,应聘者不仅能够在面试中脱颖而出,还能在实际工作中更好地应对挑战,为玩家带来更加丰富和沉浸的游戏体验。

    C++游戏客户端程序开发职位描述与岗位职责任职要求.docx

    2. 与策划和美术部门保持良好的沟通,确保程序功能与设计需求一致,这要求开发者具备良好的协作和沟通技巧。 3. 进行工具和编辑器的再开发及优化,以提高研发效率。 4. 参与产品国际化相关工作,要求开发者了解多...

    游戏编程核心技术与算法[英文版]

    根据提供的信息,《游戏编程核心技术与算法》是一本深入探讨游戏开发中核心技术和算法的重要书籍。本书作者Daniel Sánchez-Crespo Dalmau是西班牙一所大学的教授,该大学提供了该国首个视频游戏创作硕士学位课程。...

    云风 游戏之旅-我的编程感悟

    - **游戏编程语言**:C#、C++在游戏开发中的应用技巧。 #### 2. 技术实现细节 - **网络编程技术**:针对多人在线游戏,如何实现稳定的网络连接、数据同步等。 - **图形渲染技术**:如着色器编写、光照模型等,提高...

    cocos2dx游戏开发实战

    《Cocos2d-x游戏开发实战》是一本深入讲解Cocos2d-x框架的游戏开发教程。Cocos2d-x是一个跨平台的2D游戏开发框架,由C++编写,支持iOS、Android、Windows等多个操作系统。它提供了丰富的API,使得开发者能够高效地...

    ### Unity开发概念、使用技巧、优缺点

    - **可视化编辑**:降低了学习曲线,使非技术背景的人员也能参与到游戏开发中。 - **强大的社区支持**:拥有活跃的开发者社区,可以获取大量教程和技术支持。 - **缺点** - **学习曲线较陡**:尽管Unity提供了...

    C#开发的俄罗斯方块源码含技术报告

    8. **版本控制与源码管理**:尽管未提及,但良好的项目管理习惯通常包括使用版本控制系统(如Git),这样可以跟踪代码的变更历史,方便多人协作开发。 9. **技术报告**:技术报告可能是对整个开发过程的记录,包括...

    人才培养方案(网络游戏设计).pdf

    - **人才培养目标**: 旨在培养具备扎实计算机科学基础知识,熟悉网络游戏开发流程与技术,能够胜任网络游戏设计与开发工作的复合型人才。 #### 二、人才能力要求 1. **学习与继续学习能力**: 培养终身学习的习惯与...

    游戏策划笔试题目

    - **编程技巧**:良好的编程习惯和代码组织能力对于游戏开发至关重要。 ##### 10. 游戏项目管理 - **项目规划**:明确项目目标、制定详细的时间表和预算计划。 - **团队协作**:有效的沟通机制和团队协作是项目成功...

    eclipse编写坦克游戏

    以上就是"eclipse编写坦克游戏"这个项目中涵盖的主要技术点,从编程语言基础到具体的游戏开发技巧,全面展示了Java游戏开发的基本流程和关键技能。通过实践这样的项目,开发者不仅可以深入理解Java编程,还能提升...

    韩顺平:坦克大战游戏源码.素材.文档.zip

    在这个压缩包中,你可以找到游戏的源代码、图形素材以及相关的技术文档,这对于想要深入理解游戏开发,尤其是对于初学者来说,是一份非常宝贵的学习资料。 首先,我们要关注的是“坦克大战”这个游戏本身。坦克大战...

    微信小游戏源码 HTML5游戏 微信游戏源码80套合集.zip

    微信小游戏源码与HTML5游戏开发是现代移动互联网领域中的热门话题。这一合集包含了80款不同的游戏源码,为开发者提供了丰富的学习资源和设计灵感。这些源码的使用不仅可以帮助初学者快速理解游戏开发的基本流程,也...

    游戏引擎官方入门自学到提高全218集(1080P中文字幕)

    ### 二、游戏开发基础知识 1. **编程语言**:如C++、C#等,了解基本语法、面向对象编程思想等。 2. **数学基础**:掌握线性代数、向量几何等知识,对于理解游戏中的坐标变换、光照计算非常重要。 3. **图形学基础**...

Global site tag (gtag.js) - Google Analytics