Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >工作累了,用java写个游戏吧!开源一款游戏引擎

工作累了,用java写个游戏吧!开源一款游戏引擎

作者头像
xjjdog
发布于 2020-06-04 09:41:31
发布于 2020-06-04 09:41:31
81200
代码可运行
举报
文章被收录于专栏:架构专题架构专题
运行总次数:0
代码可运行

吃喝玩乐是人类的基本需求,只有繁重的工作,生活完全没有乐趣,与上世纪的奴隶没什么区别。游戏作为一种生活的调剂品,占据了大部分人的生活。凡事过犹不及,all work || all play都会对个体造成不可磨灭的损伤。工作累了,不如使用熟悉的开发语言,自己做一款游戏。虽然粗糙,但那是自己的作品---一些想对这个世界说的话。

本次开源的游戏引擎叫做c2d-engine,基于Java界最流行的游戏框架Libgdx,偏底层。虽然没有一些专业的游戏引擎功能齐全,但使用它,可以做一些跨平台的复杂游戏。

比如下面这个游戏,可以实现一些非常酷的效果和逻辑。

口说无凭,你可以下载到电脑上试试。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://gitee.com/xjjdog/download/raw/master/digger-desktop.jar

下面这张图,是游戏引擎内置的Box2d物理引擎场景编辑器。可以模拟2纬世界的所有物理动作。

体验链接在这里:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://gitee.com/xjjdog/download/raw/master/c2d-box2d-tools.jar

下面是游戏引擎的一些信息。

git地址为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://github.com/xjjdog/c2d-engine

目前是2.0.0版本,使用maven即可引入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<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无压力。

考虑到有不少同学也有自己搞一款游戏的梦想,也可以修炼自己的编码水平,于是就把它放出来了。

同时,欣赏了一下自己多年前写的代码,真的是不忍直视!

