OpenMoonstone is a open source reimplementation of
Moonstone: A Hard Day's Knight following along the lines of projects like OpenTTD and OpenXcom. You can try it out
https://github.com/joetsoi/OpenMoonstone
This release is a milestone as it contains the same number of features as the original demo that came out on the Amiga.
Why reimplement an old game?
Fixing bugs
|
Original |
|
OpenMoonstone v0.2 |
Enemies always face the player in Moonstone, in the original this meant that for the AI controlled knights, the distance the knight would move was out of sync with the animation causing a "jumpy" animation.
Adding New Features
I've added the ability for four players to fight at once. The amiga only had two controller ports so was restricted to two players, as a child I always wanted a three way battle with my brothers and adding additional entities in an
ECS is easy once it's all set up.
As a side project
It's hard to stay motivated when working on a side project, but this has a few advantages
- Predefined scope (it's done when it matches original).
- No need to create any art assets
- Fueled by nostalgia.
- A good way to try out a new programming language (Rust in this case).
But it has some distinct disadvantages
- Reverse engineering 16bit x86 is time consuming. (Avoid doing this if you can)
This is the probably the furthest I've ever got with a side project, in the future it would be nice to add modding or other features but not for a while.