Stream: platform development

Topic: Hytale modding


view this post on Zulip Matthew Martelle (Jan 23 2026 at 01:48):

The new game Hytale (Many are calling it Minecraft 2) has already sold well over 1 million copies since the early access release on Jan 13th.

Their post on modding mentions that they are rejecting any text based scripting languages like Lua, and are supporting .jar files for mods. They mention Java and C# specifically for creating the .jar files.

How hard would it be to make a Roc platform that outputs .jar files? My experience with the JVM is minimal.

A Roc Hytale Mod Platform could be huge!

The post about mod support: https://hytale.com/news/2025/11/hytale-modding-strategy-and-status

view this post on Zulip Luke Boswell (Jan 23 2026 at 01:58):

Option A via WASM. Java has WASM runners I assume... so probably somewhere between easy and doable.

Option B LLVM. I dont know much about the JVM, can you compile LLVM to it? apparently no is the answer

view this post on Zulip Luke Boswell (Jan 23 2026 at 02:34):

Ideally they would support Roc mods though... then it's much more efficient handling data instead of passing things through various layers. I guess it depends a lot on how they have modeled the abstraction. Do you get a handle and queue up operations on that -- that might fit nicely with a Roc platform.

view this post on Zulip Luke Boswell (Jan 23 2026 at 02:37):

I guess all the answers are in https://hytalemodding.dev/en/docs/guides/ecs/entity-component-system

view this post on Zulip Dan G Knutson (Jan 23 2026 at 02:44):

I'm guessing the jar file restriction also means that they'd disallow native dependencies in the jar. If they did allow native dependencies, you might be able to daisy-chain to some arbitrary roc platform with native ffi.
Assuming it's restricted, running Roc in a jar at all might be a struggle.

view this post on Zulip Dan G Knutson (Jan 23 2026 at 02:45):

This bullet point makes me assume that there's some kind of sandboxed JVM going on:

view this post on Zulip Dan G Knutson (Jan 23 2026 at 02:51):

This later bit in the visual scripting section makes it sound more like the JVM you get is less restricted, though:

Java plugins will continue to exist and are extremely powerful - but they require programming skills and come with safety concerns.

view this post on Zulip Dan G Knutson (Jan 23 2026 at 02:53):

If it's a situation where you can wire up some native program to your java program as long as the server owner is willing to let you, then getting a custom Roc platform for this would be totally doable, just effort.

view this post on Zulip Luke Boswell (Jan 23 2026 at 02:54):

I think there is some R&D here around how to build a nice API that works with an ECS or an object oriented system like that

view this post on Zulip Luke Boswell (Jan 23 2026 at 02:55):

I am personally more excited about the potential for building pure Roc API's for gamedev

view this post on Zulip Luke Boswell (Jan 23 2026 at 02:55):

With our semantics we can provide some pretty awesome features out of the box

view this post on Zulip Luke Boswell (Jan 23 2026 at 02:58):

Here is a very rough design doc I've been thinking about for roc-ray https://gist.github.com/lukewilliamboswell/0350761f3f42800e3b7430b24f786720

Just exploring possible ideas that Roc enables

view this post on Zulip Dan G Knutson (Jan 23 2026 at 02:59):

modding-wise, WASM might still be a better option just on the 'convincing devs/server owners to let you' grounds. Like, choosing to sandbox yourself instead of just promising to be good.

view this post on Zulip Luke Boswell (Jan 23 2026 at 03:00):

Yeah for Hytale... you could use a WASM "shim" thing to show how awesome Roc mods could be... and then at some point in the future the hytale devs could (in theory) rip out all the WASM and JVM intermediate parts and the Roc mods wouldn't need to change.

view this post on Zulip Dan G Knutson (Jan 23 2026 at 03:02):

I'd guess that HyTale is using Java partially to tap into their own and others' Minecraft modding experience. It's not a normal game dev language outside of that ecosystem.

view this post on Zulip Rick Hull (Jan 23 2026 at 03:07):

I have some interest in gamedev; I have a rather sophisticated Ballistics database, suitable for something like Tarkov, that I want to attach to ballistics-rs (potentially) as the ballistics engine, though any particular game would have its own engine. I also have a driving_physics lib, for which I was starting need an ECS system to progress further in terms of "components subject to physics". But this is all library stuff, maybe with CLI demos, in Ruby. I dabbled with trying to render in DragonRuby, but paused for various reasons. I think ECS is a very viable framework for scaling physics operations across tons of entities and components, but I never actually used ECS in anger, yet.

view this post on Zulip Luke Boswell (Jan 23 2026 at 03:12):

@Rick Hull I think you're going to love roc-ray then... :smiley:

view this post on Zulip Luke Boswell (Jan 23 2026 at 03:13):

I keep getting distracted.. but the goal is to basically provide a thin API wrapping the raylib library which is written in C and very efficient. With LLVM and optimized Roc I think we should be able to achieve excellent performance.

view this post on Zulip Luke Boswell (Jan 23 2026 at 03:14):

We might need to iterate on the design a little, and there's a trade-off there with ergonomics... but all things we can explore with data soon

view this post on Zulip Rick Hull (Jan 23 2026 at 03:14):

yes, quite possibly! but it's a little out of my wheelhouse for now :cook:

view this post on Zulip Rick Hull (Jan 23 2026 at 03:27):

separately, I am interested in how far Roc can push machine code performance. without being a C / build / systems guy, gcc always seemed a little gross, and the LLVM / clang world seemed nicer. I came up on GNU/Linux but the BSD world has some good hygiene. I heard Richard mention SIMD, and I know that gets complicated quick. But I've always lived in a Ruby/Elixir/Python world, scripts-on-runtimes, where the perf optimization starts with a language change. ;)

view this post on Zulip Matthew Martelle (Jan 23 2026 at 11:16):

Rick Hull said:

I think ECS is a very viable framework for scaling physics operations across tons of entities and components, but I never actually used ECS in anger, yet.

Avian seems to be coming along nicely, if you'd like to explore an ECS physics system. https://github.com/avianphysics/avian

view this post on Zulip lozzy (Jan 23 2026 at 12:12):

There is https://github.com/cretz/asmble but I haven't used it.
You could compile roc to wasm and use asmble to turn it into JVM bytecode.

view this post on Zulip lozzy (Jan 23 2026 at 12:41):

Also in https://hytalemodding.dev/en/docs/established-information/developer-qa-insights they list "Full Java Access: Database connections, web requests, any Java functionality" under Modding Capabilities. If that means that using the JNI is possible one could probably build a native roc object and link to it in the plugin? The ergonomics would be questionable though :unsure:

view this post on Zulip Dan G Knutson (Jan 23 2026 at 18:26):

Yeah, it sounds like their server-side is itself in Java, so using non-java for mods might just be shooting yourself in the foot in general, given they're offering the most direct ergonomic thing.


Last updated: Feb 20 2026 at 12:27 UTC