一个小团队应该为他们的第一场比赛选择什么,当他们准时不足但有雄心壮志的时候?我是一名经验丰富的程序员,但在此之前还没有做任何游戏编程.我的设计师非常有才华和艺术,大约一年前他一直在使用3D,但他没有这样做,因为他可能需要一些时间再学习它,我不确定他是否能够做到尽管他的平面设计技巧非常出色,但也能很好地完成它.
我们主要关心的是尽快完成游戏,也可以轻松完成,因为这是我的第一个游戏编程项目.与此同时,我们不希望有任何可能妨碍我们以后进步的限制,或者以某种方式使游戏变得无趣.
例如,我了解到某些动画在2D中是不可能的,例如旋转等.我希望能够让玩家的角色能够变形为动物,并且必须有射击怪物的能力(如射击)一个箭头,看到它飞过并击中另一个人).这些东西在2D中是否可行?
在未来,如果我们想从3D转向2D,那么在没有完全重写游戏的情况下是否可能?
您不必使用3D来实现"3D外观".诸如旋转,运动或变换之类的事物可以被预先记录或预渲染为动画或图像序列并且无缝地集成到2D游戏中.在2D中唯一不可能的是在你的"游戏空间"内自由导航(比如走路或自由飞行,任意转动等)
然而,在决定2D或3D时,主要关注的应该是游戏玩法.有些游戏绝对需要3D(射击游戏,模拟游戏),而其他游戏则完美无需(冒险,谜题......).所以你实际上不必决定,而是选择更适合你的游戏理念.
就个人而言,如果可能的话,我会在第一次尝试游戏时避免使用3D,以消除随之而来的所有限制和麻烦.
使用3D时,您通常需要决定3D框架,这将严重影响您的软件设计,游戏外观和整体性能.例如,Java3D带来了一个你必须调整的复杂类结构.并且需要付出很多努力才能完成3D工作.旋转正方形等简单的事物演变成包含四元数的矩阵运算.每个效果都必须在复杂的3D世界中完成,并且以这种方式使其2D投影外观以您想要的方式呈现.更不用说3D应用程序经常遭受非常难以克服的陈规定型外观.
在2D中,您实际上避免了复杂性的一个维度.您可以按照预期的方式完成所有操作,您可以使用标准图形应用程序和打开文件格式来简化设计人员与开发人员之间的工作流程.许多伪3D效果,如视差运动,景深和预渲染的艺术作品,可以在2D世界中获得惊人的外观.
你应该去2D.您已说明采用此方法的几个原因:
你是一个小团队,3D需要更多的工作.
这是你的第一款游戏,所以你需要让它尽可能简单,否则项目可能会失败(你会面临很大的风险!)
3D艺术家需要重新学习工艺品!
你有一个(看似自我强加的)截止日期.
等等.
3D需要花费大量时间,并且最好投入到改善游戏的其余部分.想想3D时代之前存在的所有令人敬畏的游戏.
不要害怕接受限制:虽然3D可能会给你很多可能性,2D可能会带来更有创意的工作!