精通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。你可以开发任何你游戏中需要的东西。
就选择而言,看你自己的喜欢已经对代码的控制程度。这里贴一下现在最流行的引擎以及框架供参考。
第四个问题:如果要开发我的游戏,实际的预算得有多少?
一直以来我做项目管理,就是管理三要素:时间、成本和质量。改变任何一个属性将会影响到其他两个,项目就是要控制三者的平衡。
举个栗子,比如你想找漂亮的美工,需要花8000,而你的预算只有500块,那你必定要牺牲质量和延长时间(比如用程序员的简笔画来替代-牺牲质量,而且你画画也会花更多时间-延长时间)
哪怕是简单的2d像素画,也是要精心处理之后才能使你的游戏出彩。即使是独立游戏,有别的噱头,当今的大多数观众任然有更多的期望。
预算的评估:
1.最贵的部分 art & music
2.引擎许可
3.你的持续热情
正如前一篇目录所列出的那样,我选择了libGDX框架和java作为开发语言,因为我的主业是某互联网金融公司的架构师,所以选择java是水到渠成的。
考虑到资源许可的问题,我选择了由金点工作室于2000年开源的共享软件《圣剑英雄传II番外篇》的素材,让前辈们的成果发挥一下余热。
在这个系列教程完成的时候,大家基本可以得到一个完整的rpg游戏(模版),通过扩展和新增内容,就可以开始征服属于自己的星辰大海。
精通libGDX游戏开发-RPG实战-开发游戏的基本前提的更多相关文章
- 精通libGDX游戏开发-RPG实战-欢迎来到RPG的世界
欢迎来到RPG的世界 本章我会快速的使用tiled这样的瓷砖地图工具,来带领大家创造所设想的世界. 创建并编辑瓷砖地图 瓷砖地图(tile-based map)是广泛应用于各种游戏类型的地图格式,li ...
- 【Cocos2d-X游戏实战开发】捕鱼达人之开发前准备工作(一)
本系列学习教程使用的是cocos2d-x-2.1.4(最新版为cocos2d-x-2.1.5) 博主发现前两个系列的学习教程被严重抄袭,在这里呼吁大家请尊重开发者的劳动成果, 转载的时候请务必注明出处 ...
- 【Android开发VR实战】三.开发一个寻宝类VR游戏TreasureHunt
转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53939303 本文出自[DylanAndroid的博客] [Android开发 ...
- DirectX12 3D 游戏开发与实战第八章内容(下)
DirectX12 3D 游戏开发与实战第八章内容(下) 8.9.材质的实现 下面是材质结构体的部分代码: // 简单的结构体来表示我们所演示的材料 struct Material { // 材质唯一 ...
- Libgdx游戏开发(2)——接水滴游戏实现
原文:Libgdx游戏开发(2)--接水滴游戏实现 - Stars-One的杂货小窝 本文使用Kotlin语言开发 通过本文的学习可以初步了解以下基础知识的使用: Basic file access ...
- 原生Js贪吃蛇游戏实战开发笔记
前言 本课程是通过JavaScript结合WebAPI DOM实现的一版网页游戏---贪吃蛇的开发全过程,采用面向以象的思想设计开发.通过这个小游戏的开发, 不仅可以掌握JS的语法的应用,还可以学会D ...
- html5游戏开发-零基础开发《圣诞老人送礼物》小游戏
开言: 以前lufy前辈写过叫“ HTML5游戏开发-零基础开发RPG游戏”的系列文章,在那里面我学习了他的引擎以及了解了游戏脚本.自从看了那几篇文章,我便对游戏开发有了基本的认识.今天我也以零基础为 ...
- 使用HTML5开发Kinect体感游戏
一.简介 我们要做的是怎样一款游戏? 在前不久成都TGC2016展会上,我们开发了一款<火影忍者手游>的体感游戏,主要模拟手游章节<九尾袭来 >,用户化身四代,与九尾进行对决, ...
- C#游戏开发中快速的游戏循环
C#游戏开发中快速的游戏循环的实现.参考<精通C#游戏编程>一书. using System; using System.Collections.Generic; using System ...
随机推荐
- eclipse安装java web插件
1 查看eclipse版本 找到eclipse的安装目录,找到readme文件,打开其中的html文件,我的是4.6版本的,代号是oxygen 2 安装 打开eclipse,点击help-Instal ...
- 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 ...
- C#、.NET Framework、CLR的关系
很多人没有将C#..NET Framework(.NET框架).CLR(Common Language Runtime,公共语言运行库)这三者之间的关系区分清楚,认为其版本号是一一对应的.其实不然,. ...
- 2017年 JavaScript 框架回顾 -- React生态系统
前一篇文章中,我们介绍了2017年 JavaScript 框架的整体情况.我们也了解到在众多的前端框架中,目前最为庞大又在快速增长的当属 React 了,本文就来重点介绍 React 的生态系统. 首 ...
- node中定时器, process.nextTick(), setImediate()的区别与联系
1.定时器 setTimeout()和setInterval()与浏览器中的API是一致的,定时器的问题在于,他并非精确的(在容忍范围内).尽管事件循环十分快,但是如果某一次循环占用的时间较多,那么下 ...
- 自己实现一个each迭代器
什么是迭代器? 其实就是对一个对象内部进行遍历的方法,比如jquery的each方法,或者原生js的foreach方法. 迭代器的特点 针对迭代器,这里有几个特点: ☑ 访问一个聚合对象的内容而无需暴 ...
- Oracle_view视图
Oracle_view视图 视图view --视图:view --查询班级信息并统计各班的人数 select * from stu; select * from clazz; select c ...
- ZooKeeper 分布式共享锁的实现
原创播客,如需转载请注明出处.原文地址:http://www.cnblogs.com/crawl/p/8352919.html ------------------------------------ ...
- Sublime Text 使用介绍、全套快捷键及插件推荐
开篇:如果说Notepad++是一款不错Code神器,那么Sublime Text应当称得上是神器滴哥.Sublime Text最大的优点就是跨平台,Mac和Windows均可完美使用:其次是强大的插 ...
- Thinkphp+Nginx(PHPstudy)下报的404错误,403错误解决
最近一个TP5的项目说放到Nginx下测试看看,下载个 PHPstudy,放到WWW下,配置好域名,直接给个报个404: 解决方法: 1.先在phpstudy下配置好域名目录指向项目下的public下 ...