原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。
吃喝玩乐是人类的基本需求,只有繁重的工作,生活完全没有乐趣,与上世纪的奴隶没什么区别。游戏作为一种生活的调剂品,占据了大部分人的生活。凡事过犹不及,all work || all play
都会对个体造成不可磨灭的损伤。工作累了,不如使用熟悉的开发语言,自己做一款游戏。虽然粗糙,但那是自己的作品---一些想对这个世界说的话。
本次开源的游戏引擎叫做c2d-engine
,基于Java界流行的游戏框架Libgdx
,偏底层。虽然没有一些专业的游戏引擎功能齐全,但使用它,可以做一些跨平台
的复杂游戏。
比如下面这个游戏,可以实现一些非常酷的效果和逻辑。
口说无凭,你可以下载到电脑上试试。
https://gitee.com/xjjdog/download/raw/master/digger-desktop.jar
复制代码
下面这张图,是游戏引擎内置的Box2d物理引擎场景编辑器。可以模拟2纬世界的所有物理动作。
体验链接在这里:
https://gitee.com/xjjdog/download/raw/master/c2d-box2d-tools.jar
复制代码
下面是游戏引擎的一些信息。
git地址为:
https://github.com/xjjdog/c2d-engine
复制代码
目前是2.0.0版本,使用maven即可引入:
<dependency>
<groupId>com.github.xjjdog</groupId>
<artifactId>c2d-core</artifactId>
<version>2.0.0</version>
</dependency>
复制代码
主要的功能模块有:
- 跨平台
- 资源管理:图片、音效、音乐
- 自定义资源加载,资源加密
- 事件管理,随时接受和发送事件
- 多游戏
场景
管理,游戏场景切换效果(内置16种) - 多层视差,无限循环图层支持
- 启动界面自定义(内置5种)
- 摄像机跟随,3D效果
- 多种背景效果:动图、Mesh、Surface
- Analog控制模块
- UI设计体系
- 简单粒子系统
- 物理引擎Box2d编辑器
- 多个效果示例(水波、闪电、渐变等)
- GLSL支持
可以说一下自己的一些感受。游戏客户端开发虽然没有什么高并发之类的挑战,但是对代码的组织能力要求也是有的,很容易就造成了代码的膨胀,复用在这里显得格外重要。
当然,游戏重要的是策划、图片和音效,程序员只管码字,它是一个团队合作的结果。
我一个常年搞服务端的人,也非常的迷恋游戏开发。这款游戏引擎是很多年前的作品,当时idea还不流行。正好近有朋友想要开发一款2D游戏,于是xjjdog借着这个机会,抽周末时间重构了一下代码,现在能够流畅的跑在maven环境里了,Idea无压力。
考虑到有不少同学也有自己搞一款游戏的梦想,也可以修炼自己的编码水平,于是就把它放出来了。
同时,欣赏了一下自己多年前写的代码,真的是不忍直视!
作者简介:小姐姐味道 (xjjdog),一个不允许程序员走弯路的公众号。聚焦基础架构和Linux。十年架构,日百亿流量,与你探讨高并发世界,给你不一样的味道。我的个人微信xjjdog0,欢迎添加好友,进一步交流。