netwhack
The main netwhack site has been moved to: https://www.netwhack.ca.
If you visit the site above, you can play online.
NetWhack is a game with a long history. I decided to rewrite NetHack in C++ while I was in college. The NetHack dev team wasn’t interested in an official port, so I set off on my own. By the early 2000’s I had decided to write it in Java so that it would work on multiple devices. There were some technical issues and I tried various game engines, and I could never get it 100%. From 2011 to 2017 there was next to zero progress. Finally in 2017 I decided to put the project down and focus on other things.
2019
During the COVID-19 era, in an effort to teach my son programming, I revived the NetWhack project and started on the JavaScript terminal technical demos. Progress was slow; I was teaching programming privately and in highschool so I did not have time to work on this. However, the foundation was laid via the “PyGame Terminal” program I came up with while teaching. That enabled the basic idea behind jttd 1 to 3.
- https://www.helloneo.ca/jnw/archive/jttd1 — Technical demo 1 (Look and Feel)
- https://www.helloneo.ca/jnw/archive/jttd2 — Technical demo 2 (Terminal Emulator, String Input)
- https://www.helloneo.ca/jnw/archive/jttd3 — Technical demo 2 (Terminal Emulator, advanced version)
For more information please see the wiki article on the VC-1 project.
2023
This eventually morphed into a full-blown virtual computer which I called VC-2. You can see that here: VC-2 project.
2024
The VC-2 impressed me so much I did a total rewrite in WASM, the VC-3. This became the start of the SD-8516 project.
No wait, it gets better. I then rewrote NetWhack in assembly language for this platform. You can play it online, right now: Rogueima
Here’s the tutorial I wrote on how I did it: Writing Games in Assembly Language.
2026
In 2026 after fully developing the SD-8516 in to a 600mips in the browser fantasy computer, I realized KMP (Kotlin Multiplatform) had become mature enough to bring the original NetWhack source to the web. In fact, some projects even just took the NetHack source code and put it online.
The absurdity of it all, I had to laugh. I don’t consider the last ten years wasted work. I consider it a learning experience. And now, I have this amazing toy to play with, the SD-8516 — that frankly, is an insane accomplishment in and of itself. But now with Kotlin/KMP I’ve finally been able to do what I wanted after so many years. I will always love the SD-8516 and it will always have it’s use, but the NetWhack the codebase is already very mature and written in Java, so KMP it is. I do invite you to check out the SD-8516 project! And, in the end, I am very thankful I decided not to simply copy NetHack but give my roguelike it’s own unique identity.
Published @ November 16, 2023 7:24 am