All Projects → mirkosertic → Gamecomposer

mirkosertic / Gamecomposer

GameComposer is a game authoring tool and also a game runtime environment targeting at desktop and mobile devices.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Gamecomposer

Gwt Polymer Elements
Polymer Web Components for GWT. A collection of Material Design widgets for desktop and mobile.
Stars: ✭ 153 (+159.32%)
Mutual labels:  polymer, gwt
webfx
A JavaFX application transpiler. Write your Web Application in JavaFX and WebFX will transpile it in pure JS.
Stars: ✭ 210 (+255.93%)
Mutual labels:  javafx, gwt
Fxgl
Stars: ✭ 2,378 (+3930.51%)
Mutual labels:  javafx, game-engine
Friceengine
🎮 JVM game engine based on Swing/JavaFX.
Stars: ✭ 330 (+459.32%)
Mutual labels:  javafx, game-engine
Fxtutorials
A collection of JavaFX tutorials from my channel on YouTube
Stars: ✭ 252 (+327.12%)
Mutual labels:  javafx, game-engine
Gwt Api Generator
Generator for creating GWT JSInterop clients from Polymer Web Components
Stars: ✭ 49 (-16.95%)
Mutual labels:  polymer, gwt
Xjavafxtool
基于JavaFx搭建的实用小工具集合,方便开发过程中的代码编写与调试,想学习javaFx的同学可以参考参考。其中包括文件复制、Cron表达式生成器、编码转换、加密解密、Time转换、路径转换、二维码生成工具、身份证生成器、正则表达式生成工具、网址缩短、转义字符、字符串转换、Mq调试工具、Http调试工具、json格式化编辑工具、图标生成工具、Redis连接工具、网页源码下载工具、切换Hosts工具、Ftp服务器、Cmd调试工具、Ftp/Ftps/Sftp客户端调试工具、Pdf转换工具、文件列表生成器、图片压缩工具、图片转码工具、Kafka调试工具、Email群发工具、颜色代码转换工具、短信群发工具、脚本引擎调试、文件重命名、Json转换、语音转换、Socket调试、图片解析、微信小程序反编译、Zookeeper操作、Excel拆分合并、文件夹监控、文件编码检测、传输、端口扫描、久坐提醒、随机数生成、剪贴板历史、文件搜索、mp3转换、印章生成等工具
Stars: ✭ 1,063 (+1701.69%)
Mutual labels:  javafx
Spring Boot Fx
🎈Spring Boot, JavaFX, bootstrap3, mongoDB
Stars: ✭ 57 (-3.39%)
Mutual labels:  javafx
Home Assistant Js
🐝 JavaScript implementation of the Home Assistant API using NuclearJS
Stars: ✭ 50 (-15.25%)
Mutual labels:  polymer
Racingworld
💥 A multiplayer online 3D game about racing 💥
Stars: ✭ 50 (-15.25%)
Mutual labels:  game-engine
Sample Spring Boot Javafx
Рыба Spring Boot + JavaFX
Stars: ✭ 59 (+0%)
Mutual labels:  javafx
Magictools
🎮 📝 A list of Game Development resources to make magic happen.
Stars: ✭ 8,853 (+14905.08%)
Mutual labels:  game-engine
Urho3d Project Template
Urho3D application template with the base functionality which is required for most projects.
Stars: ✭ 55 (-6.78%)
Mutual labels:  game-engine
Drombler Fx
Drombler FX - the modular application framework for JavaFX.
Stars: ✭ 52 (-11.86%)
Mutual labels:  javafx
Gwt Ol
GWT wrapper for OpenLayers 3+ using JSInterop
Stars: ✭ 57 (-3.39%)
Mutual labels:  gwt
Strawberry
A tiny 2D game engine focused on usability and simplicity.
Stars: ✭ 51 (-13.56%)
Mutual labels:  game-engine
Login Fire
An element that allows simple configuration of multiple provider login for firebase
Stars: ✭ 58 (-1.69%)
Mutual labels:  polymer
Visualuieditor
基本electron跨平台,wcDocker的dock组件的开源UI编辑器
Stars: ✭ 50 (-15.25%)
Mutual labels:  game-engine
Wordagam
A fun & interactive word game 🍄
Stars: ✭ 55 (-6.78%)
Mutual labels:  javafx
Pyxel
A retro game engine for Python
Stars: ✭ 9,133 (+15379.66%)
Mutual labels:  game-engine

GameComposer

GameComposer is a game authoring tool and also a game runtime environment targeting at desktop and mobile devices.

Started as a JavaFX implementation some years ago, it now supports desktop and mobile devices, with support for modern technologies such as HTML5, WebGL, Apache Cordova/Crosswalk and Electron.

Its core is based on Domain-driven Design and a hexagonal architecture. The main game simulation logic stayed the same for years, but replacing presentation logic and adapting it to new technologies is a lot easier compared to traditional layered applications.

