用VS怎么开发3Dunity3d vr游戏开发?

3347人阅读
网游相关(8)
国内3D游戏开发流程
开发团队n 制作人n 执行制作人n 策划团队n 程式团队n 美术团队销售团队测试团队游戏评论队伍游戏制作人n 开发组长(always)n 资源管理 (Resource Management)n 行政管理 (Administration)n 向上負責 (Upward Management)n 专案管理 (Project Management)游戏执行制作人n 专案管理执行 (Project Management)n Daily 運作n House Keepingn Not full-time job position游戏策划n 故事设计 (Story Telling)n 脚本设计 (Scripting)n 玩法设计 (Game Play Design)n 关卡设计 (Level Design)n 游戏調適 (Game Tuning)n 数值设定 (Numerical Setup)n AI 设计 (Game AI)n 音效设定 (Sound FX Setup)n 场景设定 (Scene Setup)游戏美术n 场景 (Terrain)n 人物 (Character)n 建模 (Models)n 材質 (Textures)n 动作 (Motion / Animation)n 特效 (FX)n 用户界面User Interface游戏程序n 游戏程序 (Game Program)n 游戏开发工具 (Game Tools)n Level Editorn Scene Editorn FX Editorn Script Editorn 游戏Data Exporters from 3D Softwaren 3dsMax / Maya / Softimagen 游戏引擎开发Game Engine Developmentn 网络游戏服务端开发Online Game Server Development游戏开发流程创意 提案 制作 整合 测试 赞成 雏形 除错 调试Pre-alpha Alpha Beta 结束n 创意 (Idea)n 提案 (Proposal)n 制作 (Production)n 整合 (Integration)n 测试 (Testing)n 除錯 (Debug)n 调试 (Tuning)游戏设计(Concept Design)n 游戏类型 (Game Types)n 游戏世界观 (Game World)n 故事 (Story)n 游戏特色 (Features)n 游戏玩法 (Game Play)n 游戏定位 (Game Product Positioning)n Target playern Marketing segmentation / positioningn 风险评估 (Risk)n SWOT (优势Strength/缺点Weakness/机会Opportunity/威胁Threat)游戏提案 (Proposal)n 系統分析 (System Analysis)n 游戏设计文件撰写 (Game Design Document)n 传播媒介文件撰写 (Media Design Document)n 技术设计文案撰写 (Technical Design Document)n 游戏专案建立 (Game Project)n 时间表Schedule n 进程/控制Milestones / Check points n 管理Risk management n 测试计划书n 团队建立 (Team Building)游戏开发 (Production)n 美术量产制作n (建模)Modelingn (结构)Texturesn (动画)Animationn (动作)Motionn (特效)FXn 程序开发 (Coding)n 策划数值设定游戏整和 (Integration)n 关卡串联 (Level Integration)n 数值调整 (Number Tuning)n 音效置入 (Audio)n 完成所有美术n 程旬与美术結合n (攻略)Focus Group (说明书User Study)n 发布一些攻略截图Release some playable levels for focus group游戏测试 (Testing)n Alpha(&) 测试n 除錯 (Debug)n Beta (&)测试n 数值微调n Game play 微调n 对网络游戏而言 (MMOG)n 封閉测试 (Closed Beta)n 開放测试 (Open Beta)n 压力(极限)测试 (Critical Testing)n 网络游戏才有关于Bugn Bug 分級 (Bug Classification)n A Bugn B Bugn C Bugn S Bugn Principlesn Bug 分級从严n Tester(测试对象?&) vs Debugger(调试程序)系统层System Layer & APIsn 3D Graphics APIn DirectX 9.0 SDK & Direct3Dn OpenGL 2.0n 2D APIn DirectX 9.0 SDK - DirectMedian Win32 GDIn Input Devicen DirectX 9.0 SDK & DirectInputn Audion DirectX 9.0 SDK & DirectSound / Direct3DSound / DirectMedian OpenALn OS APIn Win32 SDKn MFCn Networkn DirectX 9.0 SDK & DirectPlayn Socket library引擎层Engine Layern 3D Scene Management Systemn Scene Graphn Shadersn 2D Sprite Systemn Audio Systemn Gamepadn Hotkeyn Mousen Timersn Networkn DDK Interfacen Terrainn Advanced Scene Management & Space Partitionn BSP Treen Octreen Character Systemn Motion Blending Techniquesn Dynamicsn Collision Detectionn SoundFXn User Interface游戏层Game Play Modulan NPC (Non-playable Characters)n Game AIn Path Findingn Finite State Machinen &n Avatarn Combat Systemn FX Systemn Script Systemn Trading Systemn Number Systemn &Game Dev Toolsn Visual C/C++n .net 2003n Visual C/C++ 6.0+ SP5n DirectXn Current 9.0cn NuMega BoundsCheckern Intel vTunen 3D Toolsn 3dsMax/Maya/Softimagen In-house Tools~~~~~~~~~~结束~~~~~~~~~游戏分类n RPG (Role playing games角色扮演)n AVG (Adventure games冒险类)n RTS (Real-time strategy games既时战略)n FPS (First-person shooting games主视觉射击)n MMORPG(多人在线角色扮演)n SLG (战棋)n Simulation(模拟)n Sports(运动)n Puzzle games(解迷)n Table games(棋牌)&
海外游戏开发分工方式解说海外的游戏开发分工方式,国内是善於土法炼钢的,也可能很多厂家根本对海外一无所悉,仅用国内惯常的方式来分工,不过这样的分工确实有实质的意义存在,或许看到这篇文章的业界朋友,可以思考下并作为国内公司在划分职位的叁考。在叙述职位的区分前,首先说下海外一般的职等区分,除了Producer以外,大约分为六级:Junior/EntryNomal(无冠等级职称)Mid-Level(多数公司没有这个等级)Senior(资深)Lead(中阶干部)Director(总监)Producer(除策划、制作人外,一般较少在程序、工种美术上划分这个级别)以下便是海外分工的方式。●程序Tools Programmer 工具程序Network Engineer网络程序Physics Programmer物理程序AI Programmer人工智能程序Graphics Programmer图像程序U.I. Engineer介面程序Game System Engineer游戏系统程序Gameplay Programmer游戏脚本程序Technical Director技术总监Engine Programmer引擎开发程序Game Database Programmer游戏数据库程序Web Developer网页开发程序●美术 Concept Artist创意美术Character Artist角色美术2D Artist2D美术3D Modelers3D模型Texture Artist材质美术Environment Artist环境美术3D Animator3D动作FX Artist特效美术User Interface Artist界面美术Level Artist关卡美术External Producer美术外包监制Technical Artist技术美术Art Production Manager美术产品总监Cinematic Artist影片、动画师
Lead Vehicle Artist美术执行主管这里面一般应该是对於创意美术和技术美术比较难以理解,另外可能是对於环境美术的认知模糊。□创意美术(Concept Artist)创意美术其实是跟着制作人一起工作的人,他提供制作人需要表现的所有美术设计需求。□技术美术(Technical Artist)而技术美术,则是为美术人员解决技术问题的,本身必须具备美术能力,而且还必须有程序技术能力,可以制作各种工具或脚本来简化美术的工作并提供谘询。□环境美术(Environment Artist)而环境美术,其实是游戏映象世界的架构者,不单纯只是个场景美术而已,还包含了环境气氛的建构,原画的场景部分是环境美术的工作之一。同样的,在动画影视圈里,画场景的和画角色的通常是不一样的人,因为擅长不同。□角色美术(Character Artist)这个可能容易理解,是专门设计角色的。其实游戏公司对这个岗位特别重视,因为一个受欢迎的IP衍生的价值绝不仅只游戏,所以很多的角色美术是聘知名画家来进行设定。●策划Designer策划
Level Designer关卡策划Systems Designer系统策划Writer文案策划Producer制作人这部分的分工除了Designer这个模糊字眼以外,其他的都还蛮清晰的。中小型公司才会用这个模糊字眼,因为啥杂事都要干,大约是国内执行策划的位置。但对於关卡、系统、文案的区分就很清晰。首先是系统策划,是跟着制作人把系统完善,并且负责数值设计的部分。在海外并没有数值策划(Numerical Analysis(数值分析)或Numerical System Designer(数值策划))的职位,国内这麽分工的意义我也不清楚,因为数值和系统是密不可分的。我的理解是系统策划把需求开列,然後由数值策划建立需要的模型和算式,并填写内容。以网游来说,数值不仅只是单位数字运算与公式而已,还牵涉到游戏的节奏,要花那时间养出几个和制作人一样思维高度的人,还不如就游戏统策划来执行这个任务吧!至少系统策划是确实执行系统规划的人。并且可以想想,系统设计完成了,这系统策划没事干了吗?光站在人力运用观点上,系统策划兼具数值设计是很正常的。底下就算有填数值的策划,不就仅只是用工具达到上头的目标吗?这是执行策划,并非数值策划~其他关於音乐与测试、市场类的的就不列出来了。音乐也觉得很重要,尤其以前也算是半个音乐人。但我会宁可相信玩游戏的音乐人,也不相信玩音乐的游戏人,可能有点残酷吧,但这本质有差异。玩游戏的音乐人,他是把音乐融入游戏里。但是玩音乐的游戏人,他只是很主观的把游戏加上音乐,可能这有点绕舌吧?这样说吧!音乐人,游戏是他音乐生命的一部份,他把自己的感动放进游戏里,所以会做得精致。而游戏人玩音乐,可能他对游戏的主观偏好超过了音乐,怎麽做我都可能觉得他受限於某个或某些特定游戏,那麽这样的东西不会精美,而且带有一定的抄袭。纯感受问题,看文的朋友可以不认同我~~而QA真的是乏味至极的东西,其实必须很严谨,但QA之外应该还要有反策划人员,一个提出系统设计反思的人,策划人员可能陷入自我膨胀的迷思里,很可能有逻辑错误,一个反企画(反策划)人员,就是要勇於挑战主策或者制作人,挑出他思维的漏洞,找出各种反制原构想的方法,今天不是由反策找出,明天就是被玩家刷机、整个游戏崩盘,要选哪一个呢?
游戏公司策划部门职位划分
  注:以下理想化模型暂时仅针对中小型作坊式研发团队建立。且工作量和薪资也不一定成比,干轻拿高、干重拿低也是可以的。  职位划分:  1、出品人(Producer)  Producer一般不一定是一个策划,他/她是整个团队的领头人,当然最好情况是一个懂得游戏设计的主程,甚至他可以是总监。如此一来整个团队会获得足够的信心、技术、产品制造的可能性与形成自身设计理念的多重保障。&他会告诉你什么不可以有。&  重要指数 ★★★★★★★★★★  工作量&&& 适中  薪资设置 极高  人员设置 唯一  2、监制(Supervisor)  Supervisor与Producer的不同之处就是,他/她不一定是一个程序,当然最好情况是懂得一定的程序逻辑、善于权衡可行性和把握游戏玩点的人。因为以往的经验和资历,使他在现在这个团队里扮演一个还算轻松的角色。&他会在有空的时候告诉你什么可以有。&  重要指数 ★★★★★★★☆☆☆  工作量&&& 适中/偏轻/轻  薪资设置 极高/高/偏高  人员设置 唯一  3、主策划(Main Designer)  Main Designer是众多策划中最能把握全局的人,他/她最好有一定的程序基础以及一定的美术能力,了解市面游戏产品的优缺点,最重要的是卓越的设计能力与沟通本领使他成为联系团队和项目中各个组成部分的纽带。&他会告诉你这是一个什么样的游戏。&  重要指数 ★★★★★★★★☆☆  工作量&&& 重/偏重/适中  薪资设置 高/偏高/适中  人员设置 单项目唯一  4、项目管理(Project Manager)  Project Manager原本就是一个经理。他可以由项目中的某一位主程来担任,也可以出身美术,也可以是某一位策划,甚至可以是老板自己。他来自哪里似乎不太重要,但重要的一点是:他会将现在的项目进度与规划整理得井井有条。&他会告诉你接下来应该怎样做。&  重要指数 ★★★★★★★★★★  工作量&&& 重/偏重/适中/偏轻  薪资设置 极高/高/偏高/适中  人员设置 单项目唯一  5、背景架构师(World Creator)  World Creator应该是一个奇幻师,一个玄幻文学作者。在很多人看来,World Creator在国内是可以不必存在的,实际上多数公司也没有一个单独的这样的职位,另外一些公司则把这个原本很重要的职能全部丢给了所谓&文案&,情况好一点则弄出一个&剧情策划&。而最有意思的是,&剧情策划&有时候成了任务设计师其中的一个。&他会告诉你这是个什么样的世界。&  重要指数 ★★★★★★★★☆☆  工作量&&& 极重/重/偏重/适中/偏轻  薪资设置 高/偏高/适中/偏低/低  人员设置 单项目唯一  6、数值控制师(Mathematical Contorlor)  Mathematical Contorlor对数值有明锐的把握能力。一般一个项目只需要1-2人即可。他的责任就是将所有的系统设计全部数字化。他做的都是细致而理性的工作,设计并填写人物和怪物等属性、等级、经验&&一切与数字有关的内容。除了善于使用MATLAB等数学工具分析数据,也会使用EXCEL等工具填写配置表。&他会告诉你这个数值是多少比较合适。&  重要指数 ★★★★★★★★★★  工作量&&& 极重/重/偏重/适中  薪资设置 高/偏高/适中/偏低  人员设置 单项目1-2  7、系统规划师(System Planner)  System Planner将游戏项目按一个个系统划分开来,进行针对性的设计。他善于使用VISIO或其它工具画出供美术参考的界面示意图,并且与负责各个系统的程序员保持良好的沟通。因此也是一个偏理性的职位。他设计的这些系统是游戏的组成部分,所以比较重要或者说有价值。&他会告诉你这个系统是干嘛用的。&  重要指数 ★★★★★★★★★☆  工作量&&& 重/偏重/适中  薪资设置 高/偏高/适中  人员设置 单项目1-3  8、场景设计师(Scene Designer)  Scene Designer原本意思是从事场景设计的美术人员。而此处用以替代单机时代的Level Designer,即关卡设计师。因为Level的问题已经交由从事系统或数值设计的人员,所以他只需要做好剩下的场景地图布局相关的事情就可以了。关卡设计师是策划中最接近美术的人。场景设计的人力需求较大,故而通常成立一个专门的组。在这个组里,除了拥有Teamer Leader外,普通的正职设计者都可以叫做Scene Designer,如果仅仅是从事刷地图工作,不妨称呼其为Putter。&他会告诉你这个地图为什么会这样。&  重要指数 ★★★★★★★★★★  工作量&&& 极重/重/偏重/适中/偏轻  薪资设置 高/偏高/适中/偏低/低  人员设置 单项目1-8  9、任务设计师(Quests Editor)  Quests Editor的工作在当游戏项目需要大量任务时会变得繁重,故而人力的需求要看项目本身。准确的来说,Quests Editor也应该拥有一定的文学气质,至少编辑出的文字话要通顺。情况好一点的话,最好能自己使用宏或EXCEL表格生成配置用的脚本,而不是单单只会用任务编辑器往数据库里填充任务。他的许多工作应当在背景架构师的指导下进行,以保证风格的尽量一致。&他会告诉你这个世界里有哪些已知的故事。&  重要指数 ★★★★★★☆☆☆☆  工作量&&& 极重/重/偏重/适中/偏轻/轻  薪资设置 高/偏高/适中/偏低/低/极低  人员设置 单项目1-8  以上仅供参考,切莫迷信。一切根据实际情况而变化,有些职位可以并掉。Re:游戏公司策划部门职位分割主策用Powerpoint,系统策划用Visio,任务策划用Word,数值策划用Excel,呵呵Re:游戏公司策划部门职位分割  实际上现在国内公司都在做一个比较普遍的转型,就是从创作型开发转变为市场型开发。  或者说先前网络游戏曾经是&&&&&&& 创作&&制作&&销售 的模式;  这两年逐渐向传统行业一样转向&&& 市场需求&&评估&&设计&&销售 的模式。  可以看作是一种以主创人员创作导向逐渐转变为根据市场需求制作导向。  另外看一个国内普遍的现象,实际上网络游戏开发分公也经历了几个阶段的变化:&&&&&& 1、01-03年  这个阶段国内网络游戏开发刚刚开始兴起,大部分公司都是单一项目开发状况,所以在开发的时候一般简单的划分为策划部、程序部、美术部的形式,这个时候&主策划&是非常NB的职位;&&&&&& 2、03-06年  这个阶段多项目并行的状况在国内兴起,策划、程序、美术的划分形式开始难以满足多个项目之间的资源调度与需求,这个时候项目制开始兴起,很多公司开始采用以项目划分部门的方式,这个阶段&制作人&、&项目经理&的说法变得很时髦。&&&&&& 3、06年以后  这一个阶段国内网络游戏开发变得更成熟,一些游戏开发企业开始逐渐的吸收传统行业的经验和思想,而依据项目划分的组织架构拉山头、抢资源、难以协调管理的弊病开始体现出来,研发-运营之间难以协调的弊病也明显的展现出来。所以很多公司又开始了新一轮的组织架构调整,&大产品(策划)&的概念开始在一些公司兴起,实质上也就是把公司的开发策划和运营产品人员紧密地结合在一起,共同参与一个产品的运作。盛大、巨人等公司都明确的建立了产品中心或者策划中心对各个项目进行协调和产品面的管理(网龙、完美一类的公司则实质上也存在类似的职权部门),但是这种模式大部分也存在于摸索阶段,产品最终单一化(因为产品设计面共用性太厉害)的弊病也存在。  至于以后者还会出现怎么样的趋势这个实际上大家都在尝试或者观望。  然后再说说策划:最早期的游戏开发策划并体现不出特别重要的地方,这个时候很多程序美术顺便也身担的策划的职责;稍后的阶段策划得到进一步的明确,这个时候一般是划分为主策划、游戏策划(执行策划),这个时代游戏工具应用和可配置化还是很时髦的东西;在稍后很时流行了一阵子系统、数值、关卡、文案的分工方式,游戏策划的分工实际上各个公司区别非常大,我个人比较倾向的方式是将策划逐步划分为设计团队和执行团队,设计团队负责游戏功能的设计,而执行团队负责对这些设定进行跟进。设计团队中需要系统、数值、关卡方面的负责人。而执行团队则有地图制作、脚本制作以及对执行过程进行跟踪的职责。实质上讲一个策划团队主要的职责实质上分为四个方向:管理、评估、设计、执行。  管理:版本需求、进度计划制定,一般职位:策划总监\经理、主策划\策划组长  评估:对产品进行分析(内部\外部),智囊团角色,一般职位:产品\评测专员  设计:根据版本需求负责产品的规划设计,一般职位:系统策划、数值策划、关卡策划  执行:制作过程的跟进和维护执行工作,一般职位:执行策划、关卡策划(执行类)  一般的中小型公司往往没有评估团队,管理和执行团队有很大重叠,设计和执行策划也有一定重叠,这是因为工作量和成本原因而造成的。  国内策划的现状是公司越小处境越差,道理很实际,小公司资源重心不可避免的倾向于程序,不是说小公司不重视策划,而是还没有到重视策划的阶段,但是一些具备雄厚的资金、稳定的技术支持的公司往往就会对这个职位非常重视,但是这样的公司也会对这样的人选有严格的甄选标准和很高的进入门槛。国内一些上市公司给与策划的薪资和待遇水平以及重视程度往往是和一些中小型公司有着天壤之别。Re:游戏公司策划部门职位分割&&&&&& 是的,目前国内网游公司分工方式有所不同,导致职位名称极其混乱。&&&&&& 比如做同样的事&&世界设计,有的公司设置&剧情策划&,没有这个职位的通常丢给&文案&,如果 这个文案撑不起台面,通常会由&关卡设计师&来做。&&&&&& 而所谓&关卡设计师&又是一个最混乱的职位:做地图场景就叫做关卡?(这么说美术就是关卡?),事实上从副本玩法到人物成长无不涉及到&关卡&,而通常关卡策划由于有独立玩法经验又会分担做线上活动任务&&(或许分工细的公司会把活动分给什么所谓的&市场策划&)。&&&&&& 其实叫什么职位给什么头衔,都是虚的。做什么事才是真的。Re:游戏公司策划部门职位分割&&&&&& 楼主一开始都说这是个"理想"了,所以就表示不是实际状况咩。&&&&&& 游戏开发的全部工作就是那些,怎麽划分和规模与预算有关系,楼主说是中小型作坊的职位分配,但拉拉杂杂的随便就把策划画出了九种,有的还是1~8人,整起来一个策划部至少十几二十人,怎说也不是个小作坊吧?&&&&&& 真实的状况,这些职位几乎都有很多的重复性,主要还是得看各个策划的能力和属性来分配工作的。而且啊,你这些职位的翻译,有些........建议楼主可以去海外的招聘网站看看,外国人是怎麽划分职位的。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:125698次
