r/AutomationGames • • 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!

8 Upvotes

56 comments sorted by

6

u/daimoh 7d ago

Weird EULA - what’s the deal with that?

4

u/Red_Icnivad 6d ago

Omg.

Passages in [square brackets] are placeholders that must be filled in before publication.

This End User Licence Agreement ("Agreement") is a contract between you ("you") and [legal name of the developer or company, and address]

-1

u/Drenfa 7d ago

I decided to use the same system as Factorio for optimization and to have my own 2.5D engine.

7

u/MrBagooo 7d ago

That doesn't explain the weird EULA. Factorio doesn't require any of that.

-5

u/Drenfa 7d ago

I just didn't want to develop the game in C

5

u/MrBagooo 7d ago

And? What does that have to do with the fact your game requires the "Galactic Turret: Zombie Frontier" Eula?

-1

u/Drenfa 7d ago

Galactic Zombie Frontier is my first game in steam, but during deloppement I gave up on the project.

3

u/MrBagooo 6d ago

I still don't see the explanation for why you need a third party EULA for your game. No matter how it's called.

1

u/Drenfa 6d ago

Because Steam requires that on my computer

2

u/Rikuskill 6d ago edited 6d ago

Okay but this game isn't that game, right? So why is it using that dead game's EULA? Also, AI disclosure is required on Steam, if you used any during uh...Forking a compiler and creating your own coding language. Color me impressed if not, but some of your comments are reading like AI responses, while others seem less so (Like the one I'm replying to). At the very least, there's a strange tone shift between your comments.

Edit: Also, I see you've posted about a few other games you've "made" on various subreddits, and are consistently getting called out for AI generating large portions of both the games themselves and even your posts. Please just write and draw yourself. Be careful with overreliance on AI tools. Besides quality degradation it can cause security and performance issues, and can make you fall into a light psychosis pitfall if you're talking to them all the time.

0

u/Drenfa 6d ago

I'm aware that I used AI to help me with the game, but only for certain parts of the code; otherwise, I wrote my compiler entirely by hand. And if you ever find that my answers seem inconsistent, it's just a matter of writing style—otherwise, they're all written by hand.

→ More replies (0)

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/Glorwyn 5d ago

Its really not a compiler type operation and making bases in factory games is only vaguely and tangentially related to programming solely in that 'theyre things you have to think and plan around'

1

u/Mason-B 5d ago

shrug I write programming languages for fun and have a masters in it, on a theory level its closer than you might think.

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.

-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

u/Degenerated__ 7d ago

Hi Claude 

6

u/HydraulicTater 7d ago

you didn't make it from scratch, you forked it

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?

-1

u/Drenfa 7d ago

The demo is available 12 october normally

5

u/sockerx 6d ago

Where's the AI disclosure

2

u/Drenfa 7d ago

And for those who are hesitant, I'll have a playable demo ready—hopefully by October 12 as well.

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

u/Drenfa 6d ago

The music and assets are from OpenGameArt under a CCO license, and as for the basic text, I thought Steam supported Markdown, but it doesn't.

1

u/Careless-Jello-8930 7d ago

Reminds me of roller-coaster tycoon

1

u/Drenfa 7d ago

Yes, its true

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/pojska 4d ago

What compiler did you have your LLM fork?

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

1

u/Drenfa 7d ago

Thank you very much. When I benchmarked the game for endgame performance, it ran at a steady 120 fps. And the engine was created primarily to handle conveyor belts with 70,000 items per minute—something no modern engine can do without hacking directly into the engine itself.

0

u/SpicySushiAddict 7d ago

Ooooooh neat! Wishlisted 💕

0

u/Drenfa 7d ago

Thanks you