Tribal Trouble GNU 2 Tribal Trouble - Tribal Trouble is a realtime strategy game released by Oddlabs in 2004. In 2014 the source was released under GPL2 license. License: GNU 2, .

Overview

Tribal Trouble

Tribal Trouble is a realtime strategy game released by Oddlabs in 2004. In 2014 the source was released under GPL2 license, and can be found in this repository.

The source is released "as is", and Oddlabs will not be available for help building it, modifying it or any other kind of support. Due to the age of the game, it is reasonable to expect there to be some problems on some systems. Oddlabs has not released updates to the game for years, and do not intend to start updating it now that it is open sourced.

If you know how to code Java, configure ant, use MySQL, and have a genuine intention of actually working on the game, you can create an issue for detailed questions about the source.

Binaries

If you are simply looking for a working binary version of the game, you can find the latest released installers here:

Please note that the multiplayer server referenced in these builds, is no longer available.

You can register the binaries by putting the registration file in the binaries folder into this folder:

  • Windows XP: C:\Documents and Settings\Username\TribalTrouble\
  • Windows Vista or newer: C:\Users\Username\TribalTrouble\
  • Mac OS X: Library/Application Support/TribalTrouble/
  • Linux: ~/.TribalTrouble/

Building

Clone the repository:

git clone https://github.com/sunenielsen/tribaltrouble.git

Make sure you have Java SDK at least version 6, and Apache Ant.

To build the game client, do this:

cd tt
ant run

Setting up a server is a lot more complex, and not something we have done in many years. It will take some work to get it working, but try looking at the server folder and see if you can figure it out. At the very least, you should know a bit about setting up a MySQL server.

