项目特质与设计开发流程的策略选择

最近,借着新项目的机会,我(英文原文作者)对过去在Oculus Launchpad项目中的经验进行了总结。在本文中,我来和各位聊一聊我通常会以怎样的方式开始新项目。

正常情况下,我手头会有两到三个项目同时进行。取决于规模与复杂度的差异,我在规划阶段所花费的时间也有所不同。从形成最初的想法,到最终完成demo,我通常会将整个流程划分为以下几个步骤。

规划

刚刚有说到,规划阶段的工作量取决于项目自身的性质。如果打算研究一种新引擎或是开发技术,我甚至会跳过这一阶段,直接上手代码并尽快实现一些东西
出来。不过通常情况下,我还是会预先对整个项目的流程框架进行规划。我手头的项目多数来自于类似“我们需要在月底的大会上演示一段五分钟左右的VR
demo,有没什么合适的想法?”这样的需求,所以我在创意及技术运用等方面所拥有的自由度还是很高的。通常,我会制作一些不包含任何射击元素的
FPS(第一人称射击)类小游戏,譬如让玩家在VR环境中寻找或躲避一些东西,以此积分或记录最长游戏时间等等。

而对于较复杂的项目,我则会在规划阶段将具体的实施步骤及相关细节尽可能详细的描述出来,例如游戏模式、互动元素等等,从而使具体的设计与开发流程更加顺畅。

我在规划阶段通常会采用的具体方法包括:

1.画草图,使自己对想要创建的3D环境产生较为直观的感知。

在小项目中,我会用普通的铅笔在纸上简单画些环境结构和游戏元素;而对于较大的项目,我会在草图中加入多种颜色,使细节更加丰富和直观。无论你想创
建机甲风格的科幻场景,还是美轮美奂的童话仙境,事先通过草图大致的描绘出来都能帮你在开发阶段更加轻松高效的选用素材,尤其是当你在使用GitHub一
类的云基解决方案的时候。

2.用一句话描述项目的本质

对于比较复杂的项目,要言简意赅的描述出你想做的事情其实并不容易。我时常会不由自主的将太多细节一股脑的端出,不过每一次也都在努力试着通过一句
话来言简意明的指出项目的核心所在,例如“用于Oculus Rift的小猫找物游戏”或是“用于Google Cardboard的机甲射击游戏”等等
– 总之是一些很基础性的描述,但可以帮你对项目方向进行清晰而明确的定义,便于接下来进行任务分解。

3.对于复杂的项目:创建一份游戏元素清单

我有时会迷失在各种有趣想法当中,甚至会慢慢背离自己最初的构想。在初期探索时,这还不算太坏,只是一旦发生在实际开发阶段,这种习惯就有可能带来
非常严重的问题了。起草一份清单,将组成游戏的各类元素,包括互动对象、行为规则、胜负条件等等按照不同的颗粒度划分为独立的模块,并清晰的列出,根据不
同阶段的具体情况而适时更新,让一切保持在可控、可追踪的范围之内。

设计与开发

在这两个阶段里,事情才真正变得有趣起来。对于小项目(三到五天的开发工作量),我会跳过正式的设计环节,直接开始编程工作,当然期间还是会通过草图来明确玩家与游戏元素之间的互动规则。取决于不同的平台,我通常会在两种方式之间进行选择:

1.Cardboard(移动VR)

在移动VR项目中,我一开始就会将平台提供的camera组件放置到场景当中(理论上讲,我或许可以在所有的项目中都采用类似的做法,只是目前对于
桌面VR平台,我仍然倾向于在搭建完整个环境之后再放入camera),然后开始创建最基本的环境(如果游戏机制足够简单,我会直接使用现成的素材包),
接下来是编写游戏脚本,包括互动规则和控制器组件等等;最后是添加必要的动效和光影效果,然后进行测试。

2.桌面VR

