rustyhancock8 minutes ago
I'm sure there is truth in original author saying tax code complexity as the core challenge. But that's not what makes this hard. That's domain complexity we all come up against it's accidental complexity that killed the ports.

The real problem is idiosyncratic and esoteric coding practices from a single self-taught accountant working in a language that didn't encourage good structure.

I can translate well-written code without understanding what it does functionally, so long as I understand what it's doing mechanically.

The original author seems to build in the assumption you're not going to translate my code you'll need to rewrite it from the the tax code!

JohnHammersley3 days ago
This is such a well written story, and congratulations Ben, it sounds like it's been a lot of hard but ultimately successful work!

I know you'll deservedly get a lot of credit for all your work in remastering the game, but you should also get credit for how you've woven this narrative together, it's a lovely read. Thank you for taking the time to write it up, and good luck with the Steam release, and whatever project you take on next! :)

benstopics3 days ago
Thank you sir and I'm glad you enjoyed the story! I hope it's successful but we will see.
sho_hn1 hour ago
I really enjoyed this article as well!

I'm still curious, however:

> That's not a marketing angle—it's a headline that writes itself.

Any ChatGPT assistance there?

benstopics32 minutes ago
Claude actually! Yeah the content editing was heavily LLM assisted as I'm a terrible writer and I wanted the read to be enjoyable. So I compiled all the research and worked with Claude to build the article. I then attempted to go through with a fine tooth comb and write it in my own words. That is one particular sentence I missed with a highly recognizable LLM pattern which I will fix. I simply also don't have time to really market the game, I care more about the quality of the software. I know if the software is great then it will be successful. But I wanted to share the story in a compelling way. Apologies if it was distracting!
sho_hn27 minutes ago
Totally fine, thanks for the answer.
grey-area42 minutes ago
I wonder why LLMs do this so persistently (the ‘it’s not this it’s that’)? Is there really so much of this style of writing out there?
msephton1 minute ago
Professionally typeset books. Designers have been typing it—and the other dashes—manually using Option+Shift+hyphen on Mac since 1984. You can type them—plus the bullet character—today on iOS by doing a long press on the hyphen key.
alwa16 minutes ago
I wonder this too. Is there so much of this style, or does it indicate some aspect of the LLMs’ sensemaking?
DigiEggz2 hours ago
Congrats on such an achievement. The remake looks great, but those DOS screenshots have an undeniable charm. With such a large scale game, something I always find interesting is uncovering what types of quirks and bugs bubble underneath the surface in the original version. Did you come across anything obvious in your testing?
benstopics12 minutes ago
The reason I discovered options prices were wrong is because for fun I created an In-The-Money visualization graph for when you're doing advanced options spreads and I noticed that the graph was asymetrical and profitability and loss made no sense. So with the help of Claude we debugged the code and came up with a pricing strategy that was closer to Black-Scholes. And it really is because it takes into account industry volatility and such it was a fun side quest and Michael is happy with the result which I am very proud of! It really makes me confident that one day, long live the king but, he is in his 80s. Decades from now I will be able to survive on my own, I hope.
benstopics16 minutes ago
Options pricing was not correct, which MJ knew because he simply based it on lookup table using ratios of a spread on a random security in his brokerage account decades ago! I tried to implement Black-Scholes best I could, my one contribution to the engine thus far. MJ has patched several things such as runaway interest rates and commodity prices, too-easy crypto price movements. Typos here and there. Certain edge cases that only a highly skilled player would ever come across, which due to the Discord server brought those players out of the woodwork to battle harden the game and a place for them to report the things they always knew but never had the motivation to report. But for the most part the engine is pretty damn solid.
soci30 minutes ago
Reading between the lines, the game logic itself hasn’t been reverse engineered yet, so adding, changing, or fixing logic still means working with the original code that only Michael Jenkins understands to this day. In any case: massive props to Ben. This feels like a strong foundation, and I’m excited to see him continue evolving the game.
benstopics7 minutes ago
That is almost entirely true and yes it's a click baity title, and it worked ha!
tedheath12350 minutes ago
I loved this game. As soon as I saw the title I knew it would be Wall Street Raider. I play it via dosbox and for me the UI is part of the charm. I’d be interested in tinkering with the pricing simulation but from the article it seems like that’s almost impossible.
benstopics20 minutes ago
Not impossible but a lot of work. But with Custom Data API and Set Game State API you can do a lot of what you may wish you could do from modding the frontend. Not ideal but it goes from impossible to a possible!
ErneX47 minutes ago
This was a great thing to read this morning, kudos to both!
doctoboggan2 hours ago
Really interesting, thanks for sharing!