git地址为 : https://github.com/xjjdog/c2d-engine,也可以点击原文链接直接到达。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小姐姐味道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
八款常见的Android游戏引擎
Angle是一款专为Android平台设计的,敏捷且适合快速开发的2D游戏引擎,基于OpenGL ES技术开发。该引擎全部用Java代码编写,并且可以根据自己的需要替换里面的实现,缺陷在于文档不足,而且下载的代码中仅仅包含有少量的示例教程。
全栈程序员站长
2022/10/02
3.9K0
Android 8款开源游戏引擎
Angle是一款专为Android平台设计的,敏捷且适合快速开发的2D游戏引擎,基于OpenGLES技术开发。该引擎全部用Java代码编写,并且可以根据自己的需要替换里面的实现,缺陷在于文档不足,而且下载的代码中仅仅包含有少量的示例教程。
阳光岛主
2019/02/19
4.3K0
python下的Box2d物理引擎的配置
/******************************* I come back! 由于已经大四了,正在找工作 导致了至今以来第二长的时间内没有更新博客。向大家表示道歉 *******************************/ 前言 Box2d物理引擎 Box2d是一款开源的2d物理引擎,存在很多的版本,C++,Java,html5和python等等 著名的愤怒的小鸟就是使用了这款物理引擎进行开发的 目前也有很多的2d游戏引擎内置了对Box2d物理引擎的支持,比如cocos2d,HTML5的
magicsoar
2018/02/06
2.7K0
python下的Box2d物理引擎的配置
用Rust编写一个简易的游戏引擎
近年来,Rust语言以其独特的安全性和性能优势在多个领域崭露头角。尤其是在系统编程和性能敏感的应用中,Rust表现出了卓越的能力。而游戏开发正是一个对性能与稳定性要求极高的领域。开发者们逐渐发现,Rust能够很好地满足游戏引擎对高效、低延迟和内存安全的需求。
数字扫地僧
2024/12/13
2690
Android游戏引擎_2d游戏引擎
简介:AndEngine 基于libGDX框架开发,使用OpenGL ES进行图形绘制。同时继承了BOX2D物理引擎,因此能实现一些较为复杂的物理效果。在Rokon停止更新以后,AndEngine 成为Android 最为流行的2D游戏引擎
全栈程序员站长
2022/11/04
2.6K0
小游戏引擎如何选?看完这篇就够了
前面写了几期有关于小游戏的文章,主要从小游戏开发、小游戏运营、小游戏变现等多个角度进行了较为粗略的介绍,很多同学表示对小游戏引擎部分很感兴趣,希望能够有一些更为深入的分析介绍。今天就对目前主流的小游戏引擎进行探讨。
Onegun
2023/01/03
4.6K0
小游戏引擎如何选?看完这篇就够了
如何开发一款游戏:游戏开发流程及所需工具
企鹅号小编
2018/01/08
3.5K0
如何开发一款游戏:游戏开发流程及所需工具
PhaserJS网页2D游戏引擎
PhaserJS 是一个开源的 2D 游戏引擎,使用 HTML5 和 JavaScript 构建。它功能强大且灵活,广泛应用于网页游戏和移动游戏开发。PhaserJS 提供了丰富的 API 来支持图形渲染、物理引擎、动画、声音处理等常见的游戏开发功能,使开发者能够轻松创建跨平台的 2D 游戏。
阿超
2024/09/09
4050
Godot3游戏引擎入门之七:地图添加碰撞体制作封闭的游戏世界
2018-10-22 by Liuqingwen | Tags: Godot | Hits
IT自学不成才
2019/01/08
1.6K0
如何用自制引擎写出第一个游戏?Carimbo 给你答案
你有没有想过用自己的游戏引擎写出一个游戏?如果有,那你绝对不是一个人在战斗。最近,我读了一篇关于 Carimbo 的文章——这是一个由开发者自己打造的游戏引擎,他通过这个引擎开发了他的第一个游戏。听起来挺酷的吧?接下来我们一起聊聊他是怎么做到的,或许这篇文章会给你一些启发。作者将 carimbo 的引擎开源在了 github 上,地址是:
老码小张
2024/10/09
1440
如何用自制引擎写出第一个游戏?Carimbo 给你答案
H5游戏开发:游戏引擎入门推荐
很多刚刚接触到游戏开发,准备大展拳脚的小鲜肉们,往往在技术选型这第一关就栽了跟头。毕竟网络上的游戏引擎良莠不齐,官网上相关资料也比较少,而选择一个适合的游戏引擎是一个项目最基础,也是很核心的一部分。 试想一下,在游戏开发进行到中后期的时候,才发现项目引入的游戏引擎与需求相悖,这时候不管是重新做一些修修补补的工作或者更换游戏引擎,这都是相当耗费人力物力的一件事。为了避免这种情况的出现,在前期选择适合项目需求的游戏引擎显得尤为重要。 接下来我们来聊一聊如何去选择适合项目的 JS 游戏引擎。
bering
2019/12/02
6.8K1
flash游戏引擎整理
目前已经有很多比较完善的flash游戏引擎,这个我把他们都分类整理出来。希望对大家开发游戏,学习其中的思路有所帮助。不管是flash还是silverlight他们的思想都是共通的。 这些仅是我个人人为对游戏开发非常有用的项目,其中一些仅仅是针对游戏,也有一些是很有用的组件,有的还提供多人游戏的支持。 2D engines Flixel 功能全面的2D点阵游戏开发引擎。github 也许你曾经就玩过用这个引擎开发的游戏Canabalt FlashPunk 另一个2D点阵游戏开
用户1172164
2018/01/16
2.6K0
flash游戏引擎整理
LayaAir新版本开源Live2D适配库、内置Spine适配库、大幅优化IDE体验、3D新增AO等功能
LayaAir 2.0自发布以来,我们一直在大版本推进3D引擎功能。最近,一些开发者也迫切希望对2D给予更多的关注与精力。作为非常重视开发者反馈的我们,在这个版本里,暂缓3D引擎大版本功能的推进,推出一个小版本,本次的2.12.1虽然是个小版本,但推出的功能并不少,除3D引擎的例行更新外,主要的亮点就是2D引擎与周边(Spine、Live2D、Box2D)的实用性功能支持以及IDE使用体验的大幅优化。
Layabox Charley
2021/08/05
1.7K0
Godot3游戏引擎入门之零零:简单的想法
2018-08-15 by Liuqingwen | Tags: Godot | Hits
IT自学不成才
2019/01/07
1.4K0
Godot3游戏引擎入门之六:制作TileMap瓦片地图
2018-10-19 by Liuqingwen | Tags: Godot | Hits
IT自学不成才
2019/01/08
3.1K0
每个开发者都应该了解的游戏引擎知识
游戏引擎主要用于快速开发游戏,将游戏中固定不变的处理抽取出来,形成完整的游戏主体,用户只需要对开放的接口进行对象设计和驱动即可。在当前的环境,还需要两个特别重要的属性,第一就是跨平台(基本标准),还有一个我觉得更重要是社区的系统,没有强大的网络社区做支撑,再牛B的游戏引擎都很难发挥所长。
open
2020/03/19
1.9K0
每个开发者都应该了解的游戏引擎知识
游戏制作浅谈:开启全新的创意旅程
随着科技的不断进步,游戏制作领域迎来了前所未有的发展机遇。游戏不再仅仅是娱乐的方式,更成为人们社交、学习、创新的重要载体。如果对游戏充满热情,对制作游戏充满好奇,那么现在正是踏入游戏制作领域的最佳时机。
呆呆敲代码的小Y
2023/12/09
2500
游戏制作浅谈:开启全新的创意旅程
游戏基础课程-游戏开发流程
1、前期预案 项目发起,提出项目初步开发意向 2、初步市场规划 指定计划,组织相关人员,并进行策划管理,财务预算,市场调研 3、项目前期创意 剧本创作,创意改编,脚本策划,关卡设计,原画设计等 4、二次市场策划 5、项目调整,完成前期准备 项目基本特性,对软件,程序语言,平台软硬件设备调试到位
孙寅
2020/06/02
1.8K0
小游戏开发概述 - 笔记
引擎的诞生就是因为一家公司做了一款游戏,做下一款游戏时复用了上一款游戏的代码,后来发现这些代码几乎每个游戏都会用到,抽离出来就成了一个引擎。
TagBug
2023/03/17
1K0
小游戏开发概述 - 笔记
《C++开发 AR 游戏:开启未来娱乐新潮流》
在当今科技飞速发展的时代,增强现实(AR)技术正以惊人的速度改变着我们的生活和娱乐方式。从智能手机上的 AR 滤镜到沉浸式的 AR 游戏,这项技术的应用越来越广泛。而在众多编程语言中,C++以其高效、强大的性能在 AR 游戏开发领域占据着重要地位。本文将深入探讨 C++开发 AR 游戏的热门趋势,带你领略这一创新领域的魅力。
程序员阿伟
2024/12/09
1590
相关推荐
八款常见的Android游戏引擎
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档