Korjector is a KorGE game engine-based multiplatform client for Projector.

Overview

Korjector

korjector

License JetBrains incubator project Building Testing

logo

Korjector is a KorGE game engine-based multiplatform client for Projector. An internal JetBrains Hackathon 2021 project to demonstrate that a Projector client can be created in less than 48 hours for any OS that supports decent canvas 2D API.

demonstration demonstration

Installation

If you want to build a project from the source, you should run the following commands

git clone https://github.com/SerVB/korjector.git
cd korjector
./gradlew build

also, you can download the latest release here or on google drive

Running

Run a Projector server, for example, via Docker:

docker pull registry.jetbrains.team/p/prj/containers/projector-idea-c
docker run --rm -p 8887:8887 -it registry.jetbrains.team/p/prj/containers/projector-idea-c

Worked with this projector version

After it, run this client.

./gradlew runJvm  # for Linux/Mac
.\gradlew.bat runJvm  # for Windows 

This will open a Java-based app locally. You can edit the URL (defaults to a locally launched Projector server) and connect to the server.

For some reason, the client hangs after some time of running, and it was no luck to debug it during the hackathon.

Also, KorGE allows compiling to JS (Web), Native, Android, and iOS targets, but we weren't able to handle them during the hackathon.

However, it's possible to install the app on iOS:

./gradlew iosBuildSimulatorDebug # Creates an APP file
./gradlew installIosSimulatorDebug # Installs an APP file in the simulator
./gradlew runIosSimulatorDebug # Runs the APP in the simulator

And Android:

./gradlew installAndroidDebug # Installs an APK in all the connected devices
./gradlew runAndroidEmulatorDebug # Runs the application in an emulator

Supported features

  • Specify URL of the server before a connection
  • Rendering of windows (basic shapes, images, fonts). Expect some rendering glitches: we still have them few in the original Projector
  • Decorations of windows
  • Mouse input
  • Ping (currently logged to the console)

Unsupported features

We didn't have much time to implement all the features available in the original Projector web client, but it should be doable after some efforts.

  • Keyboard input
  • Clipboard sync between the client and the server
  • Markdown preview
  • Speculative typing prototype
  • Resizing the whole window in real time (you can resize the window to the desired size before the connection though)
  • HiDPI

License

This project MIT licensed.

You might also like...
2D physics engine for games

LiquidFun Version 1.1.0 Welcome to LiquidFun! LiquidFun is a 2D physics engine for games. Go to our landing page to browse our documentation and see s

a 2d Java physics engine, native java port of the C++ physics engines Box2D and LiquidFun

jbox2d Please see the project's BountySource page to vote on issues that matter to you. Commenting/voting on issues helps me prioritize the small amou

An experiment with cellular automata; Functional mod for Rem's Engine.
An experiment with cellular automata; Functional mod for Rem's Engine.

Cellular Automata This is an experiment with cellular automata. A functional mod for Rem's Engine. When experimenting, I found the Sierpinski Triangle

 A Ktor-based server that handles game process, user registration and packs provision
A Ktor-based server that handles game process, user registration and packs provision

Polyhoot! Server backend A Ktor-based server that handles game process, user registration and packs provision Deploying server locally You can deploy

A console-based game that helps you learn new words.

learn-language-game πŸ“– πŸ€“ πŸ”  This is a simple console-based game which helps you learn new words each day. Prerequisites An API-KEY is required from R

An easy open source Android Native Game FrameWork.
An easy open source Android Native Game FrameWork.

JustWeEngine - Android Game FrameWork An easy open source Android Native Game FrameWork. Engine Flow Chart How To Use? Import Engine's module as Libra

Desktop/Android/HTML5/iOS Java game development framework
Desktop/Android/HTML5/iOS Java game development framework

Cross-platform Game Development Framework libGDX is a cross-platform Java game development framework based on OpenGL (ES) that works on Windows, Linux

Cocos2d-x is a suite of open-source, cross-platform, game-development tools used by millions of developers all over the world.
Cocos2d-x is a suite of open-source, cross-platform, game-development tools used by millions of developers all over the world.

cocos2d-x Win32 Others cocos2d-x is a multi-platform framework for building 2d games, interactive books, demos and other graphical applications. It is

