• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

fastjengine/FastJ: An open-source, Java-based 2D game engine.

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

fastjengine/FastJ

开源软件地址:

https://github.com/fastjengine/FastJ

开源编程语言:

Java 100.0%

开源软件介绍:

FastJ Logo

Windows Build Status Ubuntu Build Status Mac OS Build Status

Javadoc Maven Central jitpack.io SonarCloud Code Coverage Discord Server

What is FastJ?

FastJ is an open-source, Java-based 2D game engine and framework. Originally named the FastJ Engine, it aims to provide an easy-to-use, 2D game-making library.

Disclaimer

This project is still under heavy development. There is a very good chance bugs are still prevalent and untracked, as the engine is not fully covered by unit tests. Documentation is readily available, but may change over time. Feel free to help us out by contributing to the project!

Projected Feature List

Feature Description Support
2D Rendering Rendering of 2D Polygons, Models, Text, Lighting
Scene System Scene-based Rendering, Scene Switching
Scriptable Behaviors Control GameObject state
Desktop Support Full Compatibility on Windows, Linux, and macOS
Audio Engine Loading, Playing, and Controlling .wav, .au, .aiff files
Image Support Image rendering, Sprite Animation
Animation Support Interpolation, Tweening Framework
UI System Flexible UI System to replace Swing UI
Particle Engine Configurable and Customizable Particle Management
Physics Engine Custom 2D Physics Engine.
Asset Manager Load, Unload, and Hot Reload Game Assets
FastJ Model Creator Create & Export 2D Models
FastJ Editor View, Run, Build, and Export FastJ programs from an editor
Web Support Run FastJ Programs in a Web Browser

is complete and satisfactory.

is implemented and usable, but is missing certain features.

is in progress.

is not yet implemented.

Features with examples available have their prime example linked.

Get Started

There are many different ways to learn FastJ -- check them out!

Template Projects

Use a template project! It's the fastest way to jump into using FastJ.

Choose a programming language from the ones below. We suggest Java, as it has the most support:

However, Kotlin and Groovy are reasonable options as well:

Tutorials

FastJ provides article tutorials on its website to accommodate as many types of developers as possible. From beginners to experts, the website tutorials are written to give enough information to satisfy anyone willing to learn!

Code Examples

Explore FastJ's code examples to see the different ways FastJ can be used, and all of its features. These come with in-example explanations and easy plug-and-playability to give you the best chance at understanding how FastJ works.

API Documentation

Check out FastJ's documentation to get a better understanding of the code FastJ provides to improve your game-making experience.

I'll add the dependency myself!

Ok, ok, I hear ya. To do so, just follow through with these instructions below.

Dependency Management

This library can be found in the following places:

When adding the dependency, make sure to replace [latest version here] with the actual version (you'll find this in the jitpack.io or Maven Central link up above). The current latest version is 1.6.0.

A few common dependencies are provided below:

  • Gradle Build Script
    • Groovy:
      repositories.maven {
          url('https://jitpack.io')
      }
      
      dependencies.implementation('com.github.fastjengine:FastJ:[latest version here]')
    • Kotlin:
      repositories.maven {
          setUrl("https://jitpack.io")
      }
      
      dependencies.implementation("com.github.fastjengine:FastJ:[latest version here]")
  • Maven POM
    <repository>
      <id>jitpack.io</id>
      <url>https://jitpack.io</url>
    </repository>
    
    <dependency>
      <groupId>com.github.fastjengine</groupId>
      <artifactId>FastJ</artifactId>
      <version>[latest version here]</version>
    </dependency>

You'll also want to make sure you add a dependency for a logging framework from SLF4J, since FastJ uses it for all its logging purposes. Take your pick!

Hello World Code (Java)

import tech.fastj.engine.FastJEngine;
import tech.fastj.graphics.display.FastJCanvas;
import tech.fastj.systems.control.SimpleManager;

public class HelloFastJ extends SimpleManager {

    @Override
    public void init(FastJCanvas canvas) {}

    @Override
    public void update(FastJCanvas canvas) {}

    public static void main(String[] args) {
        // Creates an empty window titled "Hello, FastJ!"
        FastJEngine.init("Hello, FastJ!", new HelloFastJ());
        FastJEngine.run();
    }
}

External Dependencies

Contributing

Plan on contributing to the repository? Awesome! We're glad to have you ❤️

Please be sure to read over the contribution guidelines so that you can get started.

Community

FastJ's community of developers is growing day by day!

  • Join the FastJ Discord Server to get early-access to planned ideas and features, as well as join a welcoming community!

Games Made with FastJ

License

This repository is licensed under the MIT License.




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap