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