Comments
  • How do I contribute the work that I've done...

    How do I contribute the work that I've done...

    I have figured out how to run the matchmaker, router and registration services. I have added (1) line of code to expose the password hash when the game is registered. I needed to do this because the registration hangs and doesn't insert values into the database, but does progress far enough to grab the password hash. I can then manually insert users and complete the registratoin. Multiplayer works without any issues and the Single Player game works with the caveat that I have to run the client from the source directory. The game binaries seem to be built with a different password or other mechanism that prevents them from being recognized as the current version.

    That is what I have, what would people like to see?

    opened by team-penguin 9
  • Registration?

    Registration?

    Hi, I just learned what happened to TT, it's very sad I was a fellow player of it when I was young it gave me so much fun… Anyway, thanks for releasing the sources, however, is there like a "universal serial number" to unlock the game without touching to the sources or create databases? I'm not familiar with Java and can't put my hands in it now. Thanks and by the way, what are the creators of TT doing right now? Did they make any new game or softwares?

    opened by GilDev 6
  • Multiplayer - Waiting for players...

    Multiplayer - Waiting for players...

    So I've managed to get most things the way I want them but I've run into a problem. For some reason, when joining a multiplayer game (actually in the game that is), the client sits there until it eventually throws a [1] java.net.ConnectException: Connection timed out: no further information. From what I can gather is that the signal isn't being sent to the clients that everyone has connected but I'm having trouble following the code here. At first I thought it was the timing (I had to add a few things to the DB that weren't in https://github.com/sunenielsen/tribaltrouble/issues/8 but I highly doubt that's the problem. I have also included the [2] Matchmaker logs however I don't think it had anything to do with it.

    [1] PeerHub created (session_id = -469477288) Player list: java.net.ConnectException: Connection timed out: no further information Router failed with exception: java.net.ConnectException: Connection timed out: no further information at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) at com.oddlabs.net.Connection.handle(Connection.java:305) at com.oddlabs.net.NetworkSelector.doTick(NetworkSelector.java:208) at com.oddlabs.net.NetworkSelector.tick(NetworkSelector.java:158) at com.oddlabs.tt.animation.AnimationManager.runGameLoop(AnimationManager.java:173) at com.oddlabs.tt.render.Renderer.runGameLoop(Renderer.java:195) at com.oddlabs.tt.render.Renderer.run(Renderer.java:474) at com.oddlabs.tt.render.Renderer.runGame(Renderer.java:187) at com.oddlabs.tt.Main.main(Main.java:41) java.net.ConnectException: Connection timed out: no further information at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) at com.oddlabs.net.Connection.handle(Connection.java:305) at com.oddlabs.net.NetworkSelector.doTick(NetworkSelector.java:208) at com.oddlabs.net.NetworkSelector.tick(NetworkSelector.java:158) at com.oddlabs.tt.animation.AnimationManager.runGameLoop(AnimationManager.java:173) at com.oddlabs.tt.render.Renderer.runGameLoop(Renderer.java:195) at com.oddlabs.tt.render.Renderer.run(Renderer.java:474) at com.oddlabs.tt.render.Renderer.runGame(Renderer.java:187) at com.oddlabs.tt.Main.main(Main.java:41) PeerHub closed

    [2] Attempting to log deadrecon98 in! Jan 14, 2017 3:26:41 PM com.oddlabs.matchserver.MatchmakingServer loginClient INFO: deadrecon98 logged in Jan 14, 2017 3:26:44 PM com.oddlabs.matchserver.DBInterface profileOnline INFO: profileOnline 'deadrecon98' Jan 14, 2017 3:26:44 PM com.oddlabs.matchserver.Client joinRoom INFO: deadrecon98 joined chat room, name = Chatroom1 Jan 14, 2017 3:26:47 PM com.oddlabs.matchserver.Client registerGame INFO: Game registered, name = deadrecon98's Game INSERT INTO games (player1_name, time_create, name, rated, speed, size, hills, trees, resources, mapcode, status) VALUES ('deadrecon98', '2017-01-14 15:26:47.47', 'deadrecon98\'s Game', 'N', '2', '2', '3', '10', '9', 'G7Q26BYYDVGM', 'created') Jan 14, 2017 3:26:47 PM com.oddlabs.matchserver.Client registerGame INFO: deadrecon98 has created a game called "deadrecon98's Game". Jan 14, 2017 3:26:49 PM com.oddlabs.matchserver.Client unregisterGame INFO: Game unregistered, name = deadrecon98's Game Jan 14, 2017 3:26:53 PM com.oddlabs.matchserver.Client gameStartedNotify INFO: Game 1496894: New GameSession e4045858 started by deadrecon98 Game 1496894: all joined game J Jan 14, 2017 3:26:53 PM com.oddlabs.matchserver.TimestampedGameSession <init> INFO: Game 1496894 created. [ deadrecon98 ] U Jan 14, 2017 3:26:53 PM com.oddlabs.matchserver.TimestampedGameSession join INFO: Game 1496894: joined J Jan 14, 2017 3:26:53 PM com.oddlabs.matchserver.TimestampedGameSession join INFO: Game 1496894: all joined game J Jan 14, 2017 3:27:14 PM com.oddlabs.matchserver.TimestampedGameSession gameDone INFO: Game 1496894: deadrecon98 finished. Result quit Q Jan 14, 2017 3:27:14 PM com.oddlabs.matchserver.TimestampedGameSession evaluateGame INFO: Game 1496894. No winning teams Q java.io.IOException: Channel closed at com.oddlabs.net.Connection.readFromChannel(Connection.java:267) at com.oddlabs.net.Connection.handle(Connection.java:328) at com.oddlabs.net.NetworkSelector.doTick(NetworkSelector.java:208) at com.oddlabs.net.NetworkSelector.tickBlocking(NetworkSelector.java:146) at com.oddlabs.net.NetworkSelector.tickBlocking(NetworkSelector.java:150) at com.oddlabs.matchserver.MatchmakingServer.<init>(MatchmakingServer.java:72) at com.oddlabs.matchserver.MatchmakingServer.main(MatchmakingServer.java:146) java.io.IOException: Channel closed at com.oddlabs.net.Connection.readFromChannel(Connection.java:267) at com.oddlabs.net.Connection.handle(Connection.java:328) at com.oddlabs.net.NetworkSelector.doTick(NetworkSelector.java:208) at com.oddlabs.net.NetworkSelector.tickBlocking(NetworkSelector.java:146) at com.oddlabs.net.NetworkSelector.tickBlocking(NetworkSelector.java:150) at com.oddlabs.matchserver.MatchmakingServer.<init>(MatchmakingServer.java:72) at com.oddlabs.matchserver.MatchmakingServer.main(MatchmakingServer.java:146) Jan 14, 2017 3:27:55 PM com.oddlabs.matchserver.Client error INFO: deadrecon98 logged out. Caused by: Channel closed Jan 14, 2017 3:27:55 PM com.oddlabs.matchserver.DBInterface profileOffline INFO: profileOffline 'deadrecon98'

    opened by Walker-Case 4
  • Is Tribal Trouble for Sale? Commercial Use?

    Is Tribal Trouble for Sale? Commercial Use?

    Hey there Sune! I'm wondering if TT is for sale, or if we're allowed to use the name for commercial use. Me and my team are very interested in reviving the game and taking it to the next level, specifically with 3D graphics, an improved engine, and an up-to-date multiplayer server.

    Thanks for your time!

    opened by abennette32 4
  • Missing class? com.oddlabs.regservice.RegService

    Missing class? com.oddlabs.regservice.RegService

    I have the matchmaker and router services running, but the regservice won't execute. I think there is some code missing?

    find -name RegService* ./common/build/classes/com/oddlabs/registration/RegServiceInterface.class ./common/classes/com/oddlabs/registration/RegServiceInterface.java

    opened by team-penguin 3
  • Tables 'oddlabs.games' and 'oddlabs.online_profiles' don't exist

    Tables 'oddlabs.games' and 'oddlabs.online_profiles' don't exist

    I see in DBInterface.java where the tables are referenced, but there isn't any create SQL. I found some create stuff in ./servlet/descriptors/matchservlet/createdb.sql. Can you provide the complete creation source or maybe dump the table descriptions from your decomissioned server?

    opened by team-penguin 3
  • build fail

    build fail

    BUILD FAILED /Users/ewan/Documents/GitHub/tribaltrouble/tt/build.xml:144: Execute failed: java.io.IOException: Cannot run program "hg" (in directory "/Users/ewan/Documents/GitHub/tribaltrouble2/tt"): error=2, No such file or directory at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048) at java.lang.Runtime.exec(Runtime.java:620) at org.apache.tools.ant.taskdefs.launcher.Java13CommandLauncher.exec(Java13CommandLauncher.java:58) at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:426) at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:440) at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:629) at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:670) at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:496) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293) at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.Target.execute(Target.java:435) at org.apache.tools.ant.Target.performTasks(Target.java:456) at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1405) at org.apache.tools.ant.Project.executeTarget(Project.java:1376) at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) at org.apache.tools.ant.Project.executeTargets(Project.java:1260) at org.apache.tools.ant.Main.runBuild(Main.java:857) at org.apache.tools.ant.Main.startAnt(Main.java:236) at org.apache.tools.ant.launch.Launcher.run(Launcher.java:287) at org.apache.tools.ant.launch.Launcher.main(Launcher.java:113) Caused by: java.io.IOException: error=2, No such file or directory at java.lang.UNIXProcess.forkAndExec(Native Method) at java.lang.UNIXProcess.(UNIXProcess.java:248) at java.lang.ProcessImpl.start(ProcessImpl.java:134) at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029) ... 23 more

    opened by S1verSerfer 2
  • What is the recommended value for the define: ANIMATION_MILLISECONDS_PER_TICK

    What is the recommended value for the define: ANIMATION_MILLISECONDS_PER_TICK

    The code has the current define: AnimationManager.java: public final static int ANIMATION_MILLISECONDS_PER_TICK = 20;

    What I'm seeing from one client is excessive stalls, the game usually crashes:

    grep -c "Stalled on tick" debug.log 709

    The game did not crash during this particular play, so there seems to be a sweet spot where the client can miss some ticks but crashes when too excessive. Since I'm running on a low latency private lan, I'm thinking the value 20 needs changed? Maybe you have profiled this and have guidlines for value/per ping latency?

    opened by team-penguin 2
  • Please provide more information on setting up registration services

    Please provide more information on setting up registration services

    I have built the contents of the tribaltrouble/server directory. The matchmaker service is running without errors now that I have a complete DB, thanks for the help. I have created my own authoritative oddlabs.com domain and I am pointing update, registration and matchmaking to my server. I can see the following registation request:

    "GET /oddlabs/registration?key=ABCD-EFGH-IJKL-MNOP&current_affiliate_id=oddlabs.com&affiliate_id=oddlabs.com HTTP/1.1"

    Is it the 'regservice' script that executes this request, or is it the 'oddlabs' regservlet?

    -- or --

    Since the game is open now, can I just insert account details into the database and not mess with the registration interface? If that is legal, is there any special encoding used for the registration data?

    opened by team-penguin 2
  • Starting server/matchserver results in: java.io.IOException: /public_reg_key not found

    Starting server/matchserver results in: java.io.IOException: /public_reg_key not found

    I'm having difficulties trying to determine what the matchserver is looking for. The oddlabs database is setup and the embedded user has been granted ALL. The entire error is this:

    Sep 8, 2014 9:22:20 AM MatchmakingServer main FINER: THROW java.io.IOException: /public_reg_key not found at com.oddlabs.util.Utils.tryMakeURL(Utils.java:146) at com.oddlabs.registration.RegistrationKey.loadPublicKey(RegistrationKey.java:26) at com.oddlabs.matchserver.MatchmakingServer.(MatchmakingServer.java:63) at com.oddlabs.matchserver.MatchmakingServer.main(MatchmakingServer.java:143) Sep 8, 2014 9:22:20 AM MatchmakingServer postPanic FINER: THROW java.lang.NullPointerException at com.oddlabs.util.DBUtils.createDatabaseConnection(DBUtils.java:30) at com.oddlabs.util.DBUtils.createStatement(DBUtils.java:34) at com.oddlabs.util.DBUtils.postHermesMessage(DBUtils.java:38) at com.oddlabs.matchserver.MatchmakingServer.postPanic(MatchmakingServer.java:135) at com.oddlabs.matchserver.MatchmakingServer.main(MatchmakingServer.java:146)

    opened by team-penguin 2
  • Error with build

    Error with build

    compile: [javac] C:\tribal\tribaltrouble\common\common.xml:37: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds [javac] Compiling 126 source files to C:\tribal\tribaltrouble\common\build\classes [javac] error: error reading C:\tribal\tribaltrouble\common\lib\java\lwjgl.jar; error in opening zip file [javac] error: error reading C:\tribal\tribaltrouble\common\lib\java\lwjgl_util.jar; error in opening zip file [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.7 [javac] 2 errors [javac] 1 warning

    BUILD FAILED C:\tribal\tribaltrouble\build.xml:20: The following error occurred while executing this line: C:\tribal\tribaltrouble\build.xml:5: The following error occurred while executing this line: C:\tribal\tribaltrouble\common\common.xml:37: Compile failed; see the compiler error output for details.

    help pls :(

    opened by Gedehamsen021 0
  • tribal trouble full version

    tribal trouble full version

    Hey, I'm following the steps to get the full version for tribal trouble but it is pretty confusing since I don't have a good computer science background. Would it be possible for someone to give me a simpler step by step instruction as to how I am supposed to get the full version. I am using windows by the way.

    opened by 0104hasan 0
  • Tribal Trouble Full Version

    Tribal Trouble Full Version

    Hey, I'm following the steps to get the full version for tribal trouble but it is pretty confusing since I don't have a good computer science background. Would it be possible for someone to give me a simpler step by step instruction as to how I am supposed to get the full version. I am using windows by the way.

    opened by 0104hasan 10
  • BUILD FAILED - MacOS BigSur

    BUILD FAILED - MacOS BigSur

    Hello,

    I run : ant run and I have this error : tribaltrouble/common/common.xml:31: The following error occurred while executing this line: tribaltrouble/common/common.xml:37: Compile failed; see the compiler error output for details.

    I am on MacOS BigSur. I tried to use the dmg file but It doesn't work : “Tribal Trouble” needs to be updated. The developer of this app needs to update it to work with this version of macOS. Contact the developer for more information.

    I also try with the .sh file : "Tribal Trouble has been installed. Please change directory to tribaltrouble/ and run './tribaltrouble' to start the game" but there is nothing in this folder. I have a TribalTrouble.desktop but I cannot run it.

    opened by willyx43 0
  • Keyboard input is ignored

    Keyboard input is ignored

    The game has been compiled and run successfully (java-8-openjdk on recent Arch Linux) but sadly - keyboard input is completely ignored (shortcuts, arrows, escape or even inserting a registration code etc). Mouse actions work.

    opened by jose1711 1
  • game crash

    game crash

    i have built the game and was successful, however it closes with out anything popping up, i got a report a issue the second time

    run: [java] Starting game.... [java] ********** Running tt ********** [java] Writing log files in /Users/ewan/Library/Application Support/TribalTrouble/logs/1502459438086 [java] Logging to /Users/ewan/Library/Application Support/TribalTrouble/logs/1502459438086/event.log [java] Starting bug reporter ... [java] Event log dir: /Users/ewan/Library/Application Support/TribalTrouble/logs/1502459303195 [java] Upload failed: java.net.UnknownHostException: bugreport.oddlabs.com [java] Bug reporter completed [java] revision = -1 [java] os_name = 'Mac OS X' [java] os_arch = 'x86_64' [java] os_version = '10.10.5' [java] java_version = '1.8.0_91' [java] java.lang.UnsatisfiedLinkError: /Users/ewan/Documents/GitHub/tribaltrouble/common/lib/native/liblwjgl.jnilib: dlopen(/Users/ewan/Documents/GitHub/tribaltrouble/common/lib/native/liblwjgl.jnilib, 1): no suitable image found. Did find:java_vendor = 'Oracle Corporation' [java] [java] total_mem = '78643200' [java] /Users/ewan/Documents/GitHub/tribaltrouble/common/lib/native/liblwjgl.jnilib: no matching architecture in universal wrapper [java] at java.lang.ClassLoader$NativeLibrary.load(Native Method) [java] at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941) [java] at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1861) [java] at java.lang.Runtime.loadLibrary0(Runtime.java:870) [java] at java.lang.System.loadLibrary(System.java:1122) [java] at org.lwjgl.Sys$1.run(Sys.java:75) [java] at java.security.AccessController.doPrivileged(Native Method) [java] at org.lwjgl.Sys.doLoadLibrary(Sys.java:68) [java] at org.lwjgl.Sys.loadLibrary(Sys.java:84) [java] at org.lwjgl.Sys.(Sys.java:101) [java] at org.lwjgl.openal.AL.(AL.java:59) [java] at com.oddlabs.tt.render.Renderer.initNative(Renderer.java:743) [java] at com.oddlabs.tt.render.Renderer.run(Renderer.java:413) [java] at com.oddlabs.tt.render.Renderer.runGame(Renderer.java:186) [java] at com.oddlabs.tt.Main.main(Main.java:40)

    BUILD SUCCESSFUL Total time: 8 seconds

    event.log.zip

    opened by S1verSerfer 3
