精通libGDX游戏开发-RPG实战-开发游戏的基本前提

说起RPG,大概国人是不会陌生的。

这不得不从中国单机游戏市场说起,由于早期软件市场被盗版杀死,顺带的,单机游戏软件作为软件市场的分支,也没赚什么钱,养不活公司纷纷倒闭,只到RPG游戏《仙剑奇侠传》的风靡。

从全球市场来看,rpg视频游戏依然是最受欢迎的游戏类型。据数字软件协会统计,美国有1.45亿玩家经常玩视频游戏。

顺手推荐一本rpg设计指南:

《Swords & Circuitry: A Designer's Guide to Computer Role-Playing Games》 (Premier Press Game Development)

普通自学者的苦恼在于经常一个人独自前行,当你去论坛或者网站寻求答案时,经常得到的只是别人的沾沾自喜的演示效果,对自己没什么卵用。

而业余时间的摸爬滚打常常并不足以让你将自己的游戏想法实现。更多的时候他们只是散落在硬盘的各个角落,等到某一天,被一股脑的格式化掉。

所以,在我们开始前,要问自己几个问题:

第一个问题,你是否对最后的成品感兴趣?

也就是说,你对最终产品(一个完整的商业发布的游戏)感兴趣还是你感兴趣的只是游戏的实现细节。

如果你是后者,那么你可以考虑用你最喜欢的语言实现游戏的核心系统(相当于开发了一个游戏引擎),最常见的方面比如图形、物理、人工智能(AI)和文件输入和输出(I/O)。我不会深入探讨这些细节。

有很多大牛的书,将指导您完成这一过程,如《Programming Game AI By Example》(Mat Buckland)(我个人强烈推荐) 和《Game Engine Architecture》(Jason Gregory)。

如果你是前者,那么这一节的其余部分将帮助你做出更好的决定。

第二个问题,根据项目范围和要求, 你的目标平台是谁?

这个问题不仅推动项目进度,而且对编程语言的选择也有巨大的影响,反过来又将决定你游戏的最终解决方案。

目标平台在之前很少,几乎是微软的天下,但现在很多。包括个人电脑和笔记本电脑,运行Mac OSX或Windows,移动设备iOS,Android,或者Windows Phone,甚至包括PS4或Xbox游戏机

即使使用跨平台的游戏框架和引擎,仍然需要考虑不同平台的差异。比如libGDX虽然跨平台,但是表现最好的依然是桌面环境和android手机。还有不同平台的测试计划(注意善用来自用户的反馈以及第一轮用户错误)。

一旦目标平台选择了,编程语言的选择应该就更加明确。希望语言是你喜欢的或者擅长的,如果没有,需要有更多的时间在培训编程语言上。

第三个问题,你真的想要开发一个可交付的商业游戏,并选定了目标平台。那么你应该使用游戏引擎还是游戏框架?

游戏引擎,通常是一个封闭的黑盒解决方案(尽管有时有选择访问源代码),你开发你的游戏逻辑(语言由引擎决定),引擎处理主要的游戏循环。

游戏框架,是库的集合以及暴露应用程序编程接口(api)代表更高层次的抽象模块核心系统组件,如图形和文件I/O。你可以开发任何你游戏中需要的东西。

就选择而言,看你自己的喜欢已经对代码的控制程度。这里贴一下现在最流行的引擎以及框架供参考。

精通libGDX游戏开发-RPG实战-开发游戏的基本前提

第四个问题:如果要开发我的游戏,实际的预算得有多少?

一直以来我做项目管理,就是管理三要素:时间、成本和质量。改变任何一个属性将会影响到其他两个,项目就是要控制三者的平衡。

举个栗子,比如你想找漂亮的美工,需要花8000,而你的预算只有500块,那你必定要牺牲质量和延长时间(比如用程序员的简笔画来替代-牺牲质量,而且你画画也会花更多时间-延长时间)

哪怕是简单的2d像素画,也是要精心处理之后才能使你的游戏出彩。即使是独立游戏,有别的噱头,当今的大多数观众任然有更多的期望。

预算的评估:

1.最贵的部分  art & music

2.引擎许可

3.你的持续热情

正如前一篇目录所列出的那样,我选择了libGDX框架和java作为开发语言,因为我的主业是某互联网金融公司的架构师,所以选择java是水到渠成的。

考虑到资源许可的问题,我选择了由金点工作室于2000年开源的共享软件《圣剑英雄传II番外篇》的素材,让前辈们的成果发挥一下余热。

在这个系列教程完成的时候,大家基本可以得到一个完整的rpg游戏(模版),通过扩展和新增内容,就可以开始征服属于自己的星辰大海。

上一篇:linux查看某个进程内存占用情况以及/proc/pid/status解释


下一篇:CSS+DIV布局中absolute和relative区别