说起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。你可以开发任何你游戏中需要的东西。

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

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

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

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

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

预算的评估:

1.最贵的部分  art & music

2.引擎许可

3.你的持续热情

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

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

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

精通libGDX游戏开发-RPG实战-开发游戏的基本前提的更多相关文章

  1. 精通libGDX游戏开发-RPG实战-欢迎来到RPG的世界

    欢迎来到RPG的世界 本章我会快速的使用tiled这样的瓷砖地图工具,来带领大家创造所设想的世界. 创建并编辑瓷砖地图 瓷砖地图(tile-based map)是广泛应用于各种游戏类型的地图格式,li ...

  2. 【Cocos2d-X游戏实战开发】捕鱼达人之开发前准备工作(一)

    本系列学习教程使用的是cocos2d-x-2.1.4(最新版为cocos2d-x-2.1.5) 博主发现前两个系列的学习教程被严重抄袭,在这里呼吁大家请尊重开发者的劳动成果, 转载的时候请务必注明出处 ...

  3. 【Android开发VR实战】三.开发一个寻宝类VR游戏TreasureHunt

    转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53939303 本文出自[DylanAndroid的博客] [Android开发 ...

  4. DirectX12 3D 游戏开发与实战第八章内容(下)

    DirectX12 3D 游戏开发与实战第八章内容(下) 8.9.材质的实现 下面是材质结构体的部分代码: // 简单的结构体来表示我们所演示的材料 struct Material { // 材质唯一 ...

  5. Libgdx游戏开发(2)——接水滴游戏实现

    原文:Libgdx游戏开发(2)--接水滴游戏实现 - Stars-One的杂货小窝 本文使用Kotlin语言开发 通过本文的学习可以初步了解以下基础知识的使用: Basic file access ...

  6. 原生Js贪吃蛇游戏实战开发笔记

    前言 本课程是通过JavaScript结合WebAPI DOM实现的一版网页游戏---贪吃蛇的开发全过程,采用面向以象的思想设计开发.通过这个小游戏的开发, 不仅可以掌握JS的语法的应用,还可以学会D ...

  7. html5游戏开发-零基础开发《圣诞老人送礼物》小游戏

    开言: 以前lufy前辈写过叫“ HTML5游戏开发-零基础开发RPG游戏”的系列文章,在那里面我学习了他的引擎以及了解了游戏脚本.自从看了那几篇文章,我便对游戏开发有了基本的认识.今天我也以零基础为 ...

  8. 使用HTML5开发Kinect体感游戏

    一.简介 我们要做的是怎样一款游戏? 在前不久成都TGC2016展会上,我们开发了一款<火影忍者手游>的体感游戏,主要模拟手游章节<九尾袭来 >,用户化身四代,与九尾进行对决, ...

  9. C#游戏开发中快速的游戏循环

    C#游戏开发中快速的游戏循环的实现.参考<精通C#游戏编程>一书. using System; using System.Collections.Generic; using System ...

随机推荐

  1. eclipse安装java web插件

    1 查看eclipse版本 找到eclipse的安装目录,找到readme文件,打开其中的html文件,我的是4.6版本的,代号是oxygen 2 安装 打开eclipse,点击help-Instal ...

  2. Codeforces Round #449 (Div. 2)-897A.Scarborough Fair(字符替换水题) 897B.Chtholly's request(处理前一半) 897C.Nephren gives a riddle(递归)

    A. Scarborough Fair time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  3. C#、.NET Framework、CLR的关系

    很多人没有将C#..NET Framework(.NET框架).CLR(Common Language Runtime,公共语言运行库)这三者之间的关系区分清楚,认为其版本号是一一对应的.其实不然,. ...

  4. 2017年 JavaScript 框架回顾 -- React生态系统

    前一篇文章中,我们介绍了2017年 JavaScript 框架的整体情况.我们也了解到在众多的前端框架中,目前最为庞大又在快速增长的当属 React 了,本文就来重点介绍 React 的生态系统. 首 ...

  5. node中定时器, process.nextTick(), setImediate()的区别与联系

    1.定时器 setTimeout()和setInterval()与浏览器中的API是一致的,定时器的问题在于,他并非精确的(在容忍范围内).尽管事件循环十分快,但是如果某一次循环占用的时间较多,那么下 ...

  6. 自己实现一个each迭代器

    什么是迭代器? 其实就是对一个对象内部进行遍历的方法,比如jquery的each方法,或者原生js的foreach方法. 迭代器的特点 针对迭代器,这里有几个特点: ☑ 访问一个聚合对象的内容而无需暴 ...

  7. Oracle_view视图

    Oracle_view视图 视图view --视图:view --查询班级信息并统计各班的人数 select * from stu; select * from clazz;     select c ...

  8. ZooKeeper 分布式共享锁的实现

    原创播客,如需转载请注明出处.原文地址:http://www.cnblogs.com/crawl/p/8352919.html ------------------------------------ ...

  9. Sublime Text 使用介绍、全套快捷键及插件推荐

    开篇:如果说Notepad++是一款不错Code神器,那么Sublime Text应当称得上是神器滴哥.Sublime Text最大的优点就是跨平台,Mac和Windows均可完美使用:其次是强大的插 ...

  10. Thinkphp+Nginx(PHPstudy)下报的404错误,403错误解决

    最近一个TP5的项目说放到Nginx下测试看看,下载个 PHPstudy,放到WWW下,配置好域名,直接给个报个404: 解决方法: 1.先在phpstudy下配置好域名目录指向项目下的public下 ...