Discovering Donkey-Me (see:
https://donkeykongforum.net/index.php?topic=857.0) was very inspirational, as it proved a clone/remake of the DK engine could be written and then extended to produce an enjoyable experience. After finding this project, I reached out to the author asking questions about whether or not it would ever be open-sourced or updated. I never got a response. As a result of that, over the past week I've taken on a new project which I've dubbed DKCore.
DKCore is my personal attempt to completely rewrite the Donkey Kong arcade engine in a modern multi-platform language: in this case JavaScript. During my day job, I serve as a full-stack web applications developer, so it seems like a natural fit. Also, with recent software advances such as the advent of the Node.js framework and node-webkit, it's possible to now port JavaScript web applications as multi-platform desktop applications complete with OS-level APIs. While my experience with js is vast, my experience with game programming itself is a bit limited. Due to this contextual issue, I'm using Construct 2 to aid with rapid development.
Regardless of how far this project goes, whether it succeeds or dies, I know full well I won't be able to emulate the quirkiness of the arcade engine with a 100% level of accuracy -- however I'm hoping to at least reach 99%. I am using pixel-by-pixel comparisons between MAME and my own algorithms to do this.
I already have Jumpman's movement mechanics emulated to near arcade-pure accuracy. Normal jumps, straight jumps, and even back jumps (which Donkey-Me fails to include) all work. Ladder mechanics work in a nearly arcade-pure fashion as well. I also have barrel scoring working, regardless of jump type or barrel location/orientation.
This project is completely open source with the latest code commit always on GitHub. This means even if I discontinue at some point, another person can pick it right up. The DKCore repo can be found here:
https://github.com/wescopeland/DKCore/The end goal is to have a fully-functioning template to create DK-like games. I have a bad habit of dropping projects shortly after picking them up, so this devlog is one way I can keep myself motivated.