Owner
Sune Hagen Nielsen
Sune Hagen Nielsen
A turn-based strategy game

Stalemate Game This is a turn-based strategy game. Support You can report issues in issue tracker. Contributing Contributions are welcomed. Building T

null 1 Jul 6, 2022
ASCII Roguelike with Euro Strategy Board Game Influences

EuroRogue ASCII Roguelike with Euro Strategy Board Game Influences --Run the RunEuroRogue.bat file in the bin folder. Requires Java - https://www.java

null 4 Feb 1, 2022
The loader for mods under Fabric. It provides mod loading facilities and useful abstractions for other mods to use, which is compatible with spigot now

Silk The loader for mods under Fabric. It provides mod loading facilities and useful abstractions for other mods to use, which is compatible with spig

null 1 Oct 1, 2022
Port of the forge api to fabric, under the same path.

MinecraftForge Forge is a free, open-source modding API all of your favourite mods use! Version Support 1.18.x Active 1.16.x LTS Download Forum Discor

null 16 Dec 6, 2022
Equivalent Exchange 3 Apache 2 Equivalent Exchange 3 pahimar Equivalent-Exchange-3. Mods for Minecraft. License: Apache 2 , .

Welcome to Equivalent Exchange 3! All versions are available here Minecraft Forums page Compiling EE3 - For those that want the latest unreleased feat