积分:2327
积分:2327
排名:第12093名
原创:107篇
评论:11条
(1)(22)(2)(10)(70)(2)【转】如何学好3D游戏引擎编程(一) | 游戏开发小组 | 果壳网 科技有意思
2763人加入此小组
... &extra=page%3D1 《如何学好游戏3D引擎编程》此篇文章献给那些为了游戏编程不怕困难的热血青年,它的神秘要我永远不间断的去挑战自我,超越自我,这样才能攀登到游戏技术的最高峰
——阿哲VS自己 QQ多希望大家一起交流与沟通这篇文章是我一年半前,找工作时候写的,那时是发到学校的BBS上。现在我工作了,想法和以前也有不同,但对游戏引擎编程理念还是基本差不多。在我没遇到U3以前,一直研究WILDMAGIC,可以说是GAMEBRYO的前身吧,他们基本框架都差不多,是完全面向对象,代码容易读,但它发展存在严重的弊端,这个也是它为什么不是牛B引擎的原因。但从渲染和动画方面来看,U3的 MATERIAL TREE 和 ANIM TREEE 是2个飞跃的,当我对我自己引擎渲染材质和光照一筹莫展的时候,MATERIAL TREE带来的希望。对比 zfx (wildmagic)gamebryo 和ogre 还有U3,各有优缺点,而且你可以看到一个引擎发展,从一个以多边形为渲染单元,变成以mesh做为渲染单元(现在很少有引擎场景管理分割多边形来做的 我始终喜欢zfx引擎,它是00-02之间的引擎,完全让你可以理解那时候显卡不是很强的时候,一个引擎应该具备的特征。对于架构来讲,(wildmagic)gamebryo 和ogre 做的很好,u3的特点就是架构乱,没有什么可读性的技术文档,研究起来十分吃力。做为一个商业引擎,对于渲染方面,我认为(wildmagic)gamebryo 输给了ogre,框架设计还有弊端,ogre确实是一个好引擎。而U3对于渲染过程,光照,阴影,就是一帧的渲染过程,处理的十分得当。动态生成shader是一个引擎的发展的必然趋势,而往往动态生成最多的,也就是材质和光照,它们不能分开,分开谈无意义,MATERIAL TREE 我始终认为是个太好的想法了,任何特效不需要程序员过多参与,美术可以搞定一切,什么水,反射,折射,这些效果,编写起来易如反掌,还可以实时光看效果。其他动态生成,也就是根据配置不同,来做处理,动态编译shader弊端太大,不能做到所有,而且不灵活,如果动态生成和动态编译合起来,简直牛B透顶了。现在我的引擎已经有了MATERIAL TREE这个功能,ANIM TREEE在制作中。这里面我重点谈的是图形方面,略带些动画方面,一个引擎最基本的是内核,包含内存管理,文件读写,资源管理等等吧,也十分重要,我的引擎这些写的都很简单,基本都是wildmagic里面的。我总结3D引擎编程的4个阶段第一阶段是了解3D原理和数学基础,大学里面学的线性代数,概率统计和高等数学完全足够,在3D中都有充分体现。最好自己能做一个软引擎,这样整个3D流水线自己完全可以掌控,然后在学DX之类的API很容易。第二阶段不要看引擎,还是应该以实现各种效果和基本算法为基础,包括各种图形特效,场景管理,剪裁算法,各种动画算法,等等,所有那些单一的算法,如果这些都不是了解很好,那么做引擎时引擎框架的接口也不会设计好!再添加这些算法和效果时 会很困难,效率也不会很高。第三阶段,就是看大量的引擎,对引擎有很深刻的概念,3D引擎只是引擎的一部分,引擎主要是框架,如果框架搭建好了,那么引擎的效率是很显著的,其他底层细节优化,也会有明显的优势体现。第四阶段,再好的引擎没有成功的游戏支撑都是白费,你不仅仅是做引擎,而是做的有开发价值的引擎,可以很好的为游戏服务的引擎。下面这段话写于一年半前~~前言本人不才,姑且以自己经验来谈如何学游戏编程,这个话题我酝酿了很久,它确实很难写,因为我也不是资深高手,才刚刚登堂入室,游戏编程大师功力一般都十几年左右,所以让我这样的小卒写的深入浅出更何谈容易,错误出现并不奇怪,高手见笑也在所难免,请大家指正,我会欣然笑纳。但这几年走过的路,让我知道这么学是正确的,大体过程经验告诉我,这样做是对的,高手的指引告诉我,这样做是对的。这篇文章主要讨论如何学习游戏图形编程和游戏引擎编程,告诉没有接触游戏过编程或者现在关于怎么学好游戏编程还迷惑的PEOPLE所要走的方向,完全抛开技术和代码实现进行谈论。至于游戏逻辑这几年重点没有发到这个上面上,很难总结。经验的限制,对于如何编写一个好的引擎(至于“好”这个词都是相对而言,能做的满意就是我所期望的),至今为止我还没有这个能力,但我相信经过我的努力,不久的将来,我会实现这个愿望,因为我的一个愿望就是实现一个好的引擎。我从下面几个方面来说明如果学习,记住只是如何学习,要想学好就要靠你自己。1。 你真的喜欢游戏编程吗?2。 要了解游戏编程3。 学会读书,自学与思考,交流与合作4。 游戏编程需要的基础知识5。 2D游戏编程6。 3D游戏编程7。 游戏引擎编程8。浅谈游戏物理和AI一。游戏编程,你真的爱她吗?当你听完我的介绍后,你就要决定游戏编程是否适合你。游戏编程可简单可复杂,简单的2D 《蛇吃豆》,复杂的现在流行的3D游戏。咱们不说简单的,因为你不想学习游戏编程就为了做一个简单的游戏。确实每个人对他所向往的东西都想彻底了解清楚,可是我给你的第一个警告,复杂的3D游戏,复杂到难以想象。1 你思想需要改变吗?打开话题,游戏是一个结合体,她是一个音乐,美术,技术,创意相结合的艺术品,你要用艺术的眼光去欣赏的,因为好的游戏是用艺术的眼光来设计,除了某国的网游不算外,很多经典的游戏流芳百世,成为真正游戏玩家佳话。中国的游戏为什么这么落后,你要联想下,当年中国为什么会被八国联军所侵略。腐朽的思想是根本原因,从而导致了腐朽的社会制度。游戏行业也是这样,看待游戏的中国人,始终带着眼镜,用腐朽思想看待游戏,所以现在出现腐朽的游戏行业,导致中国游戏发展缓慢,有人曾经说中国游戏不久就赶超日本和美国,我认为是扯淡,而且不是一般的扯淡,具体原因后面我会详细说明。从小的时候,国外的电子游戏产品就跑进了我的空间,废寝忘食的玩个没玩,因为耽误学习,从此电子游戏被老师和家长全部封杀,任何事物都有利有弊,鲁迅的《拿来主义》曾说过“去其糟粕,取其精华”。在中国,电子游戏被视为过街老鼠。确实要承认电子游戏有负面影响,但这些负面影响是谁产生的,本质上是我们自己,最后本来是精华的东西从我们身边擦肩而过,从小霸王以后的国外游戏机没有任何仿造,导致了游戏机技术从此断代,现在却又想起来赶超。而现在,国人知道努力了,国家看到有钱可赚开始支持了,腐朽的游戏思想却还在蔓延,网络游戏就是这样环境下成长的新生儿,国内网络游戏每年要大批量生产,但存活的基本没几个。不能否定,没有利益的事情没人干,但你还不能否定,有些事情即使没有利益,但还是有人干,哪怕知道自己并不能得到什么。国内的人,很少是第2种人,他们把游戏做为赚钱工具,垃圾游戏隔三差五的纷纷涌出。相比来讲,我只拿日本举例子,虽然小日本和咱们有愁,但我们不得不承认小日本在游戏这方面思想层次完完全全超越我们,他们有严格游戏教育背景,他们做一款游戏,要按照严格的流程,从设计到编程,以至最后的测试,都有着干一行敬一行的精神,否则《生化危机》这样游戏你是永远看不到的。所以你要改变自己的思想,游戏是一种艺术品,你要有一种艺术境界来去欣赏她。2 你有毅力爱她爱到底吗?也许我上面的话,你还能接受,残酷的在下面,以我的经验告诉我,如果你编程和游戏理论起步是零,你要对游戏编程达到略有小成的水平最少要4到5年,我比较蠢,花了6年。这6年来,几乎每天平均学习4-5个小时左右,当然假期都要算上。头3年半基本学习计算机基础知识,包括数学,数据结构,计算机体系结构,人工智能,汇编,编译原理,操作系统,网络,软件工程,离散数学,算法分析。我们大学4年基本就学这东西,这些都是基础,游戏编程都需要,还有一个就高等物理我没有学,导致我现在对于一些物理微积分方程很难理解,当然这里并不一定是问题,只要你肯努力,没有学不会的。完全把这些学好,花4年时间真的不容易。我曾经抱怨自己没保研而痛苦的经历考研,现在我却认为是值得的,我很难有时间在集中精力的复习这些专业课了,尤其是数学。在游戏编程中,上面的基本知识都可以用到,所以我说游戏编程很复杂一点不假。就拿游戏中最难的部分——一个好的游戏引擎来说(这里说的好引擎),世界上能把她做出来的人很少,中国更是寥寥无几。上面只是理论基础,要走进游戏编程最基本的。过硬的编程技能更是需要的,其实这些理论学习可以和编程相结合,在编程中学习理论,为了学习理论而增长编程经验。有了基础,你才能进一步学习游戏编程,2D游戏和3D游戏理论都要学,这又要花费很长时间,这个是我下面要详细说的。看完我写的,你可能心惊胆寒,所以你要爱她,深深的爱她,否则你承受痛苦的时候享受不到暗含的乐趣。3 爱她请从游戏开始。很多人可能不解,游戏编程为什么要从游戏开始,玩游戏时,有很多潜移默化的东西影响着我们编写游戏程序,很多灵感确实从游戏中得来。一般的游戏编程高手,都是从小由于游戏对他们巨大吸引,从而走上游戏道路,虽然不是绝对,但按统计学角度讲可以说是一个事实。一个不爱玩游戏的人,爱上游戏编程的几率是很小的。其实很多人小的时候都爱玩游戏,他们都是从游戏厅张大,只有一少部分,走向了游戏开发这个行业,他们之间有着明显不同,走向游戏开发的人,是真的被游戏背后那种神秘东西所吸引,并想要揭开它,而另一些人,则是完全迎合了游戏开发的需要——玩的高兴。我想说的是,一个游戏编程高手,必定是一个游戏玩家,他们都是从玩游戏而爱上游戏,从而走上游戏编程道路。这条路充满了荆棘,不是一般人能走到最后的。所以你一定要爱她!当然任何事情都不绝对的,你可能就是那不爱游戏但爱游戏编程(或者和游戏性无关的那部分编程)小概率的人。二。游戏编程,你真的了解她吗?游戏编程,这个概念包含了很多深层次的东西。1.广义上,我给的定义是,游戏引擎开发和游戏逻辑开发。游戏逻辑开发是集中力量只开发游戏中剧情部分,你只需要做的是什么时候显示什么,什么时候放出什么声音,什么时候通过网络传输什么数据,什么时候这个物体或者人物做什么动作。至于底层怎么显示,声音如何处理,网络如何传输,物体动作怎么实现的,你不用关心,关心这些的是游戏引擎。所以说游戏引擎负责技术方面,而游戏逻辑负责游戏文化内涵。成功的游戏是以好的游戏逻辑为基础的,而游戏引擎并不是成功游戏主要条件,但好的游戏配上好的游戏引擎,确实会给人一种震撼,相比同样的游戏逻辑,好的游戏引擎显示效果会给人一种全新视觉和听觉感受。至于游戏逻辑我不想过多解释,但并不是说游戏逻辑简单,游戏逻辑也可以复杂的要命,这取决与游戏复杂程度和游戏引擎与这个游戏的关联程度。为了解释这句话,我不得不从游戏引擎解释开始。早期的游戏是没有游戏引擎这个概念,都是一个游戏一套代码,随着游戏越来越多,大家发现开发有些游戏中,有很多可重用的代码,逐渐把这些重用代码封状起来,这就是早期的引擎。对于引擎没有明确的概念,只有好坏和适应程度之分,所谓的好坏,就是引擎支持功能和显示特性等是否strong,而适应程度是指一个引擎是否适合开发这个游戏,开发这个游戏是否要自己再编写一些额外的代码。我举个例子如果我用开发混斗罗的引擎(假如它有引擎)来开发RPG,和开发RPG游戏的“RPG游戏开发大师”相比,我们还要做很多工作,才能完成玩法功能一样的游戏。所以说很难有明确的界限划分这一堆代码是否是游戏引擎,但游戏引擎的任务是不用质疑的,它的任务就是尽量不用负责底层处理,而专心到游戏逻辑上来。2.从狭义上分,我只分解游戏引擎部分,基本包括(1)游戏图形引擎(2)声音引擎(3)网络引擎(4)脚本引擎(5)GUI(6)人工智能引擎(7)物理引擎。(6)(7)两个不是必须的,而前5个是一个好的游戏引擎要基本具备的,其实每个游戏引擎中都具备物理引擎,只不过很多游戏对于物理要求不是很高,所以就集成到了图形引擎中或者游戏逻辑中。图形引擎是引擎中最难的,它基本要处理游戏引擎中70-80%的工作量,它的主要任务是负责图形高效显示,包括速度和精度。后面我会集中并详细解释。至于声音和网络引擎大家通过字面就可以知道它干什么。本人对声音处理和网络传输知道甚少,说出来只能误人子弟。至于脚本我还略有研究,我想解释下什么是脚本,游戏中为什么用脚本。脚本有时很难给出一个定义,但大家都知道那些是脚本语言,我给出的解释是用软件CPU(虚拟CPU)来运行的编程语言就是脚本语言,软件CPU和所说硬件CPU是对立的,也就是说脚本运行与否先是关联到这个虚拟CPU,在虚拟CPU上运行,然后再又映射到真正CPU,来真正运行。这个过程很抽象,我觉2个例子,第一个就是JAVA语言,它有一个虚拟机,这个虚拟机就是软件CPU。再举一个例子,我现在要编写这样一个指令、PRINT S 这个指令表示打印SS代表一个万能类型。为了实现这个指令,你首先要有一个函数来负责处理打印比如是这样的函数void print(S){ cout&&S;}这里只是伪代码,只是表示这个意思。你首先要找出PRINT这个单词,读入到一个buffer1,然后把参数读入buffer2if(buffer1 == PRINT) print(buffer2);这里段代码其实就是一个软件CPU,它负责虚拟运行PRINT S 这个指令。那么游戏中为什么要用脚本呢!最简单解释就是灵活性好。拿一个RPG游戏例子来说,游戏中有大量物品,每个物品有大量的属性,如果我把这些属性值直接写到游戏中,每一个小小的改变就要编译整个游戏,花费很多时间,灵活性很差。如果我把这些写到一个文件中,用脚本语言来编辑,只需要编译脚本文件就可以了,当然如果你脚本是解释型的语言,不用编译直接可以运行。当然脚本还有很多好处,主要目的还是方便性和灵活性。其实GUI(图形用户接口)是一个重要部分。3D游戏中,出现的是大量的3D模型,这些模型是先用文件的形式存放好的,而文件里面包括的是3D数据和这些数据的组织方式。至于数据怎么组织是你引擎要规定好的,这样也方便读取,最后把3D数据加载到内存。现在问题是3D数据上,我们怎么能有效的得到这些3D模型的数据,手工写进文本里?我靠,那是奴隶社会,SB的做法。我想你不会这么做。人类很聪明,这就是为什么人把其他动物关进笼子里,而不是其他动物把人关进笼子里的原因。既然我们很聪明,就要想一个办法快速的定义3D数据,然后保存成文件。这样一个3D编辑器就产生了。3D编辑器就是类似于3DMAX那种,但引擎中的编辑器是有特殊目的的,使用者要按照引擎指定要求编辑3D数据,这样引擎高效的显示和处理数据比较容易,至于3D数据是怎么组织的,是一个设计上的问题,由你引擎来决定,设计好坏,决定你引擎加载数据是否容易,关系到最后渲染。所以一般好的游戏引擎都有自己GUI,但你也可以用3DMAX这样的软件,然后读3DMAX文件变成自己可以利用的数据形式。说到这里,不知道上面的概念大家是否理解,我想如果你没接触过引擎,可能真的不理解。其实我很难用简短的语言把这么复杂的问题说清楚,如果有一天你把3D学的融会贯通,你发现我说的是对的。我不知道大家是否发现一个共性的问题,有时你读一本书,无论你怎么认真把它看完一遍,你都很难掌握里面的知识,当你再认真看第二遍的时候,你突然觉得这本书没有第一次看那么晦涩难懂。有些知识都是前后呼应的,它们之间相互联系,要想完整的理解它们缺一不可。游戏编程的知识也是这样。我前面介绍的如果你看懂了,那你perfect,如果你没有看懂,也不要灰心,这里介绍的只是一个大纲,让你对游戏编程有一个了解,最基础层面的了解。三。游戏编程,你准备好了吗?这个部分讲解如果你想开始游戏编程应该具备那些基础知识,这样你才能接下来游戏编程学习,当然下面的有些知识,我开始学习游戏编程时,也不是都具备,但这些知识都是很容易学的知识,如果你基础好,在游戏编程中随时学就可以,不耽误你学习游戏编程的进度。我在这段最后会指出那些是必须掌握的,因为这些知识如果你在游戏编程时学习再学,时间上真的不允许。1。书,永远是你的好朋友!书,是你了解她最直接途径,当然我说的书还包括所有游戏编程资料。书,有好有坏,想要深刻了解她,你必须挑选精妙的好书,而且还有循序渐进的,合理次序的去读它们。游戏编程书籍大量风起云涌的出现是在2000年以后,当然2000以前也有,只是很少一部分,从2000或者以前开始就研究3D游戏的中国大哥们,现在可以说是现在中国游戏行业的鼎梁支柱。现在出版有关游戏方面的书籍大约有200左右本,中国人自己原著的书几乎没有,大多数都是翻译国外的,就有几本翻译的质量很好(翻译大哥大姐确实很辛苦,我承认这点,但拜托你们翻译前要看懂再翻译,否则望文生义,不如让我们自己看英文原版)要么自己写的也是东挪西凑的,写出来估计是想骗钱,谁叫中国人这么老实,这么好欺负了。其中大部分书籍是3D游戏的,3D游戏确实要比2D游戏难一个数量级别,如果你足够聪明,其实这些书看个几十本,写出一个在中国可以立足的3D引擎足够了。但好象这样聪明的人真的很少,有黄金的这个地方大家都知道,可是前往这块宝地的道路太荆棘,很少有人走下来。书,大家从出生时就接触,学会读书,这四个字,很少有人能领会,你看一本书,要么否定,要么肯定,如果你还是很迷糊,要么是书写的不好,要么就是你知识水平层次有限,要么就是你根本没学会读书。我在这里只说一句话“要读好书,思而不学则罔,学而不思则怠,温故而知新”,我想高手很容易体会这句话。想要学好游戏编程,学会读书是你要掌握的,也是你获取知识最快的途径,开始时,建议还是读一些中文的游戏编程书,因为游戏编程中充斥大量术语和名词,没有任何游戏编程概念的人,直接看英文,即使你是老外,我估计你看一会就会爬在书上,眼皮一关,口水把它淹没了。看书后,代码一定要仔细读,而且对于初学者一定要亲自去实现,这样你才能加深理解,有时看书看不懂,一看代码就全明白了。“纸上得来终觉浅,觉知此事必躬行”,我始终坚信这句话,只有你经历了,你才能感受,就象你没有失去过,就不会知道珍惜是什么东西。我相信既然你都看到这里了,就应该知道我上面为什么给你打好的警钟。看完书,就要写代码,最好不要一味的效仿,要有你自己的独道之处,这样才说明你认真考虑了这个问题,你也真正了解了,这个问题是什么,应该怎么解决,怎么解决最有效果。E文书,以后就要是你老婆(同性恋除外),天天都要见面,除非你离婚了,也就是游戏编程这个爱情你不想要了,你提前离开了这个努力走到最后才能见到美好果实的幸福家庭。中文翻译一般都很慢,中文翻译出来,国外这个技术基本过时了,而且有能力翻译的人本来就少,有时间干这事的说他有病,也不足为奇,因为翻译一本太浪费时间了。所以要适应去看E文,现在没钱,就看电子的,很多国外新书,没有电子的,但电子的够我们初学的人玩很长时间,等有钱了,就直接去买国外正中的洋版,然后弄到家中,天天啃,工作时也啃,人家都会说你很有激情的。看电子的如果闲麻烦,就打印下来,打印下来还是花不了几个钢币的,和买一本中文差不多(大家不要哭穷,一本好书100元我认为很值得,里面技术如果你掌握了,你想想,大把大把的票子就进你口袋里,很多人买来不看,天天还抱怨书贵。)这几年来,我读过很多游戏编程方面的书,中文的基本都读过了,现在我一直在读E文书,有时到觉得看中文有些不适应,还有好多好书,我还没有读。读E文书时,如果没读懂,自己一定要去网上查查相关资料,然后集中精力把它弄懂,现在很少有看不懂的E文游戏编程书(知道我6级没过的,别用砖仍我),有些还是看不懂,确实自己水平有限,但不是因为英语问题,关于高深而复杂数学问题,即使翻译成中文,我也很难看明白。我在后面会把所有好的游戏编程书籍都列出来,告诉大家那些可以买到,那些只有电子的。不好的书,我就不列出来了,只会浪费大家以后的时间。
+ 加入我的果篮
妹妹我看完全文了,看完以后就觉得,我不要做游戏了。。。。
引用 的话:妹妹我看完全文了,看完以后就觉得,我不要做游戏了。。。。这个是指以后可能会遇到的,在当时游戏引擎不成熟的情况下。。现在只是单纯做小游戏还不会遇到这些问题。。
搞个小游戏玩。专业的事还是专业人士去做吧!
看完默默的点开RPGmaker
作者的表达能力真是强
(C)2016果壳网&&&&京ICP证100430号&&&&京网文[-239号&&&&新出发京零字东150005号}

我要回帖

更多关于 unity3d vr游戏开发 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信