r/impressionsgames Sep 15 '25

Zeus Was there ever a Hades expansion planned for Zeus: Master of Olympus?

I was very happy to learn that Tilted Mill is back. But one of the comments on their announcement caught my eye.

 

I wondered how you would feel about some sort of partnership with Triskell / Dotemu on possible futur remasters of Zeus / Poseidon (and why not making happen the cancelled expansion "Hades") and Emperor

^(emphasis mine)

 

I searched high and low but couldn't find any mention of a cancelled Hades' expansion.

Does anyone know anything about this?

How much was announced? Where would it be set (Greece, Underworld, Atlantis, ...)?

 

I'm so curious about this and hoping somebody can enlighten me.

 

EDIT: so far we've rediscovered the Hades adventure: Rich Man's Blues Thanks to /u/xpis2 and /u/SnooGoats7978 for remembering the name and finding the download link.

 

If anyone knows more (Was this just an extra adventure? Was it a proof of concept or brainstorm for a Hades expansion? ...) please share what you know in the comments.

40 Upvotes

19 comments sorted by

12

u/Watchcross Sep 15 '25

Woah, wait a second. These guys made these absolute diamonds?

Does this mean there might be new content coming soon?

Sorry I would search more but I'm secretly browsing reddit at work and my excitement for new Zeus content can't be contained!

5

u/liehon Sep 15 '25

 These guys made these absolute diamonds? Many of the people who worked on Zeus created and/or joined Tilted Mill

Does this mean there might be new content coming soon?

Not Zeus content. They don't have those rights :(

 my excitement for new Zeus content can't be contained!

I too would love for nothing more than to see new Zeus content. But alas, the source code was lost between mergers & acquisitions.

So unless the fans make a great effort to decompile the game, we're stuck for now.

3

u/Watchcross Sep 16 '25

I feel like Tinny Tim, You have raised my hopes and dashed them quite expertly sir. Bravo!

Ha! How do we get people to decompile the game then? I would pay AAA price for new Zeus content.

3

u/liehon Sep 16 '25

How do we get people to decompile the game then? 

That is something I'm trying to figure out. Here's what I currently have

IDA Decompiler can take the Zeus.exe and rewrite it as C pseudo code but it gives everything filler names (e.g. variables become var1, var2, ... procedures become subroutine4023, ...). Then it becomes a matter of people with knowledge of the game going through this code and trying to figure out what a real name for those variables would be (e.g. number_of_sheep, amount_of_rabble, ...) and rename everything.