对于桌面VR系统,方式会略为不同。相比于移动VR,桌面系统提供的主角组件通常会复杂很多,所以多数时候我不会从第一人称视角相关的组件出发来开
始工作,而是首先打造出环境场景及游戏机制,就像前面提到的那样。我会从最小化的环境创建工作入手,使用最基本的构件来制作最为必要的环境组件,而不是使
用大而全的素材包。在此基础上完成脚本编写,然后再回过头来补充和优化环境元素,最后将平台提供的专用camera组件放置进来,完成人机互动机制,然后
打磨光影和视效,优化调整,进行测试。

3.对于复杂的项目:创建开发设计文档与概念设计稿

在复杂的大项目正式启动之前,我会花些时间拟一份开发设计文档,从较高的层面上将整个项目进行合理的分解,抽象出不同的组件和模块,使接下来的设计和开发工作更加有章可循,便于管理。而对于那些通常只会用到两至三个脚本的小项目来说,这一步骤就没那么必要了。

发布

目前的方式未必站得住脚 – 我会直接将项目发布到GitHub,或是在Azure上自己做host。接下来我会试着在这一阶段采用更加合理和细化的方式,届时再与各位进行分享。

祝各位VR行动者玩得开心!

彩蛋 from C7210

每次彩蛋时间总有一种最后一搏的感觉不知为什么。像是终于可以在周日傍晚的跑步及美味晚餐之前完成一件重要的事情那样。说起来,难道不是么。

怎样都要把这件事放在第一位。“人生大突破。与熟食only的宿命诀别。从零接触到满满一大海碗散寿司(也没那么多),仅一念之间。班哉。”
过去的的确确从来不碰日料中的生鲜,有那么一两次即便被众人围观着强行放入嘴中,最终也只有尴尬的嚼到一半吐了出来。恶心是怪恶心的,那个样子,想想看。

英文原文:

https://livierickson.com/blog/monday-musings-my-vr-dev-process/

本文来自Be For Web 北京网站建设

时间: 2024-10-31 02:34:30

项目特质与设计开发流程的策略选择的相关文章

《产品设计与开发(原书第5版)》—— 第2章 开发流程和组织 2.1 产品开发流程

第2章 开发流程和组织 Tyco公司是一家领先的传感器和控制系统(包括家用和工业安全系统)制造商,该公司的产品之一是无线安全报警系统控制面板(如图表2-1所示).Tyco公司的高级经理希望建立一种通用的产品开发流程结构,以适合公司不同部门的产品开发,并创建产品开发组织,使Tyco公司在激烈的市场竞争中保持优势.Tyco公司面临的问题包括:所有项目共同的关键产品开发活动有哪些?为了管理整个开发流程的各阶段,需要设定哪些里程碑和评审点?是否存在适用于不同部门的标准开发流程?不同职能领域的专家在开发流

网页前端设计:关注前端开发流程

流程,通俗来讲,就是许多人,在做一系列的事情时,怎样相互协调,安排好这一系列事情的先后顺序,有什么事先的约定,需要达到怎样的预期目标. 在UED里,前端同学需要处理的需求比较多,早些时候,前端这里的开发流程还是比较模糊的,UED以外的同学也不清楚这边的工作具体是怎样进行的,所以难免会有需求插队的情况发生,打乱了大家的计划,因此今年Q3的时候,在与SCM团队同学的共同努力下,形成了一个前端的ASSETS发布流程. 这个流程主要针对ASSETS发布的需求做了一些约定,制定了相关的几个时间点,包括审核

小型软件项目开发流程探讨

一.导言 国内很多项目都是小型项目,参与人员少(两到五个人),要快速交付(一两个月) . 要成功完成这种项目,除了使用成熟且被团队成员熟练使用的技术之外,有一个良好的开发流程,也是很必要的. 二.小型软件项目开发流程 下图是我对小型软件项目开发流程的一个设想: 需求分析的重要性想必大家都应该清楚,对于项目来说,满足用户的需求是第一位的. 因为时间紧,系统设计经常被忽略. 这会留下很大的隐患,国内很多项目的需求通常是很简略的,还需要在系统设计阶段把一些需求进一步的明确. 不然会出现因为前期一些需求