To see it in action please visit this page

Current build status: Build

GameEngine-Editor

This is the shiny new Web-enabled editor for the GameEngine. It is based on HTML5, Polymer/Webcomponents, Electron and TeaVM.

Webeditor in Action

Edit Dukes Adventure Example Game

Webeditor editing an Event Sheet

Webeditor editing a LUA script

The Electron Releases are available for download at the GitHub Releases section.

Webeditor in Electron

Example Games

TeaVM Renderer:

Bouncing block

Camera with Clock

Gravity and Mouse

Duke on the Platform

Position test

Rotating actor

Networking

Arcade Racer

GWT Renderer:

Bouncing block

Camera with Clock

Gravity and Mouse

Duke on the Platform

Position test

Rotating actor

Arcade Racer

Dragome Renderer:

Bouncing block

Camera with Clock

Gravity and Mouse

Duke on the Platform

Position test

Rotating actor

Arcade Racer

GameEngine

GameEngine is the cross-platform game engine.

Core concepts and components of the game engine are:

Concept / component Description
Game A Game is the top level container. Each Game is split into several GameScenes.
GameScene A Scene is like a level of a game. A Scene has a collection of GameObjects, Assets and Events.
GameSystem A GameSystem defines a subsystem of the game engine. There are GameSystems for physics, sounds and other stuff
GameView A GameView is the presentation of a GameScene to some kind of consumer. This can be a screen renderer or even a remote consumer.
GameObject A GameObject is a template for visible objects. The behavior of a GameObject is defined by GameComponentTemplates
BehaviorTemplate A BehaviorTemplate defines some kind of behavior, e.g. if it is static, a sprite or driven by physics.
GameObjectInstance A GameObjectInstance is an instance of a GameObject. It inherits the defined BehaviorTemplates by copying them into a Behavior
Behavior A Behavior is the behavior status for a BehaviorTemplate and a GameObjectInstance.
Event An Event can be triggered by a consumer by sending it via the GameView to the engine. An Event can also be triggered or consumed by a GameComponent or GameSystem.
EventSheet An EventSheet is the rule engine. Each rule has a condition and some actions.
GameLoop The GameLoop drives the engine by calling the GameSystems, rendering the GameView and dispatching events.
GameProcess A GameProcess is something that takes multiple GameLoop cycles to complete, for instance playing background music or playing an animation.

GameEngine-Networking

Networking support is implemented as a RemoteGameView. Local events are sent between game instances to sync the distributed game models.

Networking is implemented in a very early beta state only by the TeaVM Renderer. Events are sent to a Firebase instance, which then syncs the events back to other browsers bound to the same Firebase instance. Take a look at the Networking example to see it in action. In this case, Firebase acts as a non-authorative game server. The game models and simulation is still run in the local browser. Only the game state is synchronized using events.

GameEngine-TeaVMRenderer (preferred)

This is the game presentation logic using the TeaVM Java-to-JavaScript Transpiler Framework. It will render the game view using pixi.js, which uses WebGL or the HTML5 Canvas API as a fallback. Sound is done using howler.js

GameEngine-BytecoderRenderer (experimental)

This is a first implementation of a WebAssembly based GameRenderer. Under the hood it uses Bytecoder to compile the Game Runtime to WebAssembly and plain old JavaScript as a fallback. It will render the game view using pixi.js, which uses WebGL or the HTML5 Canvas API as a fallback.

Please note that this is experimental stage!

Example games:

GameEngine-CordovaRenderer (experimental)

This is basically the TeaVMRenderer packaged as a Cordova Application backed by Crosswalk(Chromium).

A game running in Android Emulator

GameEngine-FXRenderer (outdated)

This is the game presentation logic by implementing a GameView using JavaFX 2. This also includes a Soundsystem implementation based on Java Sound API.

GameEngine-AndroidRenderer (outdated)

This is the game presentation logic using the Android Java SDK. This also includes a SoundSystem implementation for Android devices. We use an Android SurfaceView for rendering. Future versions will include OpenGL ES support.

GameEngine-GWTRenderer (outdated)

This is the game presentation logic using GWT and HTML5(JavaScript) by implementing a GameView. This also includes a SoundSystem implementation based on HTML5 Media API. Currently the HTML5 renderer tries to use WebGL. If WebGL is not available, it will fallback to the HTML5 Canvas API.

GameEngine-DragomeRenderer (experimental)

This is the game presentation logic using the Dragome Java-to-JavaScript Transpiler Framework. It will render the game view using the HTML5 Canvas API.

GameComposer (outdated)

GameComposer is the authoring tool, the IDE. It is a JavaFX2 application. Using this tool, games can be designed and tested. Finally, they can be exported to a target runtime, e.g. HTML5.

JavaFX IDE

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].