工作累了,用java寫個遊戲吧!開源一款遊戲引擎
原創:小姐姐味道(微信公衆號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無壓力。
考慮到有不少同學也有自己搞一款遊戲的夢想,也可以修煉自己的編碼水平,於是就把它放出來了。
同時,欣賞了一下自己多年前寫的代碼,真的是不忍直視!
git地址爲 : https://github.com/xjjdog/c2d-engine,也可以點擊原文鏈接直接到達。
作者簡介: 小姐姐味道 (xjjdog),一個不允許程序員走彎路的公衆號。聚焦基礎架構和Linux。十年架構,日百億流量,與你探討高併發世界,給你不一樣的味道。我的個人微信xjjdog0,歡迎添加好友,進一步交流。
近期熱門文章
對2B和2C的一些思考
介紹Serverless,以及一些展望
後端技術索引,中肯火爆。全網轉載上百次。
精準點評100多框架,幫你選型