Rob Davis 709 Dec 15, 2022
My Game Engine tested via my Cubecraft Game

My Game Engine tested via my Cubecraft Game Install: mvn -P {your OS name} clean install mvn -P mac clean install mvn -P linux clean install mvn -P wi

null 30 Oct 3, 2022
BattleShip-Game - This repository contains the code of the BattleShip (Bataille Navale) game programmed in Java.

Bataille Navale Auteur : SABIL Mohamed Amine Comment générer la documentation ? Placez vous dans le sous-dossier src : pour générer la documentation d

Mohamed Amine SABIL 1 Jan 4, 2022
Snake-Game - A simple snake game written in java.

What's this? A simple snake game written in java. How to play Download the latest release. Ensure that a compatible java runtime is installed (optimal

Patrick260 4 Oct 31, 2022
Othello PvP (2-Player) Game Application created in Java using Swing and AWT, for playing the Othello game

Othello PvP (2-Player) Game Application created in Java using Swing and AWT, for playing the Othello game, a simple game that played on an 8 by 8 checkered board with 64 double-sided black and white discs. The game is easy to learn, but it takes time to master and develop winning strategies.

Soumyadeep Pal 1 Feb 28, 2022
The game is a 2D side scrolling system, where a player moves left, right, vertically or diagonally to traverse the game.