Cocos2d-x is a suite of open-source, cross-platform, game-development tools used by millions of developers all over the world.
Cocos2d-x is a suite of open-source, cross-platform, game-development tools used by millions of developers all over the world.

cocos2d-x Win32 Others cocos2d-x is a multi-platform framework for building 2d games, interactive books, demos and other graphical applications. It is

Comments
  • Some fixes and improvements

    Some fixes and improvements

    This is a small cleanup on the changes I did.

    Included changes:

    • Fixes the problem where the JVM target hanged
    • Fixes a timestamp issue
    • Bumps korge and gradle
    • Supports rendering by using NativeImage (toggleable via environment variable + gradle task)
    • PNG was not available and some image rendering didn't work
    • JS WebSocket didn't work because the open event was triggered before registration

    Instead of several PRs I have created a single PR with several commits, so maybe makes sense to rebase instead of squash and merge.

    opened by soywiz 9
  • Some fixes and improvements (retake)

    Some fixes and improvements (retake)

    This is a small cleanup on the changes I did.

    Included changes:

    • Fixes the problem where the JVM target hanged
    • Fixes a timestamp issue
    • Bumps korge and gradle
    • Supports rendering by using NativeImage (toggleable via environment variable + gradle task)
    • PNG was not available and some image rendering didn't work
    • JS WebSocket didn't work because the open event was triggered before registration
    • Reduced memory usage assigned to the JVM to avoid OOM on CI
    • Removed fail-fast on CI so if one platform fails, the other ones continue
    • ThreadLocal additions to support K/N

    Hopefully this time it will work: https://github.com/soywiz/korjector/actions

    opened by soywiz 3
Owner
Sergei Bulgakov
❀ Kotlin, Open-source ❀ Support me: https://coindrop.to/servb
Sergei Bulgakov
RPG written in Kotlin using Korge engine

TheAlchemist RPG written in Kotlin using the Korge engine Based on the template https://github.com/korlibs/korge-starter-kit-rpg, this is a simple pix

Liam 2 Jan 16, 2022
RemsEngine - OpenSource Kotlin/OpenGL/ECS based game engine

Game Engine: Rem's Engine Parallel to this video editor, I am developing my own

Antonio 7 Nov 3, 2022
This is an application that is about an X / O game. You can enter the names of the game, and there is also a screen for those who win and there is a button to continue playing and the game determines the result of each player

Game-X-O This is an application that is about an X / O game. You can enter the names of the game, and there is also a screen for those who win and the

Mohamed Rafat 2 Aug 20, 2022
Free Android 2D OpenGL Game Engine

AndEngine Donations While developing AndEngine was a lot of fun, it also also consumed many(!) months of my life. It actually continues to cost me a s

Nicolas Gramlich 3.2k Jan 5, 2023
A cross-platform Java game Engine (Framework) , support JavaFX / Android / IOS / HTML5 / Linux / MAC / Windows

Loon Game Engine (Java Game Framework) EN / KR Free Game Resources Links Download Loon Game Engine Only Android-studio Template : androidstudio-templa

cping 502 Jan 4, 2023
SMBClone - SMD clone custom game engine. (Desktop + Android)

SMBClone Simple crossplatform game engine for like SMB game! Supported platforms

Victor Varenik 4 Jul 4, 2022
Android Play Games Services plugin for Godot Game Engine

Google Play Games Services Plugin for Godot This is an Android Play Games Services plugin for Godot Game Engine 3.4.2 Supported features: Sign-in/Sign

Studio Adriatic 41 Dec 29, 2022
Our maze game is an 2d-animation game developed using android studio.

Our maze game is an 2d-animation game developed using android studio. The game consists of a ball and a board with a hole in the center of it. We are using accelerometer as controller to guide ball towards the hole. T

Suraj Devgan 6 Nov 29, 2022
A GoBang game built with Compose Multiplatform

cmp-gobang English | 中文介绍 A GoBang game built with Compose Multiplatform How to run config Host address add the IP of desktop into <server_host/> of s

fundroid 32 Dec 24, 2022
Android OpenGL ES 2.0/3.0 Engine

Build Status Master Branch Status Develop Branch Status News 06/23/2017 Bombshell 1.1.970 has been released. It fixes behavior of Objects of zero size

null 2.2k Jan 9, 2023