Java 2D 游戏引擎开发(一)
2017-11-11 22:02
1966 查看
以前就想用java做桌面端游戏,基于awt和swing,这样可以在轻易的跨平台运行,同时还比Python,Javascript之类的高效。不过很可惜,一直没有找到一个合适的java写的2d游戏引擎。前几天偶然发现了一本书,科学出版社出版的《Java游戏编程》,译自David Brackeen的同名作品。这本书较为细致地从awt动画讲起,一直讲到用java写3d引擎。扫完一眼书后,十分激动之余,不由得想自己写一个基于书上的简易2d引擎的扩展版本。
因为这个引擎是遵循BSD的,所以我直接将它移到了我的项目里进行改造。原版引擎主要是用于制作瓦片游戏(TileGame),包含以下几个版块:
graphics -- 包括简易的动画,精灵和屏幕管理器
input -- 包括输入管理器和游戏中的动作事件
sound -- 这块就复杂多了,包括了Midi播放器,声音管理器和各种过滤器,实现了立体的声音效果
test -- 包括一个游戏循环的原型
tilegame -- 包括一个游戏管理器(继承自test里的游戏原型),资源管理器,瓦片地图,瓦片地图渲染器以及一些实例的精灵
util -- 包括一个特殊的输入流和一个自制的线程池
这个引擎很明显都不能制作稍微复杂一点的游戏(虽然有着十分完备的声音系统),同时也缺乏UI控件的支持。那么我准备改进以下方面
重构包架构,比如将test里的游戏原型规范后建立一个新板块,作为一个通用抽象父类使用
新建一个背景版块,将瓦片地图和其渲染器移到这个版块里,同时增加一个卷轴式的有深度的背景图和其渲染器
将游戏场景显示的所有对象都抽象出一个父类和对应接口,包括摄像机对象,简易的UI控件,以便实现更复杂的画面
目前就先准备实现这么多,毕竟手头还有三个项目在赶,留给完成这个引擎的时间也不多,计划尽量在元旦前将这几块构造好。
PS:
想有中文版教材/原版引擎/实例游戏的码友可以在回复里留下邮箱和需要的资源。
教材封面
因为这个引擎是遵循BSD的,所以我直接将它移到了我的项目里进行改造。原版引擎主要是用于制作瓦片游戏(TileGame),包含以下几个版块:
graphics -- 包括简易的动画,精灵和屏幕管理器
input -- 包括输入管理器和游戏中的动作事件
sound -- 这块就复杂多了,包括了Midi播放器,声音管理器和各种过滤器,实现了立体的声音效果
test -- 包括一个游戏循环的原型
tilegame -- 包括一个游戏管理器(继承自test里的游戏原型),资源管理器,瓦片地图,瓦片地图渲染器以及一些实例的精灵
util -- 包括一个特殊的输入流和一个自制的线程池
这个引擎很明显都不能制作稍微复杂一点的游戏(虽然有着十分完备的声音系统),同时也缺乏UI控件的支持。那么我准备改进以下方面
重构包架构,比如将test里的游戏原型规范后建立一个新板块,作为一个通用抽象父类使用
新建一个背景版块,将瓦片地图和其渲染器移到这个版块里,同时增加一个卷轴式的有深度的背景图和其渲染器
将游戏场景显示的所有对象都抽象出一个父类和对应接口,包括摄像机对象,简易的UI控件,以便实现更复杂的画面
目前就先准备实现这么多,毕竟手头还有三个项目在赶,留给完成这个引擎的时间也不多,计划尽量在元旦前将这几块构造好。
PS:
想有中文版教材/原版引擎/实例游戏的码友可以在回复里留下邮箱和需要的资源。
教材封面
相关文章推荐
- 2D游戏引擎开发
- android 2D游戏开发,引擎设计(四) 造型类Model的设计。简单进度条
- 纯Java开发的游戏引擎V0.5--DEMO2 -- 物理引擎
- 开源3D&2D游戏开发引擎之GoDot简单介绍(一)
- android 2D游戏开发,引擎设计(五) 扮演者追加扮演者BUG ConcurrentModificationException
- 【手游游戏引擎】学习游戏开发的两个方向 Cocos2d-x 和 Unity 3D/2D (一)
- android 2D游戏开发,引擎设计(一) 基本构思
- 十五开源的Android(2D或3D)Android开发游戏引擎
- UWP简单示例(三):快速开发2D游戏引擎
- CutJS – 用于 HTML5 游戏开发的 2D 渲染引擎
- 纯Java开发的游戏引擎V0.4--DEMO -- 物理引擎
- 【手游游戏引擎】学习游戏开发的两个方向 Cocos2d-x 和 Unity 3D/2D (二)
- 跨平台2D游戏引擎V-Play:3天开发一款原生游戏
- Cocos2d-Java跨平台游戏引擎和相关开发工具的安装配置
- 【J2me 2D 游戏开发系列】◣Himi游戏开发启蒙教程◢Java零基础学习J2me游戏开发全过程!
- Cocos2d-Java安装和配置跨平台游戏引擎以及相关的开发工具
- 2D游戏引擎Allegro 系列教程(一) 配置allegro开发环境
- android 2D游戏开发,引擎设计(六) 画面平移晃动与平移边界问题
- 【疯狂Java】开发工具、eclipse配置、游戏引擎搭建
- android 2D游戏开发,引擎设计(三) 实验脚本编写与纸娃娃系统