GC Progress from Java 8 to 17

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • jMonkeyEngine

    A complete 3-D game development suite written in Java.

  • > As Java is generally the fastest GC'd language, what's the current state of Java gamedev?

    In my eyes, there are no truly viable options out there, mostly due to a lack of approachable GUI game development software or toolkits out there.

    For example, compare the one option that comes close, jMonkeyEngine (https://jmonkeyengine.org/) to the likes of Unreal (https://www.unrealengine.com/en-US/) and Unity (https://unity.com/), or even Godot (https://godotengine.org/).

    Sure, many out there enjoy developing games in a code first approach, or even writing their own engines (e.g. Randy, whose videos are pretty interesting and comedic: https://www.youtube.com/c/RandytheSequel/videos or https://www.youtube.com/c/RandallThomas/videos), but i'd argue that the success of an engine largely depends on the popularity that it gains, which is largely influenced by how easily approachable it is.

    Java game development doesn't have such a tool or set of tools, even the activity on jMonkeyEngine's GitHub (https://github.com/jMonkeyEngine) is really low, compared to that of Godot (https://github.com/GodotEngine), even if the technologies themselves could be used to similar degrees of success in many situations.

    Come to think of it, it would be nice to actually benchmark something like Unity (C#), Godot (GDScript), Godot (C#) and jMonkeyEngine (Java) in similar real world applications, to see how they fare, performance, resource usage and development speed wise.

  • intellij-community

    IntelliJ IDEA Community Edition & IntelliJ Platform

  • They changed the default garbage collector to G1 last year.[1]

    [1] https://github.com/JetBrains/intellij-community/commit/edf1c...

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • LWJGL

    LWJGL is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL, Vulkan, bgfx), audio (OpenAL, Opus), parallel computing (OpenCL, CUDA) and XR (OpenVR, LibOVR, OpenXR) applications.

  • For native binaries, we now have https://www.graalvm.org/reference-manual/native-image/, but it probably doesn't yet work nicely with game frameworks? Not sure.

    There are some engines, frameworks: https://jmonkeyengine.org/, https://litiengine.com/, https://libgdx.com/, https://www.lwjgl.org/.

    But I have no real experience with any of those.

  • Litiengine

    LITIENGINE 🕹 The pure 2D java game engine.

  • For native binaries, we now have https://www.graalvm.org/reference-manual/native-image/, but it probably doesn't yet work nicely with game frameworks? Not sure.

    There are some engines, frameworks: https://jmonkeyengine.org/, https://litiengine.com/, https://libgdx.com/, https://www.lwjgl.org/.

    But I have no real experience with any of those.

  • Codename One

    Cross-platform framework for building truly native mobile apps with Java or Kotlin. Write Once Run Anywhere support for iOS, Android, Desktop & Web.

  • You can on iOS, for example with Codename One or Gluon Mobile,

    https://www.codenameone.com

    https://gluonhq.com/products/mobile/

    They are also quite happy to sponsor possible console ports.

  • The-Forge

    The Forge Cross-Platform Rendering Framework PC Windows, Steamdeck (native), Ray Tracing, macOS / iOS, Android, XBOX, PS4, PS5, Switch, Quest 2

  • Great catch! The Wikipedia article for MonoGame lists Hades, but is evidently wrong. Hades used The Forge for graphics. Ctrl/Cmd-F "Hades" on the Github page has some info:

    https://github.com/ConfettiFX/The-Forge

    The Forge is graphics only; audio, input, etc., have to be handled by something else and Hades used a custom C++ engine apparently.

  • referencesource

    Source from the Microsoft .NET Reference Source that represent a subset of the .NET Framework

  • There was an article ages ago I read about the rewrite of C#'s Dictionary to the new generic one that went from being reliant on allocations in the older releases (C# 1.0 didn't have generics so iirc it behaved more like Java's) to using a generic struct array.

    Doing so cut down the number of memory allocations to _3 allocations_ from something like _2 * N allocations_ (N being the number of elements in the map).

    The improvement in performance was apparently staggering when it came to lessening the GC pressure. (Sadly I couldn't find it with a quick google).

    https://github.com/microsoft/referencesource/blob/master/msc...

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • PhysicsExamples2D

    Examples of various Unity 2D Physics components and features.

  • > As Java is generally the fastest GC'd language, what's the current state of Java gamedev?

    In my eyes, there are no truly viable options out there, mostly due to a lack of approachable GUI game development software or toolkits out there.

    For example, compare the one option that comes close, jMonkeyEngine (https://jmonkeyengine.org/) to the likes of Unreal (https://www.unrealengine.com/en-US/) and Unity (https://unity.com/), or even Godot (https://godotengine.org/).

    Sure, many out there enjoy developing games in a code first approach, or even writing their own engines (e.g. Randy, whose videos are pretty interesting and comedic: https://www.youtube.com/c/RandytheSequel/videos or https://www.youtube.com/c/RandallThomas/videos), but i'd argue that the success of an engine largely depends on the popularity that it gains, which is largely influenced by how easily approachable it is.

    Java game development doesn't have such a tool or set of tools, even the activity on jMonkeyEngine's GitHub (https://github.com/jMonkeyEngine) is really low, compared to that of Godot (https://github.com/GodotEngine), even if the technologies themselves could be used to similar degrees of success in many situations.

    Come to think of it, it would be nice to actually benchmark something like Unity (C#), Godot (GDScript), Godot (C#) and jMonkeyEngine (Java) in similar real world applications, to see how they fare, performance, resource usage and development speed wise.

  • Godot

    Godot Engine – Multi-platform 2D and 3D game engine

  • > As Java is generally the fastest GC'd language, what's the current state of Java gamedev?

    In my eyes, there are no truly viable options out there, mostly due to a lack of approachable GUI game development software or toolkits out there.

    For example, compare the one option that comes close, jMonkeyEngine (https://jmonkeyengine.org/) to the likes of Unreal (https://www.unrealengine.com/en-US/) and Unity (https://unity.com/), or even Godot (https://godotengine.org/).

    Sure, many out there enjoy developing games in a code first approach, or even writing their own engines (e.g. Randy, whose videos are pretty interesting and comedic: https://www.youtube.com/c/RandytheSequel/videos or https://www.youtube.com/c/RandallThomas/videos), but i'd argue that the success of an engine largely depends on the popularity that it gains, which is largely influenced by how easily approachable it is.

    Java game development doesn't have such a tool or set of tools, even the activity on jMonkeyEngine's GitHub (https://github.com/jMonkeyEngine) is really low, compared to that of Godot (https://github.com/GodotEngine), even if the technologies themselves could be used to similar degrees of success in many situations.

    Come to think of it, it would be nice to actually benchmark something like Unity (C#), Godot (GDScript), Godot (C#) and jMonkeyEngine (Java) in similar real world applications, to see how they fare, performance, resource usage and development speed wise.

  • zgc

    The Z Garbage Collector https://wiki.openjdk.org/display/zgc

  • Probably once ZGC gets the generation support (https://github.com/openjdk/zgc/tree/zgc_generational) which will reduce the memory footprint.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Garnet - A simple Java / LWJGL based framework for games.

    4 projects | /r/javagamedev | 2 Jul 2023
  • Insert witty harvesting joke here

    2 projects | /r/ludumdare | 11 Jan 2023
  • Is there anything like PICO-8 for Java?

    4 projects | /r/pico8 | 22 Sep 2022
  • How feasible is to create simple games without using SpriteKit

    1 project | /r/spritekit | 15 Feb 2022
  • i want to make an 2d game.

    3 projects | /r/rust | 8 Feb 2022