- jMonkeyEngine: 目前最完善的Java3D游戏开发引擎,也可以跨平台,不过非台式机效率有限…… 项目地址
- Korge: 一个基于Kotlin开发的2D/3D游戏引擎,基于Kotlin Native编译时可以支持多平台。项目地址
- Slick2D: 最早出现的Java2D游戏引擎之一,只支持桌面游戏开发。项目地址
- ScrewBox: 是一款极简主义的纯Java游戏引擎,如果你想在不离开 IDE 的情况下构建自己的 2D 游戏,它或许是一个不错的选择。项目地址
- libGDX: 支持2D/3D的Java跨平台框架。项目地址
- XMage: 一个Java开发的,可以联网的万智牌游戏引擎,拥有多种卡牌及规则设定模式,可以自行定制自己的万智牌游戏。项目地址
- LGame: 包括Java/C#/C++等多种语法版本,可能运行于全平台,并且支持2D/3D(含Live2D这类伪3D模型的导入)的游戏引擎。 项目地址
- GameComposer: Java/JavaFX游戏引擎,支持多种web平台转换。项目地址
- playn: 2D的Java游戏引擎,支持多平台。 项目地址
- FXGL: Java / JavaFX / Kotlin Game Library (Engine) 项目地址
- Rajawali: 只能运行于Android的Java 2D/3D游戏引擎,但是对Android特性有很好的封装,环境针对性很强,基本上Android支持的3D API(VR什么的),它都支持。项目地址
- Litleengine: 一个纯Java的2D游戏引擎项目,本身是一套Swing封装。项目地址
- Lionengine: 依旧是一个纯Java的2D游戏引擎项目,支持AWT、SWT(Eclipse提供的,基于JavaSE的渲染库),还有Android运行。项目地址
- LWJGL: 目前最常用的,对OpenGL/CL/AL等渲染API进行本地封装的Java开发包。官网
- JavaFX: Java官方目前最推荐的UI库,号称是Swing以及Applet的后继者,也可以用于游戏开发官方提供有Android环境的本地支持库,通过Robovm也可以支持IOS平台。官网
- Scene Builder: 开发JavaFX应用的可视化布局工具。下载地址
- IoGame: 基于jNetty的网络编程框架,用于网络游戏服务器、物联网、内部系统及各种需要长连接的场景。下载地址
- IKVM: 基于Mono衍生的Java版封装库以及字节码转换工具。下载地址
- Robovm: 基于LLVM开发,运行时转换字节码为本地机器码,并提供有完善的本地API支持,为IOS提供了完整的Java运行时环境,附带可视化IDE。 官网
- Multi-OS Engine: 由Intel推出的,免费的Java跨平台工具(特意注明了: It’s free! ),使用AOT静态代码转换方式的Java跨平台工具(目前支持Android和IOS),现阶段只有预览版,程序示例: Github上示例。另外,这玩意还有很强的跨平台补丁功能(而且不必改变原有Java文件,可以直接注明替换),比如LibGDXMissileCommand的示例中,演示了直接通过add_moe_support.patch打补丁方式,转换libgdx项目到它的IOS支持库。官网
- CodenameOne: 最初源自XMLVM的Java跨平台项目(XMLVM目前已经停止开发),原始版本的运行原理是转换Java代码为XML描述的中间语言,然后再转换为具体环境下的本地开发语言,并不具备具体平台的API支持功能。但是,CodenameOne为其增加了WP、Android以及IOS的本地环境API(不过提供的仅仅是CodenameOne自己的封装包,而不是完整的官方API,这点与Robovm差异很大),所以也就可以直接让程序运行于上述平台之上。项目地址
- avian: 基于openjdk二次开发,Java运行时环境的轻量级二次封装库,据作者说未来将会完整支持IOS和Android平台(目前也可以跑IOS,但需要越狱……)。项目地址
- GWT: 经典的Java to JavaScript代码转换,以及页面开发工具,附带有较为完善的JS仿写Java的本地支持库,可以满足大多数【平台无关】的Java代码直接转换到浏览器环境。项目地址
- TeaVM: 新一代的Java to JavaScript(更准确的说,是Bytecode to JavaScript)转换项目。相比GWT而言,TeaVM支持反射,支持对象的同步和异步,能在JS上模拟出真实的Thread功能,也不必配置gwt.xml描述java文件就可以编译,并且支持scala和kotlin脚本,更有比GWT更完整的Java类库实现,优化也比GWT做的更好(GWT是Java代码转译为JS,而TeaVM是直接把bytecode转译为JS,在浏览器运行时等于是面向过程的瀑布式运行,所以解释时损耗更少),通常teaVM转换的JS代码,在执行效率上,要比GWT转换的高10%左右。唯一的缺点是,还在开发阶段,不够成熟,所以bug比较多…… 项目地址
- Bytecoder: 一个类似于TeaVM的Java to JavaScript工具。项目地址
- j2obj: 仿造GWT原理的Java to Objective-C代码转换器,在IOS上拥有较为完整的JRE本地支持,可以满足大多数【平台无关】的Java代码直接转换到IOS环境。项目地址
- openjdk: 完全开源的JDK(JRE)支持库,运行API上与Oracle版并无区别,但是实现上全部开源,也没有商用限制,也就是用户可以自行删减内容,方便精简出游戏专用JRE(而官方版在使用协议上是不能自行精简的)。 完整编译版地址
- openjfx: JavaFX的开源社区版,由于JavaFX已经不是JDK的自带类库,所以openjfx已经可以看作是JavaFX的本体,两者关系近似于MonoGame和XNA,只不过openjfx现在没有monogame那么大使用量和那么多支持的平台罢了,仅仅是可以跑Windows、Linux、Mac、Android和IOS(而且android和ios支持也不太友好,还有个编译为js的纯收费项目不提也罢,官方示例在我手机上进浏览器就卡死|||),但也不排除以后openjfx突然火了,变得能支持更多平台。Github地址
- GraalVM: Oracle推出的一个多语言支持VM,本体以JDK为基础构建,但也套用了如LLVM之类第三方环境,除了如Java,Scala,Kotlin之类标准JVM语言运行外,还支持node.js环境模拟、以及C、C++之类编译型语言的虚拟机运行,某种程度上,可以把它看作一个Java环境的GCC。除此之外,它最大的特点是允许把运行在此虚拟机的程序利用Native-Image指令AOT静态编译为纯本地库(虽然目前只支持Linux环境,而且暂时没有支持Android的计划,IOS就更别提了,不过它的issues上有人询问过,未来可能支持,话说最近AOT化Java字节码为本地指令的项目很多,预订年底开源的华为方舟编译器也是类似的存在,不愁Java代码不能本地化),对了,推特服务器现在跑的Java环境,就是[定制版]GraalVM本地化后运行的。Github地址
- AdoptOpenjdk: 本质上就是OpenJDK的打包版编译后可直接运行环境,因为Oracle对JDK(JRE)事实上商用收费的关系,Adopt这种免费的发布版本就有了生存空间。总体上讲,如果想商用新版本的JDK(JRE)而不花钱又懒得自己打包OpenJDK的话,用Adopt就是个不错的选择。下载地址
- Liberica JDK: 另一个第三方打包发行的JDK,在Windows系统上表现比AdoptOpenjdk更好,使用理由还是由于Oracle是个巨坑项目地址
- JavaPackager: 一款Maven和Gradle的混合插件,它提供了一种简单的方法,可以将Java应用程序打包成原生Windows、MacOS或 GNU/Linux可执行文件,并为其生成安装程序。官网
- packr: 一个基于命令行的Java部署工具,可以把jar和jre混合到windows、mac以及linux平台的可执行文件中去。官网
- izpack: 一个基于Java制作的跨平台部署工具,优点是跨平台,缺点是——这货的运行本身就基于Java,也就是没有jre无法运行…… 官网
- Launch4j: 一款支持多平台的Java应用部署工具,可以把jre和jar打包到相应平台的可执行程序中去,附带一提,这和名字近似的install4j不同,是完全免费的。 官网
- ProGuard: ProGuard是一款压缩、优化和混淆Java字节码文件的工具。 官网
- Scala: 融合了面向对象和函数式编程思想的静态类型编程语言,也是twitter使用的服务器开发语言之一。官网
- Groovy: 类型可选(Optionally typed)的动态语言,支持静态类型和静态编译。目前是一个Apache孵化器项目。官网
- JRuby: Ruby的Java环境下运行库,包含有较为完整的Ruby语言支持。项目地址
- luajava: Lua脚本的Java本地支持库。 项目地址
- Clojure: 可看做现代版Lisp的动态类型语言。官网
- Ceylon: RedHat开发的面向对象静态类型编程语言。官网
- Kotlin: JetBrain针对JVM、安卓和浏览器提供的静态类型编程语言。官网
- Xtend: 一种静态编程语言,能够将其代码转换为简洁高效的Java代码,并基于JVM运行。官网
PS:使用下列免费资源时,建议注明引用的资源出处,免得引发不必要的版权官司(比如被人投诉说你抄袭资源之类,游戏介绍中注明了资源出处,直接声明使用的资源来源,省得麻烦)……
- itch-assets: 著名的独立游戏发布网站itch提供的游戏资源库,有免费素材也有付费素材,有些时候付费的也会转成免费。地址
- opengameart: 一个著名的,完全没有版权问题的(可商用的)游戏素材下载站。地址
- gamedevmarket: 一个游戏素材市场,资源有免费的也有收费的,具体资源用法看作者的具体描述。地址
- kenney: 一个免费的2D与3D图像,音频和UI资源网站,所有游戏资源均为CC0模式,可用于商业,无需署名或标记出处。地址
- craftPix: 一个游戏素材在线网站,提供有大量的2D图像资源,有资源免费,当然也有收费,不过免费资源基本都允许无条件商用。地址
- reddit-gameassets: 准确的说,这不是网站,而是reddit的免费资源分享区,具体能否商用看作者描述。地址
- aigei(爱给网): 一个中国的资源站,涵盖游戏源码音频图像等多种资源,部分免费,主要是收费资源。地址
- rr-sc(人人素材): 一个中国的资源素材论坛,各种资源都有,部分免费,依旧是收费资源为主。地址
- soundimage: 一个欧美的免费资源站,有1800多种完全免费的图像和音频资源可用(音频为主)。地址
- soundeffect-lab: 一个日本的音频下载站,拥有多种效果音频类型(含游戏与其它场合),大多数游戏有这网站撑着效果音就足够了,不过资源都是mp3发布,某些场合可能需要自己转码,另外该站已经写明商用免费。地址
- FreeSFX: 一个免费的音频站。地址
- Unsplash: 一个图片(照片)资源站,能够免费商用,人物,自然之类素材较多。地址
- Unity Asset Store: Unity3D的资源商店,几乎都是收钱的,少量免费,但是资源够多,而且版权可靠性有保障(毕竟有平台当中介)。地址
- 空想曲線: 一个展示免费日式游戏资源的blog,以AVG(galgame)资源为主,具体用法看作者描述。地址
- 猫手製アイコン屋: 日式素材下载站。 地址
- 消失点: 日式AVG(galgame)以及RMXP和RMVX素材站,素材以背景图和地图为主。地址
- k-after: 日式AVG(galgame)游戏的免费背景素材下载站。 地址
- tokudaya: 日式AVG(galgame)游戏的免费人设下载站。 地址
- nicovideo: 日本站点,这个站点各种图像和音频资源都有,内容很杂。 地址
- 俺得素材库: 日站,人物立绘。地址
- 星宝转生: 日本站点,全图片资源公开的AVG(galgame),注明来源即可随意使用。 地址
- 月风: 日站,包含游戏图片以及音频的综合资源站。地址
- 森の奥の隠れ里: 日本站点,以RMXP和RMVX素材为主,包括人脸图、行走图、以及图标等素材。地址
- stock.freem: 日站,包含游戏图片以及音频的综合资源站,资源有免费、个人开发、标准商用三种类型,免费的不太多。地址
- 空彩: 日站,全部都是背景图资源。 地址
- あひる小屋: 日站,提供RMXP和RMVX风格的图片资源,包括行走图以及立绘。地址
- 背景写真补完会:日站,全部是背景图。地址
- kenney: 一个欧美的无版权问题的游戏图片资源下载站。地址
- nantoka: 一个日本的游戏图片资源(仓库)站,资源很杂。地址
- BlueForest: 一个日本的游戏图片站,以脸图以及Q版立绘为主。地址
- gameart2d: 一个游戏图片资源下载站(主要是收费的,采取共享协议,多人一资源)地址
- members.jcom.home: 主要提供怪物类图片的日本资源站。 地址
- 音人: 一个日本的游戏音频资源下载站(PS:该站协议要求在非营利场合使用,也就用它的资源开发游戏,不能直接收费)。 地址
- 炼狱庭院: 一个日本的游戏音频资源下载站。 地址
- 魔王魂: 一个日本的游戏音频资源下载站。(此站也有大量收费资源,注意看清链接类型,并不是所有资源都能下载的) 地址
- CANDY MUSIC!: 日本的音乐资源下载站。地址
- indiegamemusic: 一个欧美的无版权问题的游音频下载站。地址
- openmusicarchive: 一个欧美的无版权问题的音频资源下载站。地址
- jordanwinslow: 一个欧美的免费音频资源下载站,话说音频资源是免费资源里最丰富的,因为最好构建……地址
- freesound: 欧美的无版权问题的音频资源下载站。地址
- hmix: 日本的音频资源站,非商用不受限制,商用的话则要求购买。地址
- whitecafe: 日站,大触的blog,经常发点免费图片资源出来。地址
- 欧美的在线RPG角色生成器。地址
- gimp: 经典的免费图像资源开发工具,基本可以替代PS使用地址
- live2d: 伪3D人物动态表情开发工具(基本上就是设计AVG游戏动态角色用的)地址
- mapeditor: 瓦片地图开发工具。地址
- bmfont: fnt字体生成工具。地址
- bfxr: 音频制作工具。地址
- audiotool: 音频制作工具。地址
- thumbnailator:纯Java实现的图像缩放处理库。地址
- Ark-pixel-font: 开源的像素字体库,支持中日韩等常见亚洲字符串的图片显示,允许免费商用。地址
- PyxelEdit: 一个2D的像素风画面编辑器。地址
- gimp: 经典的免费图像资源开发工具,基本可以替代PS使用地址
- live2d: 伪3D人物动态表情开发工具(基本上就是设计AVG游戏动态角色用的)地址
- mapeditor: 瓦片地图开发工具。地址
- bmfont: fnt字体生成工具。地址
- bfxr: 音频制作工具。地址
- audiotool: 音频制作工具。地址
- thumbnailator:纯Java实现的图像缩放处理库。地址
- Scala: 融合了面向对象和函数式编程思想的静态类型编程语言,也是twitter使用的服务器开发语言之一。官网
- Groovy: 类型可选(Optionally typed)的动态语言,支持静态类型和静态编译。目前是一个Apache孵化器项目。官网
- JRuby: Ruby的Java环境下运行库,包含有较为完整的Ruby语言支持。项目地址
- luajava: Lua脚本的Java本地支持库。 项目地址
- Clojure: 可看做现代版Lisp的动态类型语言。官网
- Ceylon: RedHat开发的面向对象静态类型编程语言。官网
- Kotlin: 最初是JetBrain针对JVM、安卓和浏览器提供的静态类型编程语言,新版本已经开始支持通过LLVM转化字节码为机器码本地运行(有专门的Kotlin Native库),理论上可以全平台运行。官网
- Xtend: 一种静态编程语言,能够将其代码转换为简洁高效的Java代码,并基于JVM运行。官网