工作累了,用java写个游戏吧!开源一款游戏引擎
吃喝玩乐是人类的基本需求,只有繁重的工作,生活完全没有乐趣,与上世纪的奴隶没什么区别。游戏作为一种生活的调剂品,占据了大部分人的生活。凡事过犹不及, all work || all play 都会对个体造成不可磨灭的损伤。工作累了,不如使用熟悉的开发语言,自己做一款游戏。虽然粗糙,但那是自己的作品—一些想对这个说的一些话。
本次开源的游戏引擎叫做 c2d-engine ,基于Java届最流行的游戏框架 Libgdx ,偏底层。虽然没有一些专业的游戏引擎功能齐全,但使用它,可以做一些 跨平台 的复杂游戏。
比如下面这个游戏,可以实现一些非常酷的效果和逻辑。
口说无凭,你可以下载到电脑上试试。
下面这张图,是游戏引擎内置的Box2d物理引擎场景编辑器。可以模拟2纬世界的所有物理动作。
体验链接在这里:
下面是游戏引擎的一些信息。
git地址为:
目前是2.0.0版本,使用maven即可引入:
主要的功能模块有:
- 跨平台
- 资源管理:图片、音效、音乐
- 自定义资源加载,资源加密
- 事件管理,随时接受和发送事件
- 多游戏 场景 管理,游戏场景切换效果(内置16种)
- 多层视差,无限循环图层支持
- 启动界面自定义(内置5种)
- 摄像机跟随,3D效果
- 多种背景效果:动图、Mesh、Surface
- Analog控制模块
- UI设计体系
- 简单粒子系统
- 物理引擎Box2d编辑器
- 多个效果示例(水波、闪电、渐变等)
- GLSL支持
可以说一下自己的一些感受。游戏客户端开发虽然没有什么高并发之类的挑战,但是对代码的组织能力要求也是有的,很容易就造成了代码的膨胀,复用在这里显得格外重要。
当然,游戏最重要的是策划、图片和音效,程序员只管码字,它是一个团队合作的结果。
我一个常年搞服务端的人,也非常的迷恋游戏开发。这款游戏引擎是很多年前的作品,当时idea还不流行。正好最近有朋友想要开发一款2D游戏,于是xjjdog借着这个机会,抽周末时间重构了一下代码,现在能够流畅的跑在maven环境里了,Idea无压力。
考虑到有不少同学也有自己搞一款游戏的梦想,也可以修炼自己的编码水平,于是就把它放出来了。
同时,欣赏了一下自己多年前写的代码,真的是不忍直视!
git地址为 : https://github.com/xjjdog/c2d-engine
原创:小姐姐味道
原文链接: http://mp.weixin.qq.com/s?__biz=MzA4MTc4NTUxNQ==∣=2650521314&idx=1&sn=97efee81fd6f50db74a8594e9a366ace
程序员用Java实现扫雷小游戏,引来广大网友狂点赞,直呼炸天
扫雷游戏想必大家都玩过,但有没有想过自己开发呢?Java开发过许多小游戏,其中扫雷给小白来练手非常适合不过了。
话不多说,首先展示一下游戏界面:
实现过程如下:
首先设计一个二维数组,用于存放雷和周围八个格子雷的个数,再定义两个一维数组分别存放雷的X和Y坐标,布雷,记录周围八个格子雷的个数。
我使用的是EditPlus(新建Java项目Boom,新建package:boom,新建Class:Block)
代码:
建立一个顶层容器JFrame,上面添加一个JPanel——JpMain,使用BorderLayout布局North为重新开始按钮,Center为雷区(新建一个对象,把雷区进行了封装),South为选择难度区域(任然使用一个JPanel,上面添加JRadioButton单选器),顶层容器代码:
(在Boom项目下新建Class,命名为SuperJpanel。)
代码
创建一个对象——雷区对象的初始化,整个雷区使用一个JPanel包含,这个JPanel使用GridLayout布局方式,雷区有多少个格子就添加多少个JPanel,使用卡片布局方式,每个JPanel中有两个卡片,第一个卡片为按钮,第二张卡片为JLabel——用于显示雷,周围雷的个数。
(新建Class命名为CenterJpanel)
PS:将遍历周围八个数组封装成方法,再递归调用,最后发现因为递归层次太多极其容易卡死,所以不得不另想办法,最后想到了使用队列,把每个0的点放入队列,直到判断到不为0的地方。
代码:
新建Class ——BoomMain 勾选产生主函数
主函数,初始化一个SuperJpanel对象
代码:
二十年前榨干机能的JAVA游戏,好在当年保存了不少私货
不知道大家有没有一种错觉,早年无论是动漫还是游戏都是非常经典的。感觉如今的游戏都没什么创意,仅仅是画面提升了,可玩性甚至还不如早年那些像素游戏。
即使是JAVA游戏流行的年代,都能让我们过足瘾。下载的每款游戏都能尽兴,甚至还能使用类似八门神器之类的修改器。经历过这个时期的玩家算是比较幸运的了。
早年我们拿着诺基亚手机上网都干什么呢?基本上就是论坛、社区、聊天和玩游戏,通话和信息感觉就是额外的功能。GPRS在当时不便宜,没有包月的玩家每下载一款游戏都要把流量卡得死死的,随时注意剩余的流量。
一旦流量不够就必须马上断网,要不然后果可不是一般人可以承受的,按K收费。
2006年之后,塞班的S60V3基本上就已经是当时主流的系统,当时还有“智能手机”的说法,可以满足当时玩家们的需求,玩游戏、看、看小说都毫无压力。当然了,塞班无法和后期的IOS和安卓系统相提并论,但在玩家们的心目中地位却是一样的。
不知道这个网站还在吗?
估计如今的玩家们看到塞班游戏,都会嗤之以鼻吧!画质、操作都是一坨,完全是不堪入目。但是要知道这些游戏却是一代人的回忆,甚至是最美好的青春。
游戏的操作只能通过九宫格,以及确认、返回和菜单,但这些游戏一款比一款有创意,玩起来一点压力都没有,而且很上头。丝毫不输当年的FC、GBA、MD游戏。这里顺便说一句,塞班系统是可以玩FC、GBA、GBC、MD游戏的哦!用汉化的模拟器轻松操作。
当年我用塞班将《魂斗罗》《超级玛丽》给通关了,就问你服不服?
很好奇,当年我们用来玩塞班游戏的那些机器,如今你是否仍然保留着呢?
S60V3的机器都以N73为例,消费能力一般的玩家使用的就是此类手机。而被称为“机皇”的N95,在当时玩家们的眼中和如今的WII、NS、PS5没什么区别,都代表着一个时代的巅峰。
另外,专门为塞班游戏而生的N-Gage游戏手机(QD),也是游戏爱好者眼中的高端产品。
塞班游戏在我们最想玩游戏的年龄出现,因此老玩家们都得感叹一句:塞班游戏比安卓游戏更上头。
塞班游戏的容量,最初S60V1只有几十K,S60V2时期就是几百K到1M,S60V3时期虽然仍然有很多几百K的游戏,但上限已经达到了5M-10M甚至更多。
《七夜》基本上已经是塞班的巅峰。
那时候我选择游戏下载,都是先看画面,然后看大小,低于1M的很多游戏都不考虑,这类游戏即使再好玩流程也不长(也正是如此,导致错失了不少好游戏啊!)
这里不得不吐槽一句,在塞班年代“启蒙游戏”就已经很流行了,一般都是通过图片的方式来提供福利。大部分都是以RPG游戏为主,剧情在当时来说非常深入人心,玩家们甚至不愿意放弃任何一个细节。
那么,当年有哪些游戏真正将塞班机能给榨干了呢?
《斩妖伏魔录》
《极品飞车》
《热血,巅峰格斗》
《傲气雄鹰》
《伊苏》
《绝色骑士》
《鬼泣》
《神兵降魔录》
《细胞分裂》
《满江红》
《鬼吹灯》
《宠物王国》
《七神器》
《三国猛将传》
《彩虹城堡》
《超级矿工》
《刺客信条》
《蜘蛛侠》
《都市赛车》
《古惑狼卡丁车》
“预知后事如何,请充值5元解锁剧情”。这套路相信大家都熟吧!
这里介绍到的游戏还仅仅是冰山一角,还有太多的游戏记不住名字了。
当年一直很奇怪,为什么绝大部分游戏开头都要强调“关闭音乐”呢?不过的确大部分游戏关闭音乐之后会流畅很多,不关闭音乐总会有卡顿的情况。这应该和机器机能本身是有关的。毕竟那时候手机发展已经到达了一个瓶颈,能够操作游戏已经算是一种突破了,想要尽善尽美自然没有那么容易。
遗憾的是,如今我们几乎都无法玩到这些游戏了。就算当年的手机还能开机,你也找不到地方去下载这些游戏了。当然,有先见之明的玩家在塞班“退休”之前就已经将游戏给装满了。等待某一天重启这段光辉岁月。
多年后,我们在安卓和IOS上面玩惯各种游戏之后就会发现,还是当年的塞班游戏更有味道啊!如今画质是提升了,但始终找不到当年的激情。
现在玩玩新游戏,总感觉就是走一个流程,不愿意再去研究细节,通关之后索然无味。
有时候玩玩那些评分很高的游戏,也都感觉一般般,不知道怎么评上高分的。
或许就是游戏心态变了吧!
闲暇之余,我还是喜欢回味一下那些老游戏。
总能又让我回忆起了那段无忧无虑的青葱岁月。
注:文中部分图片来自网络,如侵删
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。