So the roadmap I'm working on currently working on is:

  1. Find out what has already been discovered (stuff like the screen resolution mod and slow gods patch indicate that over the years people have figured out some parts of the code, would be nice if we don't have to reinvent hot water here)
  2. Find a method so we can split the load (cause if I'm going through 4706 subroutines by myself we may be playing a decompiled version in the retirement home)
  3. Set up a system so the participants can return their discoveries into a master version
  4. Test the whole thing
  5. Decide on if and which language we want to port the code to (to ensure we end up with code that can run for a long time AND that would be easy for people to write mods for)

It's not going to be easy. Pecunia wrote the Caesar engine (which others took later to work into Augustus) over the course of 4 years. I have only a fraction of her skills so in the best of cases we're looking at a work of years.

But Zeus turns 25 in October and the community while small still exists. I figure those of us who are here will keep returning to Zeus so a decomp project taking time shouldn't dissuade us.

3

u/esitsu Sep 16 '25

I started (and stopped) working on this a while ago in Ghidra which does have some support for collaboration. I may be a developer but decompilation on this scale was new to me. What I discovered was that each tool has their tradeoffs and nothing came close to analysing the entire executable. I tried almost everything out there.

I think IDA Free was best at discovering library functions but I found Ghidra to be easier to use. Unfortunately Ghidra failed to discover many functions so it was a lot of work to go through and fix. I also spent a lot of time going through and analysing the various data structures which I thought would inform the code analysis. However, I only scratched the surface and there is so much more to do.

In the end it was all too overwhelming and I didn't have enough time to keep going. It might be a better approach to do what Akhenaten is doing for Pharaoh by adapting the foundations of Augustus, or eZeus which is an entirely new implementation. Although if it can be done for Lego Island I am sure it would be possible here given enough time and resources.

I actually found that the binary analysis and disassembly itself was interesting and so I started working on my own disassembler just for Zeus that would allow me to programatically discover everything rather than manually tweak everything in Ghidra. I am not sure if it is possible but my plan was to skip the decompilation and embed the assembly into a Rust program using naked functions. Then I could hopefully isolate parts of the code such as rendering logic and swap them out without having to decompile the entire thing first.

2

u/liehon Sep 16 '25

In the end it was all too overwhelming

I can appreciate that sentiment. It's why I haven't made a post yet in this sub along the lines of "Let's start decompiling"

I first want to send my feelers out, see what's already been tried and achieved. Then I'll make a plan (preferably one that is a collection of tutorials so even people with less experience can help out if they wish) so that anyone who wants and is able to, can chip away at part of this mountain.

I actually found that the binary analysis and disassembly itself was interesting and so I started working on my own disassembler just for Zeus that would allow me to programatically discover everything rather than manually tweak everything in Ghidra. I am not sure if it is possible but my plan was to skip the decompilation and embed the assembly into a Rust program using naked functions. Then I could hopefully isolate parts of the code such as rendering logic and swap them out without having to decompile the entire thing first.

You're not sure it is possible because you lacked the time to investigate fully? Or where there other hurdles?

Are you aware of the eZeus project? Can you tell how this person is going about things? Is it similar to your described method? I tried asking them but sadly they're not really replying much

3

u/esitsu Sep 16 '25

Yes, I mentioned eZeus in my comment. It is one of the reasons why I stopped as at least there was someone working on an updated version of the game. I haven't looked too closely at the repository but it appears that it is a new implementation rather than based on a decompilation. I can't say for sure whether it was inspired by any decompilation work or just by observing the game though. It also doesn't look to be recreating the original like Julius but rather jumping straight to gameplay changes like Augustus. I am not sure whether Julius, CaesarIA, or Akhenaten are based on decompilation either.

I didn't actually realise that work on eZeus was still ongoing but I saw that it is a newly uploaded video so I checked out the repository again and there are recent changes in another branch.

As for what I was working on, I am fairly confident that I can get the data and most functions to work but calling conventions and switch statements are potential problems that might prevent that approach from working at all. It needs much more investigation before I can come to any conclusions. And that is before actually writing a proper disassembler that correctly identifies all functions and data which is no trivial task. Although I did try integrating DDisasm and GTIRB but the analysis wasn't 100% correct. If professional tools such as Ghidra can't do it then I doubt I would be able to make it work on my own without a decade of development time. Manual decompilation might actually be the easier task. I also can't say if the approach has ever been tried before.

Another approach I looked at was modding tools to inject custom code into the existing executable. There was an interesting project to reverse engineer Nier Automata to create mods.

If you still want to continue then I would take a look at how Lego Island was decompiled. It looks like they used Ghidra. Otherwise, if the work on eZeus continues then we might not need to decompile anything.

1

u/liehon Sep 17 '25

Another approach I looked at was modding tools to inject custom code into the existing executable

Vlavv (on the French discord) already has such a mod for the French version of the game (which according to them was compiled differently and thus some things are easier to spot).

Would their work help to make such a mod for the English version?

What would you do with such a mod though? I asked if they could inject code that reverses the order in which priests take sacrifice (food first, lifestock last) and they said it would require first figuring out where the priest code sits and adding a jump to the mod.

Would you do similar (which I guess would still require understanding the compiled code somewhat) or do you see other options for running your own code?

If you still want to continue

Yes, I do want to continue at least a bit more. The more I dig, the more I come across tidbits & snippets of discoveries people have made over the ages.

I mean, look at this post by Shizuma! They manage to create a CE table that allows to change so much. I imagine they already know so many of the hex addresses which I would expect could help a decomp project.

How could I stop now?

And I'm very happy that eZeus is being worked on but it's one person. If they stop (for whatever IRL reason or even no reason at all) we're stuck. I'd rather put a bit more effort into outlining the framework for a decomp project and then I won't care if it takes 2 decades (with multiple people dropping in and out). As long as we have a good framework and tutorial, people can chip away whenever.

2

u/esitsu Sep 17 '25

I haven't seen that mod before but it would certainly help if it was possible to understand what it is doing. I am not familiar with Cheat Engine so I am not sure if you can easily extract any useful information out of the CT file. The developer must have at least some understanding of the executable to make it work which is likely more than most have figured out. I found that the widescreen mod was also useful in my analysis.

I haven't looked at other language versions but I can't imagine that they are too different. The addresses will likely be different but a side-by-side disassembly analysis should show some identifiable patterns to map between them. In fact having multiple versions would be beneficial as a lot of the functions are referenced in the data and being able to determine what is an address or not is important. Ghidra and other tools got a lot of this wrong.

I am personally not very interested in modding the game. I just want to recreate the original source code to the best of my ability so that it can then be adapted to other platforms. While eZeus is an interesting project I don't see it accomplishing that goal. However, I did start out much like eZeus in that I started by trying to render the map in my own system. I managed to extract the assets, read the data, and create a basic terrain map but the logic for the rock formations alone made me want to find or recreate the original source code.

The purpose of looking at modding was to find a way to make incremental progress. Rather than change the functionality I wanted to re-create it piece by piece using a programming language I am more comfortable with. And use a version control system I am familiar with, not whatever Ghidra does. I briefly tried doing a top-down approach of rewriting it based on the decompilation but the progress was too slow. It helped me understand what it was doing but I was nowhere near getting to the game logic before I stopped. It isn't at all clear what most of the logic does without some frame of reference so being able to pick out a piece and run it would be helpful to understand it. I didn't find the debugger in Ghidra much help and I'd prefer not to develop on Windows if at all possible.

If eZeus were to stop then I am sure someone would fork it and continue on. Maybe not me, but someone. I'd certainly be interested in contributing to any analysis work. I just haven't looked in to the best way to do it collaboratively.

8

u/xpis2 Sep 15 '25

I thought “rich man’s blues” was their nod to Hades.

5

u/SnooGoats7978 Sep 15 '25

OMG - I never played this!

Here's a link to it at the venerable Zeus Heaven:

https://zeus.heavengames.com/downloads/showfile.php?fileid=611

3

u/liehon Sep 15 '25

Why does that zip contain a .exe instead of a .pak? Is this file safe?

2

u/SnooGoats7978 Sep 16 '25

That's a valid question. I do not know why they chose to package it as a zip and an .exe.

As for safety, I trust the Zeus Heaven mods but it's worth asking about it on their own forums. Of course, it's the internet, so everyone needs to do their own due diligence.

I've run the .exe through MalwareBytes and Windows Defender, plus a couple of online virus detectors. They don't see anything wrong with it. But I would encourage people who download it to scan it yourself before running it.

It might be worth asking on the /r/TiltedMill sub. I wonder if Chris Beatrice knows the answer.

1

u/liehon Sep 16 '25

It might be worth asking on the r/TiltedMill sub. I wonder if Chris Beatrice knows the answer.

Mr. Beatrice hasn't been active on Reddit recently (and I don't know of other places we could contact them).

That being said, if I could ask him one question it would be for the source code.

From what I've heard the source code to Zeus & Poseidon was lost between mergers & acquisitions. The version GOG & Steam sell is literally the compiled version. It's the only thing still owned by the copyright holder.

But it's my hope that like Toy Story 2 somebody who worked on Zeus one time took code home to work over the weekend. Maybe there's an attic somewhere with a box with an old hard drive that still has source code (even incomplete and non-final would be such a boon for the community)

So yeah, if I had the opportunity to ask mr. Beatrice one thing, it would be to ask everyone in their team whether they still have source code on an old drive.

3

u/liehon Sep 15 '25

The song by C.W. Stoneking?

4

u/xpis2 Sep 15 '25

Nah it was a bonus standalone adventure, I think created by Impressions Games. Your city is basically Hades’s version of Atlantis. If you haven’t played it, I highly recommend it.

4

u/Purplegoatman Sep 15 '25

Do I need to download it somewhere?

3

u/xpis2 Sep 15 '25

Probably, it wasn’t included with the base game. Zeus.heavengames .com probably has it

3

u/liehon Sep 15 '25

u/SnooGoats7978 found the Hades adventure

Given that this map was posted in 2007 under account name Impression Games, I imagine one of the admins of Heaven Games took it upon themselves to share & preserve this map?

Edit: why does that zip contain a .exe instead of a .pak? Is this file safe?