I know it almost sounds crass, but you should consider letting an LLM take a crack at transpiling the code. Source to source translations are one of the most widely agreed upon strengths of LLMs.

withinboredom49 minutes ago
I can tell you from reading the code in the 90s, no LLM will save you. It’s well written, but it’s not structured like modern programs. IIRC he invented his own trampoline system using goto that will leave you scratching your head for days, just trying to figure out how it works. An LLM might be able to guess, but it def isn’t going to one-shot it and that means you will need to be able to understand it as well.
benstopics25 minutes ago
I do think it is possible with the advent of Claude Agent to transpile the code. First I would refactor the trampoline system to be functional and unit test everything. Then I would use those tests to validate the transpilation. It's something that I would consider doing for a Wall Street Raider 2 to overhaul the engine and deliver massive improvements to the engine itself. I do want to do this to a certain extent to implement automated e2e testing. But I don't mind BASIC at all, prefer it actually, I just want automated testing set up. But a lot of this is beyond the scope of my goals for Early Access release.
jjmarr3 days ago
Good job! When can I buy it?

I am sold on the game and wishlisted it but lack of release date saddens me.

I love spreadsheet games like Terra Invicta/Paradox/Simutrans and this seems like a terrific example of one.

benstopics3 days ago
If I can't get a response from a publisher here soon, I will be setting an Early Access release date of 1-2 months from now to give me some time to build up more wishlists before I pull the trigger.
DeathArrow1 hour ago
Please post here when you have a date!
saaaaaam3 days ago
This is very well written. I have fairly low interest in video games and rarely read gaming content, but read this all the way through. That’s an achievement in itself!
benstopics5 minutes ago
I figured the engineering crowd here would enjoy the technical journey and I am so grateful it got to front page so that I may talk about the technical side which I enjoy doing. I am not a hermit by nature and posting on HN really was a cry for someone to ask me a question about the backend. So I really appreciate all the technical questions gives me an opportunity to get into the weeds a bit.
masswerk1 hour ago
Regarding "The Second Oldest Game Developer", there are also the authors of "Spacewar!": Steve Russell was born in 1937, meaning, he's either 89 or will be 89 this year. Dan Edwards must be around that age, as well.
benstopics4 minutes ago
I am definitely sharing this with Michael he will be happy to be pushed down in the dinosaur ranking!
blobbers50 minutes ago
Spacewar.com was such a classic game. Why wasn't it an exe??
wewewedxfgdf2 hours ago
If you dropped the source code here you'd probably get a versiojn in each of the 5 major languages quick smart.
dionian1 hour ago
i guess if it was public you could cheat or understand it. its incomprehnsibilty is just like the real markets - you can never know why or how
benstopics2 minutes ago
A magician never reveals his secret...
Aditya_Garg47 minutes ago
Amazing read! Is it possible to do something like this but for wall street raider?

https://labs.ramp.com/rct

"claude code plays wall street raider" would be very very cool.

benstopics21 minutes ago
I would love to do this. I do plan to code a PowerBasic virtual machine in order to make the game cross platform which would allow for a future with Wall Street Raider Online because my true dream? I want to play it on my phone!
omega33 days ago
The Wall Street Raider is under active development, you’re releasing a clone under the same name?

https://www.roninsoft.com/wsraider.htm

benstopics3 days ago
I am working with Michael to remaster it. He transferred the domain name to me and I just redid the website. I'm not sure when the last time he updated Roninsoft website, but he has "retired" from working on WSR, although has been a huge help with the remaster. https://www.roninsoft.com/#:~:text=!!!%20Check%20out%20WallS...
thomassmith652 hours ago
This is a wonderful project, and the post is a wonderful read!

