说起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. JavaScript练习2

    今天做了一些JS数组的练习题 一.往数组中插入一个数字 var attr = [1,2,3,4,5,6]; var c = 7; for(var i=0;i<attr.length;i++) { ...

  2. Java与算法之(10) - 希尔排序

    希尔排序是插入排序的一种,是直接插入排序的改进版本. 对于上节介绍的直接插入排序法,如果数据原来就已经按要求的顺序排列,则在排序过程中不需要进行数据移动操作,即可得到有序数列.但是,如果最初的数据是按 ...

  3. 【margin和padding的区别】

    margin和padding的区别 margin是指从自身边框到另一个容器边框之间的距离,就是容器外距离.(外边距) padding是指自身边框到自身内部另一个容器边框之间的距离,就是容器内距离.(内 ...

  4. CSS3中first-child、last-child、nth-child、nth-last-child

    1.单独指定第一个子元素.最后一个子元素的样式 <style type="text/css"> li:first-child{ background:yellow; } ...

  5. 让两个数x,y一直保持互质的模版

    int gcd(int x,int y) { )return x; else return gcd(y,x%y); }

  6. Codeforces Round #415 (Div. 2)(A,暴力,B,贪心,排序)

    A. Straight «A» time limit per test:1 second memory limit per test:256 megabytes input:standard inpu ...

  7. BZOJ-USACO被虐记

    bzoj上的usaco题目还是很好的(我被虐的很惨. 有必要总结整理一下. 1592: [Usaco2008 Feb]Making the Grade 路面修整 一开始没有想到离散化.然后离散化之后就 ...

  8. c++(八皇后)

    八皇后是一道很具典型性的题目.它的基本要求是这样的:在一个8*8的矩阵上面放置8个物体,一个矩阵点只允许放置一个物体,任意两个点不能在一行上,也不能在一列上,不能在一条左斜线上,当然也不能在一条右斜线 ...

  9. 使用vue-axios请求geoJson数据报错的问题

    最近的项目用到了echarts一个带有散点地图的图表,按照正常jquery写法应该使用ajax请求geojson的数据动态去切换地图,就像下面这样 $.get('Js/map/' + cityData ...

  10. ceph-deploy出错UnableToResolveError Unable to resolve host

    背景 ps:在本文中,假设我系统的hostname为node1. 使用ceph-deploy命令搭建Ceph集群,执行ceph new node1时,出现如下错误: [node1][INFO ] Ru ...