《产品设计与开发(原书第5版)》——2.3 采用基本的产品开发流程

2.3 采用基本的产品开发流程 图表2-2和图表2-3描述的是最基本的开发流程,特定的流程会随着项目具体情况和企业具体环境的不同而不同.基本的流程非常类似于市场拉动(market-pull)情况下使用的流程:企业从具有市场机会开始产品开发,然后寻找可以满足市场需求的技术(即市场"拉动"开发决策).除了图表2-2和图表2-3所示的市场拉动流程,还有其他几种常见的变化形式:技术推动型(technology-push)产品.平台型(platform)产品.流程密集型(process-inte

《游戏设计师修炼之道:数据驱动的游戏设计》一1.2设计师和开发流程

1.2设计师和开发流程 依赖于公司和制作的游戏,可能只有一位设计师负责创建和维护所有的数据.与设计复杂的游戏相比,设计简单的游戏相对较快,因为考虑.测试和平衡的游戏元素要少得多.更复杂的游戏通常涉及一个设计师团队,并且有一位高级设计师监督初级设计师和关卡设计师的工作量.高级设计师负责游戏的总体设计和玩法,而初级设计师则帮助处理开发期间的多项任务.关卡设计师知道如何使用像Autodesk的3ds Max或Maya这样的3D建模程序创建游戏世界的环境,以及使用脚本编程语言触发环境中的事件. 设计视频

《产品设计与开发(原书第5版)》——2.5 Tyco公司产品开发流程

2.5 Tyco公司产品开发流程 Tyco是一家以市场拉动型产品开发为主的企业.这意味着Tyco公司通常基于感知的市场需求驱动其开发项目,并利用新的或成熟的技术来满足需求.其竞争优势来源于高度有效的全球营销渠道.强大的品牌识别度.大型的工程设备以及将新技术整合进产品线中的能力.因此,技术推动流程是不适用的.Tyco公司的大部分产品都由塑模.机械加工.电子组装等相对传统的流程制造的组件装配而成.在最终的销售和安装流程中,通常会为特殊的顾客定制产品,因此Tyco公司的开发流程旨在创造新的产品,而不是

ios-iOS上线项目开发流程以及相关视频

问题描述 iOS上线项目开发流程以及相关视频 我是一个iOS开发初学者,想知道有哪些网站有完整的上线项目的视频,想系统的看一下,师兄师姐有相关了解的,希望指点一二,师妹在这先谢谢啦 解决方案 http://jingyan.baidu.com/article/cb5d6105ea9280005d2fe053.html?st=2&os=0&bd_page_type=1&net_type=2 解决方案二: http://www.macfans.org/forum.php?mod=view

解密Facebook产品的开发流程

王淮是Facebook第二位中国籍工程师,也是第一位中国籍研发经理,他一手开创了Facebook的支付安全和客服工具领域.2011年他离开Facebook,回国成为天使投资人,希望用自己在Facebook的经验帮助创业者.王淮下周将做客CSDN,欢迎读者朋友留言,我们将挑选部分问题,在专访中邀请王淮解答.  在详细说明Facebook产品开发流程的九大步骤之前,必须先讲清楚一点,这些是我用马后炮的方式来思考自己在Facebook做产 品.项目的实践中可能出现的步骤.所谓的"流程",在F

web标准下的web开发流程思考

web|web标准 web开发需要考虑三面人的人员:设计师,程序员,客户,项目经理. A.设计师负责平面效果设计 B.程序员负责系统开发 C.客户提出需求验收系统 D.项目经理负责统筹全局 这里就不谈需求分析细节,和与客户谈判的细节了,假定需求已经确定. web标准是结构和表现相分离的,所以设计师和程序员在项目经理需求确定之后,可以并行开发,打破了以往的,平面效果确定系统才能开发的低效率开发流程.什么样的系统都可以拥有MVC式系统的开发效率. 下面是一个流程图 需求确定,系统规划完成之后: 程序