The game is a 2D side scrolling system, where a player moves left, right, vertically or diagonally to traverse the game.

Ravi Mandal 7 Sep 11, 2022
A simple puzzle game made with Unity to practice the game engine

A simple puzzle game made with Unity to practice the game engine.

Eyüb Salih Özdemir 1 Mar 30, 2022
A basic representation of the 0-player game, "Game-of-Life", a simple example of basic cellular automata

Game-Of-Life-Basic A basic representation of the 0-player game, "Game-of-Life", a simple example of basic cellular automata. A cellular automaton is a

Nikhil Narayanan 5 Oct 27, 2022
LITIENGINE is a free and open source Java 2D Game Engine

LITIENGINE is a free and open source Java 2D Game Engine. It provides a comprehensive Java library and a dedicated map editor to create tile-based 2D games.

Gurkenlabs 572 Jan 7, 2023
The Lezard Client is a new, open-source, minecraft client for the newer versions of the game.

The Lezard Client is a new, open-source, minecraft client for the newer versions of the game. It is oriented not for PvP, but for the Vanilla and the Survival experience. It is not a hack client for Minecraft and do not ask for it. 1 I hate hacked client and 2 it is not fun for other people. Also, I misspelled the word lizard in English and decided to leave it like that.

Michel-Ange 4 Jul 5, 2022
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

libgdx 20.9k Jan 1, 2023
A complete 3D game development suite written purely in Java.

jMonkeyEngine jMonkeyEngine is a 3-D game engine for adventurous Java developers. It’s open-source, cross-platform, and cutting-edge. 3.2.4 is the lat

jMonkeyEngine 3.3k Dec 31, 2022
Java / JavaFX / Kotlin Game Library (Engine)

About JavaFX Game Development Framework Why FXGL? No installation or setup required "Out of the box": Java 8-15, Win/Mac/Linux/Android 8+/iOS 11.0+/We

Almas Baimagambetov 3k Jan 2, 2023
Jetserver is a high speed nio socket based multiplayer java game server written using Netty and Mike Rettig's Jetlang.It is specifically tuned for network based multiplayer games and supports TCP and UDP network protocols.

Note New version of Jetserver is called Nadron and is in a new netty 4 branch of this same repo. JetServer is a java nio based server specifically des

Abraham Menacherry 1.2k Dec 14, 2022
[LEGACY] LWJGL 2.X - The Lightweight Java Game Library.

[LEGACY] LWJGL - Lightweight Java Game Library WARNING This is the repository of the original LWJGL, which is no longer actively maintained. Unless yo

Lightweight Java Game Library 529 Dec 26, 2022