Are there any plans to break out portions of the Basic engine to a modern language? It's frustrating that the heart of the game remains inscrutable. Surely Ward is tempted?

bhy1 hour ago
The game itself could be a good benchmark for AI agents.
Computer022 minutes ago
I have been eagerly waiting for this project's release since I first heard about it, thanks for the update!
benstopics1 minute ago
Sorry I am slow! I do it on the side so. Bear with me. I try to market and post updates when I can. Even this onslaught of comments from hitting frontpage is overwhelming but I am trying to be gratious and respond to everyone!
pillefitz3 hours ago
This is amazing! Having no knowledge of Basic, a.) what makes the rewrite "impossible"? b.) how do coding agents perform on the codebase? It might make for a neat benchmark similar to ARC
lelanthran1 hour ago
The BASIC from that time was pretty limited, IIRC.

No real functions, only `gosub` and `goto` so everything is a global variable.

I think even assembler for x86 is easier to unravel.

thomassmith652 hours ago
I gather the version of Basic is not Object-Oriented.

So the program most likely is flat: a bunch of global variables (and possibly memory addresses), and instructions ordered by line number, rather than functions or methods.

flomo9 minutes ago
Apparently PowerBasic was the successor to Borland TurboBasic and complied to a native executable. So this wasn't an interpreted 'line number' Basic like our kiddie computers. It also probably had the Borland Windows GUI stuff.

(However it wouldn't surprise me if older 'line number' programs still mostly worked. iirc VB6 also supported this.)

replwoacause4 days ago
I enjoyed the read. How did you tap into the legacy Power Basic engine? Was there a FFI or some kind of bridge you could hook into? And what languages were you using?
benstopics3 days ago
I built an FFI via event dispatching and shared memory pointers/matching structs. Imported the C++ UI layer as a DLL via Win32 LoadLibrary. The PB shares a big array for storing global pointers allowing them to read/write each other's memory. The C++ has an event queue and has DLL functions the PB can call to peek/pop the next event. It actually isn't that complicated, just took me forever to come up with the idea.

As for languages, PB, C++, and JavaScript (Electron/Preact). I chose a no-build UI framework so that it could be modded by players without installing any build tools, just edit the text files in the game folder, and it has been a very good decision.

nwellinghoff2 hours ago
Indeed very clever. I wonder if you framed this problem up with claude how it would “guide” you to solve this problem. Would be an interesting match up of ai vs human. Love the story!
replwoacause3 days ago
That’s awesome. What a clever approach!
msephton2 hours ago
Fantastic. Well done! For both the new game and the website article.
zahlman3 days ago
... You got the source code, and it was 115 kloc of BASIC, but several other individuals and organizations failed to "reverse-engineer" it?
benstopics3 days ago
Others attempted to build from scratch or port it without the original developer's involvement. I worked directly with Michael and built a bridge layer into his existing codebase rather than rewriting it.
zahlman2 days ago
Ah, I understand now.
benstopics3 days ago
I'm sorry what is the question?
ozozozd1 day ago
Awesome story! Well-written also.

You are the engineer we all aspired to be. Though, you really are the chosen one.

Wish you the best!

nacozarina3 days ago
AI can’t do impossible things yet, but we still can.
benstopics3 days ago
You're damn right we can.
cameron_b4 days ago
Cheers for this!

Thank you for sharing your story.

benstopics3 days ago
You're welcome!
dionian2 hours ago
Love it and fascinated to play the game.
sevenseacat3 days ago
oh this is an absolutely fascinating story!
sevenseacat2 days ago
I forgot to ask, do you have links to any of the Reddit threads? They’d be a fun read!
benstopics2 days ago
That is a really good idea. I totally forgot to include the link in that part of the story. I will definitely be making that change! Well, here is the one I think you are referring to: https://www.reddit.com/r/tycoon/s/bzjG709MLB
blobbers51 minutes ago
I feel like this is the sort of thing AI could do in 10 minutes. Did you try?
grey-area45 minutes ago
Please do go ahead and report back to us in 10 minutes.

We’ll wait.