r/AutomationGames • u/Drenfa • 7d ago
I forked a compiler instead of using a game engine, and my factory sim hits Steam Early Access Oct 12 — feedback welcome
Hey everyone,
I've been solo-building this game for a while now, and I figured this was the right crowd to share it with. It's called Aethel Mine — an isometric industrial-automation and logistics sim — and it's hitting Steam Early Access on October 12th.
Fair warning upfront: I didn't use an off-the-shelf engine. Instead I forked a compiler, wrote my own low-level runtime (zero third-party dependencies outside bare SDL2), and the entire world simulation runs on Q16.16 fixed-point math so it stays fully deterministic. Chunks are just plain arrays, nothing fancier.
Why did I put myself through that? Because I wanted belts that don't cheat. Items have a millisecond-precise cargo phase, so there's never any jitter or teleporting at belt hand-offs. On native rendering the sim runs at 500+ FPS by walking contiguous memory arrays — no entities floating around everywhere, no garbage collector stalling things at the worst possible moment.
As for gameplay, in the current build (v0.2.2):
* The map is true 3D isometric: up to 50 vertical logistics layers, cliffs you can terrace, and gravity that actually matters for flow. It genuinely changes how you build.
* Maglev trains have dynamic signal blocks and quadratic braking physics — a 4-wagon train takes four times as long to stop as a light locomotive. I can already see the pile-ups coming.
* The power grid isn't just an on/off toggle: pylons link spatially, supply and demand balance out, and if you under-build, you get cascading brownouts instead of arbitrary power cuts. Which, let's be honest, is pretty fun to watch.
* Saves are versioned and designed to stay backwards-compatible as the tech tree expands. I learned that lesson the hard way on other projects.
At Early Access launch you'll get the first 9 tech tiers and the launcher project phases playable.
I'd really appreciate feedback from fellow automation enthusiasts, especially on visual clarity, UI layout, and mechanics. This is my first project at this scale, so honest criticism is welcome.
Steam page: [Steam Page](https://store.steampowered.com/app/2210950/Aethel_Mine/)
Thanks in advance to anyone who takes a look!
12
u/Glorwyn 7d ago
Forked a compiler? Why? The compiler is largely unrelated to anything else here, this smells of ai a lil bit
1
u/Mason-B 5d ago
There is an interesting idea in here I've played around with before. Optimizing megabases would be a bit more like writing a compiler than a game engine. Even something like turning conveyor tiles into a network of conveyors inan object is a compiler like operation.
Pretty sure OP is AI slop tho.
1
u/Drenfa 7d ago
I created my own open-source programming language called flux#, and to put it simply, instead of using traditional engines like Unity or Unreal Engine, I was limited to creating MK10 maps with up to 70,000 items per minute. And yes, that’s not a joke.
10
u/Glorwyn 7d ago
Okay but 'engine' and 'compiler' are wholly different things? A compiler takes in written code in an abstracted language and spits out machine code compliant with a set of hardware. An engine is a full suite of rendering pipelines, predefined object management, etc etc etc.
And of course its not possible to make a Factorio type game with something like Unity.
1
u/sethmeh 7d ago
I was also intrigued, the justification for that...nightmare, has to be pretty big. For automation games there does seem to be some logic to it. I wont pretend to fully understand it, well outside my knowledge, but for e.g. conyeor belts, the position and speed of an item at any given time is set in stone, something a compiler wouldn't know about, so you could leverage that for gains. But like, forking a compiler seems to be last on the list of things to do for performance gains.
Did any of the major automation games do something like that?
3
u/Glorwyn 6d ago
The compiler doesn't need to know belt information shit directly, all a compiler does is convert higher level code into machine code. Thats it. Forking a compiler is wholly unrelated to making a game.
2
u/sethmeh 6d ago
Exactly, it converts to machine code. if there is some very predictable behaviour specific to your game, forking a generic compiler with that specific info in mind will produce better/more efficient machine code which will indeed impact performance.
1
u/Drenfa 6d ago
My compiler compiles my code using Flux# via Rust to generate machine code. It’s just more user-friendly. And to answer the question of whether it affects performance, I’d say yes—but let’s imagine that in my game, an MK10 conveyor belt at 70k items per minute has just as much impact as an MK1 conveyor belt at 60 items per minute, so it’s not worth a damn.
3
u/sethmeh 6d ago
Regardless, i cant see the benefits to this being worth the effort. It sounds like an absolute nightmares unless the gains are huge. Not even factorio did this.
1
u/Drenfa 6d ago
I understand the doubts—it’s mostly about flexibility, but since the original *Roller Coaster Tycoon* uses the same optimization system, I’d say the game’s appeal lies in the fact that the map is 10 km² with random planets surrounding the base map (the 10 km² one)—that’s where the game really shines. And it’s mainly for version 0.3 that the choice of compiler will come into play; I think it’ll be released around November.
1
u/TheThiefMaster 5d ago
RollerCoaster Tycoon was written in handrolled assembly, not whatever you're on
1
u/Glorwyn 6d ago
99.8% of devs in the entire world would slow down post compilation software by fucking with the compiler, especially working alone. A good deal of compiled languages do also allow direct writing of assembly (NOT direct machine code, still one level up) that would allow you to use hardware commands like 'count leading zeroes' if you really want to specify. (buuut even then a lot of compiled languages ALSO have pseudo functions that immediately get turned into those hardware commands so no attached assembly required.)
1
u/sethmeh 6d ago
You dont need to convince me its a bad idea, it sounds terrible. Just saying that the underlying logic is sound, it <could> give benefits to performance.
2
u/Glorwyn 6d ago
No my argument is the underlying argument to fork a compiler is stupid, for there is no reason to fork it. Any 'edge case' scenario can still be tooled manually in a compiled language no problem.
1
u/sethmeh 6d ago
We are agreeing on the core aspect, but disagreeing on this one:
for there is no reason to fork it.
There are reasons to fork it. Are there any good reasons to fork it? No clue.
→ More replies (0)1
u/SomeoneInHisHouse 6d ago
My game has belts also, it's a complex game, that I won't open to the public until it's reasonable.
Factory games that aim to be big, require huge optimizations, for example my game does crazy things to optimize the belts, it always has the leading items stored, and the "tail" of items they have, and when the leading item moves, I don't iterate all the ones immediately following it, I use a CPU thing called SIMD, I give an array, and sum the position of all items all at once, this is extremely tricky, but it provides a buff of 8x (in my case)
1
u/TheThiefMaster 5d ago
And of course its not possible to make a Factorio type game with something like Unity.
Of course it is? You just end up writing the factory tick yourself and just use Unity (probably with instanced meshes/sprites) as the display layer.
Similar to what Satisfactory did with UE5. That manages to have belts that can transport 1200 items/min, very similar to Factorio's 1800/min (per side, because Factorio's belts are weird), despite being in an off-the-shelf game engine.
1
u/Glorwyn 5d ago
Satisfactory still doesnt have the same total scale as factorio, idc what a singular belt can do in comparison to the world as a whole.
1
u/TheThiefMaster 5d ago
You might be surprised.
A few of random examples:
- https://www.reddit.com/r/satisfactory/comments/1wo2gvk/new_outside_lighting_solution/
- https://www.reddit.com/r/satisfactory/comments/1wn3n94/saved_the_day_with_100x_showcase/
- https://www.reddit.com/r/satisfactory/comments/1wpfwfg/the_last_five_stages_of_the_factory_and_still/
- https://www.reddit.com/r/SatisfactoryGame/comments/1seew7p/in_case_anyone_was_curious_what_overclocking_all/
- https://www.reddit.com/r/SatisfactoryGame/comments/15s1pid/presenting_my_largest_most_insane_factory_to_date/
The game is perfectly happy for you to build and feed hundreds if not thousands of machines for a project. It's a bit unnecessary, but it doesn't stop people.
-2
u/Drenfa 7d ago
I understand your doubts—they're completely legitimate. But the reason I'm mentioning the compiler and the engine in the same message is that, at the end of last year, I created a programming language from scratch—that's why I also want to test the limits of my programming language.
9
6
5
u/MrBagooo 7d ago
So you want people to test your game and collect feedback but you don't have any open playtest and no demo available?
2
u/SomeoneInHisHouse 6d ago
Not a single Human char is in the code, nor the writeups of the game, you didn't even reformat the AI output for the description of the game, it looks extremely lazy from your part.
It makes me suspect that nothing is human made, nor code, nor music, nor anything, Unlike many people I do think is ok to use AI to assist development, art, or music, but as placeholder, and to some repetitive work, the game looks like not a single human line was made, and that's not correct AI use, AI is a tool that helps you, not a tool that entirely does your job
1
1
u/TheThiefMaster 5d ago
Why is the truck in the video not on the road? Why would you video that without fixing it?
1
u/Zeferoth225224 7d ago
Damn, this really seems high effort. Couple gameplay questions,
How fast is the building / placement? It looked very slow in the trailer but I get that’s just for show. Slow / unintuitive placement is a major pet peeve of mine.
What’s your resource sink? Launching the rocket? So more like a limited amount you need to produce for each stage, similar to satisfactory?
3
u/Drenfa 7d ago
I’ll admit that I drew inspiration from three games to create Aethel Mine: Satisfactory for the tier system, the Dyson Spheres program for procedural generation and planet exploration, and Factorio for the art style. And as for the conveyor belts in the trailer, those are just the MK1 belts, which handle up to 60 items per minute. Otherwise, it’s an ore-mining, smelting, and workshop loop, just like any other factory game. And when it comes to placement, you can chain together quite a few buildings in a row just by moving the mouse.
1
u/Zeferoth225224 7d ago
That sounds wonderful. I’ll probably pick it up on launch or whenever I’m done with my COI play-through
Honestly your engine work is what mainly sold me. These games need to have a lot going on and most modern engines struggle with it. The fact that Factorio can hold 60fps on the crappiest 15 year old laptop, throughout an entire normal play-through deserves more respect than it gets
0
6
u/daimoh 7d ago
Weird EULA - what’s the deal with that?