Hello,
I would like to reach out to the AoC/AoFE community with an idea I've been toying with for the past few months. I'm a professional software developer and in my free time I've developed a library that converts all AoK/AoC assets to common formats - png, wavs, mp3s, txts, etc. Just for fun. Yeah I'm strange like that.
Next, I've started writing a terrain renderer based on information at aok heaven. The terrain renderer needs work - it just does terrain, no props, and elevations aren't working - but the basic algorithm is there.
In the meantime I've finished university and started working full-time, so this project has pretty much stalled. It's currently hosted here: https://launchpad.net/neogenie
I've recently discovered AoFE and that many of the ideas I had for this remake have already been implemented through various hacks to AoC's executable. That said, I believe there would still be tremendous value in a true open-source rewrite. There are things that would prove almost impossible to change in AoC without access to the source code, for instance:
- Game could run natively on Mac, Linux, and more importantly Windows 7/8/+ without need for emulators or fixes
- Renderer changes: true alpha blending, zoom, arbitrary shader effects, support for OpenGL, DX11, etc.
- Pathfinding: better unit movement, avoiding villagers getting stuck, etc.
- AI could be written in any programming language and have full access to any information about the game state, not be limited to a set of hardcoded facts and actions.
- Replays could support scrolling back in time à la SC2
- Modern UI commands: attack-move, attack waypoints (AoC only has move waypoints I believe)
- Many things could be externalized.
- Modding would be much easier: all game assets are in common formats rather than obscure archives only certain editors can open.
- A new powerful editor could be written with full access to the game
... and basically anything you can think of.
The project would have some inevitable limitations however:
- Network incompatible with existing versions of AoK/C/FE - you can only play with other people running the open-source client. This is pretty much like any other version of the game.
- Incompatible with save games and replays of other versions of AoK/C/FE, for the same reasons.
- No support for scenarios. As far as I'm aware, the scenario format (.scx) is largely unknown, and even if it wasn't, it would be impossible to get scenarios to behave exactly the same in this project. I could always support my own scenario format, but this is rather pointless.
- Unit control would feel quite different from AoC. I don't know the exact algorithms used in AoC, so I would code my own (better ones ), but they wouldn't be the same. Players used to AoC's controls will find the adaptation perhaps difficult.
- Would take a lot of time to build.
Of course all of this is a tremendous amount of work and it's not because I have the data formats and a semi-working renderer that I'm anywhere near done with this. Rather, before I commit any more on this project, I would like to get input from the community. Is this something worth doing? I'm especially interested in AoFE's developers opinions. You know what you'd like to do but can't due to hardcoded limitations. An open-source AoC implementation means no such limitations. Do you think there's enough value to make this worth doing and what would you like to see in it?
The programming language is C# btw and if I get started again on this, I'll eventually be looking for talented contributors.
I would like to reach out to the AoC/AoFE community with an idea I've been toying with for the past few months. I'm a professional software developer and in my free time I've developed a library that converts all AoK/AoC assets to common formats - png, wavs, mp3s, txts, etc. Just for fun. Yeah I'm strange like that.
Next, I've started writing a terrain renderer based on information at aok heaven. The terrain renderer needs work - it just does terrain, no props, and elevations aren't working - but the basic algorithm is there.
In the meantime I've finished university and started working full-time, so this project has pretty much stalled. It's currently hosted here: https://launchpad.net/neogenie
I've recently discovered AoFE and that many of the ideas I had for this remake have already been implemented through various hacks to AoC's executable. That said, I believe there would still be tremendous value in a true open-source rewrite. There are things that would prove almost impossible to change in AoC without access to the source code, for instance:
- Game could run natively on Mac, Linux, and more importantly Windows 7/8/+ without need for emulators or fixes
- Renderer changes: true alpha blending, zoom, arbitrary shader effects, support for OpenGL, DX11, etc.
- Pathfinding: better unit movement, avoiding villagers getting stuck, etc.
- AI could be written in any programming language and have full access to any information about the game state, not be limited to a set of hardcoded facts and actions.
- Replays could support scrolling back in time à la SC2
- Modern UI commands: attack-move, attack waypoints (AoC only has move waypoints I believe)
- Many things could be externalized.
- Modding would be much easier: all game assets are in common formats rather than obscure archives only certain editors can open.
- A new powerful editor could be written with full access to the game
... and basically anything you can think of.
The project would have some inevitable limitations however:
- Network incompatible with existing versions of AoK/C/FE - you can only play with other people running the open-source client. This is pretty much like any other version of the game.
- Incompatible with save games and replays of other versions of AoK/C/FE, for the same reasons.
- No support for scenarios. As far as I'm aware, the scenario format (.scx) is largely unknown, and even if it wasn't, it would be impossible to get scenarios to behave exactly the same in this project. I could always support my own scenario format, but this is rather pointless.
- Unit control would feel quite different from AoC. I don't know the exact algorithms used in AoC, so I would code my own (better ones ), but they wouldn't be the same. Players used to AoC's controls will find the adaptation perhaps difficult.
- Would take a lot of time to build.
Of course all of this is a tremendous amount of work and it's not because I have the data formats and a semi-working renderer that I'm anywhere near done with this. Rather, before I commit any more on this project, I would like to get input from the community. Is this something worth doing? I'm especially interested in AoFE's developers opinions. You know what you'd like to do but can't due to hardcoded limitations. An open-source AoC implementation means no such limitations. Do you think there's enough value to make this worth doing and what would you like to see in it?
The programming language is C# btw and if I get started again on this, I'll eventually be looking for talented contributors.