Hacker News

benstopics
Show HN: I spent 3 years reverse-engineering a 40 yo stock market sim from 1986 wallstreetraider.com

Hello my name is Ben Ward for the past 3 years I have been remastering the financial game Wall Street Raider created by Michael Jenkins originally on DOS in 1986.

It has been a rough journey but I finally see the light at the end of the tunnel. I just recently redid the website and thought maybe the full story of how this project came to be would interest you all. Thank you for reading.


JohnHammersley4 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! :)

teiferer5 hours ago

> This is such a well written story, [...] you should also get credit for how you've woven this narrative together, it's a lovely read.

Don't forget to give credit to the LLM too which wrote the story for him.

dmos629 minutes ago

Thankfully you came up with this pulitzer prize of a comment all on your own, didn't you?

benstopicsop5 hours ago

Sure, it's 2026 I used Claude to write a lot of it. But tell me this. Do you know which paragraphs I wrote?

markstosan hour ago

It has a particular style I’ve seen lately using more short confident sentences as professional writers do. But it lacks the professional writer’s sense of when to add an anecdote and when to leave out a detail. And it is this juxtaposition that gives it a distinctive LLM feel of being written in the style of a professional writer, yet something is off.

Eisenstein5 hours ago

Please don't feel the need to be defensive about this. People are reacting in a predictable way to a shift in how effort is perceived.

Where one formerly could use a certain way of writing as a heuristic for effort put into content they are spending time ingesting, now that heuristic is meaningless and a new one must replace it.

At this point some people have decided 'has markers of AI writing' is the heuristic to match 'no/low effort' on, and are trying to use shame in order to start a system of self-policing against it. Unfortunately that isn't going to work, because

1. the heuristic is flawed

2. most people are going to end up using AI tools for writing, since writing well is difficult

magic_hamster4 hours ago

I don't agree that it's flawed. There's so much to gain by writing your own words. It's something to practice and after a while, it's even fun to be able to express something the way you intended. Even today I do my own writeups and articles manually. I want the text to come from me, to show how I'd put it, even if I have a typo here and there. I feel like it's worth it to keep your own personality instead of having AI do it for you - or even edit for you. Even if you think your writing suck, it's still your voice and it's just more interesting for me to read an actual human being.

benstopicsop4 hours ago

I agree honestly. I just wanted to get the story out and share it and I'm swamped IRL. But I'm going to go back and clean it up when I get the chance. I do appreciate the constructive feedback from everyone and I will do better.

grey-area4 hours ago

It’d be an interesting exercise to just write it again yourself without referring to the LLM article then compare the two to see which bits of each are better. Yours would be shorter, but perhaps better and more honest?

Eisenstein4 hours ago

I don't use AI for my writing and I agree with you. I meant that it is bad heuristic because people often do put a lot of effort into posts with AI writing styles in them, so it is not accurate due to a large amount of false positives. If one performs a test that is wrong a significant percentage of the time then it will be eventually abandoned.

maptan hour ago

The heuristic isn't going away because we have limited time. Let's say you can clock AI in the first paragraph.

There are lots of places like Linkedin where people write slop articles saying basically nothing insightful, and AI allows them to write at Isaac Asimov or Brandon Sanderson type speeds. AI slop has no cost, so it will always outweigh insightful AI-assisted writing without careful curation. You will have read thousands of articles that begin in AI-evident formats that don't end in anything good.

That will always poison the well of somebody at the end of that first paragraph. They will consider the source, think "What are the odds this is more slop", and often click out.

People who I know don't speak English natively get a pass from me because no amount of effort in the short term is going to substitute for fluency, but everybody else... less so.

chrisjj3 hours ago

> Please don't feel the need to be defensive about this.

No, do. Really.

benstopicsop4 hours ago

I honestly get it. I wouldn't have made that comment but I get why it was made. It tells me I need to go back and put some more effort into it and clean it up. You know, in-between working 80 hours a week at the prompt factory and working on the actual game... Without Claude there would be no story to read. I pay Anthropic $200/mo and Claude is a robot. I don't think anyone shed a tear that I didn't put "coauthored by Claude" at the bottom.

sokka_h2otribean hour ago

It has nothing to do with missing "coauthored by Claude"

The problem is you're wasting other people's time, with long and low quality writing.

One of the points of writing your own words is to gather your own thoughts. The value of writing skills is to organize the delivery. But the first point is that they are your thoughts.

I think your replies are seriously missing the criticism.

skystarmen28 minutes ago

There's no reason to be so nasty. The fact that it's currently on the top 5 posts on HN means you're dead wrong, he's not wasting anyone's time.

TBH I found it one of the most interesting and engaging articles I've seen on HN in a long time. The writing itself is not great, but the story is great.

stavros4 hours ago

Can we stop with this? The world has changed, LLMs exist, people use them, and "omg LLMs" is a very tired trope now. If you didn't like the article, you can critique it, but "you used a tool I don't like" is just boring.

duskdozer3 hours ago

Why should I spend more time reading something than the person spent writing it? The fact is that generating large amounts of text without care or effort has become very easy, so it makes perfect sense to discard writing with LLM signatures.

grey-area3 hours ago

I and many others find it a useful warning. So I doubt people will stop noting it as part of a critique of things.

'You used a tool I don't like' is really missing the point.

'You generated text that is long and a bit boring and will probably include falsehoods.' is a more accurate description of why people pick up on this - the style is an indicator of using a tool that generates convincing garbage.

Marazan3 hours ago

I personally find LLM text exceptionally boring and tiresome to read. It is often incredibly voluminous and filed with trite phrasing that turns a one sentence idea into 3 paragraphs of pablum.

Yes, this has been inspired by a senior management figure in my company posting a clearly LLM assited 500 word slack message that could have been 2 lines.

rel_ican hour ago

What I want is for THIS to stop. "Listen, no one wants to hear about your moral issues, just stfu."

Don't give up so easily. Let the discomfort in and try & figure out why people keep saying "omg LLMs" until you can hear what they are actually saying.

benstopicsop4 days ago

Thank you sir and I'm glad you enjoyed the story! I hope it's successful but we will see.

sho_hn7 hours 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?

benstopicsop6 hours 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_hn6 hours ago

Totally fine, thanks for the answer.

grey-area7 hours 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?

msephton6 hours ago

Professionally typeset books. Designers have been typing it—and the other dashes—manually using modifiers+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.

grey-area5 hours ago

I’m not talking about the em-dash, which is not a great indicator IMO but the horrible overuse of binary oppositions with a kind of false surprise, e.g.:

The problem was not em-dashes — but binary opposition!

That sort of thing.

It is a much clearer marker of llm use than the em-dash. The sad thing is when searching for info on this the most convincing reply in search was generated by an LLM, which went on at length about why LLMs do this as some sort of consequence of their internal structure. I have absolutely no idea if that’s true — it really sounds a bit trite and exactly the kind of thing LLMs would confidently assert with no basis. I would want to hear from someone working in LLMs, but their blogs are probably all generated by an LLM nowadays. So this conundrum is a good example of a question where LLMs actively work against clear resolution.

This is in my view the most insidious damage word generators are inflicting on our culture — we can no longer assume most writing is honest or well-meaning because amoral LLMs fundamentally are not wired to make that distinction of true and untrue or right and wrong (unlike most humans) and many people will use and trust what they generate without question, polluting the online space and training data until everything is just a morass of half-known facts sprinkled with generated falsehoods that are repeated so often they seem true.

How do we check sources when the sources themselves were generated by LLMs?

Macuyiko3 hours ago

My personal feel (completely subjective) is that during RLHF humans are incredibly sensitive to this pattern, especially when talking about personal or emotional issues. Any reply in the form of "it's not you, it's them" is such a dopamine hit that the LLMs started applying it for everything else.

grey-area3 hours ago

An interesting topic for some postgraduate student's thesis perhaps!

msephton4 hours ago

Apologies! You have a point.

doctoboggan6 hours ago

I think it comes from the RLHF. If you haven't interacted with LLMs enough to get turned off by it, I think that kind of speech is seen as powerful and confident.

dxdm5 hours ago

RLHF = Right Left Hand Foot. It's a technique in Bavarian interpretative folk dance where you jump around, artfully hitting the soles of your feet with your hands in order to court women who are busy carrying unbelievable numbers of beer Steins into the mountains.

That's what came to mind when I saw the abbreviation. Then I looked it up:

Reinforcement Learning from Human Feedback.

rzzztan hour ago

"Rood Luck, Have Fun!" A rood is a unit of area that is equal to about one fifth of a football field.

selimthegriman hour ago

Um, isn't it also a synonym for the cross?

rzzzt14 minutes ago

Indeed. But the area conversion tool appeared first when I went looking for it.

alwa6 hours ago

I wonder this too. Is there so much of this style, or does it indicate some aspect of the LLMs’ sensemaking?

te74473 hours ago

Whatever it is that caused "It's not X, It's Y", it's more recent than LLMs as a whole.

As far as I remember, neither GPT3.5, GPT4, nor Claude Instant did it. I think Gemini was the first to really do it, and then out of nowhere, everybody was doing it.

Aloha5 hours ago

I'm only annoyed that I cant buy it right now!

DigiEggz8 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?

benstopicsop6 hours 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.

benstopicsop6 hours 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.

PaulRobinson5 hours ago

A technical question for you around the porting being a dead end:

I see from other replies that you now understand the code reasonably well and feel you can expand/extend it while keeping it in BASIC. However, I note you've also done project where you automatically ported Fortran to Lua - are you not interested in trying to do something similar for performance/maintainability reasons? Is there an advantage in keeping it in PowerBASIC?

I've wish listed the game, and look forward to playing it, it sounds like great fun - even the manual sounds like a good read.

benstopicsop4 hours ago

I did exactly that originally. But here is the reality. Michael only knows BASIC and he has felt the agency to continue patching and working on the code, adding features even, since it is still BASIC. When others tried to port it to C++ be felt like he had no agency and wasn't motivated to help. So while he's still motivated to work on it, it needs to stay in a language he can work with. And thanks for wishlisting!!!

mlrtimean hour ago

Great reasoning, can't argue with that. Let him continue to work on his creation while he can.

Is the whole thing going to be open sourced? I feel if enough people had access it could be ported to any language with today's tools and people.

Is it possible to write a black box regression test framework?

chewonbananas26 minutes ago

What a beautiful story. Thank you for sharing! As a mechanical engineer with barely any knowledge or inclination towards coding and/or finance you persuaded me to look into the game.

jhbadger4 hours ago

I think it is pretty unreasonable to call CP/M "primitive beyond belief". It was basically equivalent to MS-DOS in capability -- after all, MS-DOS was basically an unlicensed clone of CP/M for the 8086.

andylynch3 hours ago

It is said be way of comparison to modern platforms. Which seems pretty accurate.

whobre41 minutes ago

> after all, MS-DOS was basically an unlicensed clone of CP/M for the 8086.

Eh, not really. The file system was very different and these early operating systems were mostly a file system. The system calls were almost identical…

andrewstuart3 hours ago

Yes. Primitive behind belief.

There was a time in the world when most PC users could drive the C prompt.

oncallthrow3 hours ago

I suspect more computer users in total can use the terminal today than then

vessenes39 minutes ago

Ben, thanks for working on this! I instantly flashed back to the mid to late 80s when I saw the screenshots; I’m certain I played this game as a pre-teen. Just let us know how we can buy it.

deaux5 hours ago

You can tell that by the end of it you got tired and it's less manually edited and more straight from the LLM's mouth.

I don't really care in this case though, it's an awesome story and it doesn't detract too much. Congratulations!

benstopicsop4 hours ago

Good eye! I hope to go back and finish editing it. But it's better use of my time to work on the game itself. But hey, I did all the research at least which took me years so. I just wanted to share the story instead of listing bullet points. I have pretty bad ADHD so, I didn't wanted the article to be a rambling.

soci6 hours 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.

magic_hamster5 hours ago

It was never really reverse engineering as the source code was available to the developers (including Ben), and Michael even took the time to give meaningful names to variables, etc. I suppose the author meant to say it was hard to actually understand what's going on both in Power Basic and in the domain of knowledge because of the massive complexity of the game.

benstopicsop6 hours ago

That is almost entirely true and yes it's a click baity title, and it worked ha!

hamdounian hour ago

Ben, that was one of my favorite "internet" stories... What a beautiful generational link!

rustyhancock6 hours 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!

benstopicsop5 hours ago

I continue to advocate for the fact that Michael's code is not bad at all. There are some anti patterns in it for sure, what engineer hasn't fallen into those traps. The fact is Michael is an infinitely better programmer than many of the senior developers I've worked work in my career. I truly sing high praise to his software development capabilities, not just coding itself but building the product, delivering results, and getting it out the door, especially a simulator like this with no reference points, no formal training, no help? Sure it took him 40 years and it's in BASIC and uses gosub everywhere. But the damn thing works and for anyone who took the time to learn the language and structure as I did, you will see that it is actually very enjoyable codebase to work with.

rustyhancock21 minutes ago

The code is bad by virtue of it putting his wonderful game at risk because no one can port it.

This story is it's own litmus test. Your story is only as notable as bad as Michaels code is!

Don't get me wrong. It seems fantastic game and like others I'm most interested in playing the original DOS version.

But good programs, written by good programmers are not necessarily made with good code!

Aloha5 hours ago

the difference between gosub and if blocks calling a function is more academic than practical, you still have a main event loop sending your path of execution someplace based on something that happens.

I might not be a basic practitioner, but as someone who as written serious things in bash and powershell, I can see the allure.

tommica4 hours ago

Really cool article! The solution to wrap the engine in a modern UI was a good one. I would have fallen to the trap of trying to port the whole thing, like all the other companies did.

Out of curiosity, how are the things tested? Or is checking core-engine doing things right only up to the developer and their tribal knowledge?

benstopicsop4 hours ago

Manual smoke testing and touching the original code as little as possible, for now. I am working on an automated testing solution although it will require a lot of backend changes in order to do create fixtures.

masswerk8 hours 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.

vessenes41 minutes ago

Spacewar was ported to Plato from Control Data; I played a little, but I played a lottt of Avatar. There are a number of Plato games that probably have some older / early game developers. Out of curiosity I just looked up Avatar, Bruce Maggs coded it in ‘76 and went on to among other things be one of the Akamai founders. But he’s 20 years younger than Russell.

benstopicsop6 hours ago

I am definitely sharing this with Michael he will be happy to be pushed down in the dinosaur ranking!

masswerk3 hours ago

A few more candidates for the ranking: Peter Samson (of Expensive Planetarium fame, the background star simulation of Spacewar!, and known for his music on the PDP-1, also author of the TMRC Dictionary [0], still active with the CHM PDP-1 team) born in 1941, Ellen Kuhfeld (Minnesota Spacewar [1] for the CDC 3100 at the University of Minnesota, 1966-68) is also in her 80s.

[0] https://www.gricer.com/tmrc/dictionary1959.html

[1] https://masswerk.at/spacewar/kuhfeld/

msephton6 hours ago

The two developers mentioned/compared were for the games the op has ported.

blobbers7 hours ago

Spacewar.com was such a classic game. Why wasn't it an exe??

selcuka3 hours ago

> Why wasn't it an exe??

It was originally a PDP-1 game. If you are talking about the PC remake by B. Seiler, it was only 9KB. There is no need to bother with a relocation table if it's under 64KB.

arjie5 hours ago

Well that was a pretty cool story. Really enjoyed that it was sufficiently good for its time that so many people got into the field after enjoying playing it (or perhaps that it was enjoyable enough for so many destined for the field to use). And loved the bit where someone emails him and a few chats later off he sends the source code.

hexfran6 hours ago

This story is super interesting and I think can teach us some valuable lessons about refactoring and the price of truly understanding the domain in which the code operates. The accompanying article is also a pleasant reading with a nice bit of background, and I really liked the motivation behind "layering" on top instead of rewriting from scratch.

Thanks for bringing this story to HN!

benstopicsop5 hours ago

I referenced a LOT of articles and case studies on legacy rewrites and ports in that first year. It is definitely a challenge that even with LLM still exists and I am happy to add to the body of knowledge surrounding the subject.

dwedge5 hours ago

> The game he wanted to make required something that didn't exist yet: a personal computer.

> So Jenkins waited.

This part made me laugh out loud. It made me imagine Jenkins as a time traveller who had made a mistake and got stuck in the past, but knew that personal computers would be invented.

benstopicsop5 hours ago

Haha sometimes I think he is with the things he tells me.

dwedge5 hours ago

I admittedly only googled quickly but is there anywhere I can buy the original and the book still? I understand he had issues with the payment processor, and I can see free versions to download but I'd prefer to do it legitimately if possible

benstopicsop5 hours ago

Join Discord there is a channel dedicated to instructions on contacting him. He no longer sells the game except mailing him a check. A completely unrelated factoid... He LOVES $30 Amazon gift cards...

jjmarr4 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.

benstopicsop4 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.

msephton6 hours ago

This strikes me as a sort of Microprose aligned release. Do you have any publishers in mind?

DeathArrow8 hours ago

Please post here when you have a date!

saaaaaam4 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!

benstopicsop6 hours 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.

wewewedxfgdf8 hours ago

If you dropped the source code here you'd probably get a versiojn in each of the 5 major languages quick smart.

dionian8 hours 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

xvilkaan hour ago

It's easy to reverse engineer it for cheating purposes if there's a will. Being open source would help strengthening game strategies and logic even.

benstopicsop6 hours ago

A magician never reveals his secret...

doctoboggan8 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.

withinboredom7 hours 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.

benstopicsop6 hours 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.

seddonm12 hours ago

Hi Ben. I published an article about this problem this week (and did a talk at Rust Sydney).

What you need is differential, property testing. I’m sure it would work for you (you can skip the first half as you already have the source):

https://reorchestrate.com/posts/bringing-a-warhammer-to-a-kn...

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?

benstopicsop4 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.

nwellinghoff8 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!

benstopicsop6 hours ago

The feat was done before Claude Agent which is why it was so challenging. Although I admit I am a heavy user now circa the past two weeks. We shall not discuss my Claude Code experience lest I have another mental breakdown at work and my employer has to send me home again. Let me put it this way. I have set up Claude dangerously skip permissions with Agent Teams, Fast Mode, and our automated e2e test suite I designed where it can see screenshots of every step and browser and API console logs. It is entirely hands off software development. I have had to think long and hard about my identity as a software engineer. So forgive me if for my passion project I don't let Claude do everything, lest I remember the decades I spent reading those textbooks on my shelf, and the fear that I will forget it all.

replwoacause4 days ago

That’s awesome. What a clever approach!

qubex4 hours ago

Looks like I’m going to need a Windows 10 virtual machine on my Apple Silicon. Or maybe I’ll just buy my first Windows machine since 2001.

benstopicsop4 hours ago

qubex4 hours ago

Oh and… thank you so much for doing this. That game taught me more than you could ever imagine.

qubex4 hours ago

Much appreciated.

tedheath1237 hours 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.

benstopicsop6 hours 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!

iberator2 hours ago

wow, that was pain to read. I was expecting the technical side debugging, instead I get the article about literally nothing FULL of unverifiable claims and lore.

chrisjj2 hours ago

It is classic parrot slop.

thomassmith658 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?

benstopicsop5 hours ago

I understand the code now after working with it for so long. I even improved the options code to use Black-Scholes so I have a few tricks up my own sleeve. The reality is, now that I have mastered the codebase structure and BASIC... Why would I port it? I have plans on how to keep it in BASIC and make it cross platform e.g. web based.

thomassmith653 hours ago

I don't know the project, obviously, so any opinions I could add on porting wouldn't be so meaningful.

It's a lovely achievement you have pulled off, and Jenkins must be tickled.

MarcellusDrum5 hours ago

I read this in it's entirety. Not skimmed through it, but read every single word (took about 30 minutes)

You can imagine my disappointment when in the end, the code is still basically a mystery, and a wrapper around the core game was made.

Not because what you did is not hard or impressive, it's because, up until the line were you said you are going to use a wrapper, you made it seem like you're deciphering the code. That isn't really clickbait, because I had already clicked and spent 20 minutes reading. Being misled felt a bit bad, considering how beautifully the story is written.

Impressive work nonetheless.

benstopicsopan hour ago

The code is not a mystery anymore! I'm going to rewrite the article from the feedback I received here. Because I do understand the code now, but it still has been been rewritten even though I could now. This is so Micheal can still add his ideas to the game. Not because I can't work on the code myself, I can. I can code in BASIC now, Micheal can ONLY code in BASIC.

ErneX7 hours ago

This was a great thing to read this morning, kudos to both!

MagicMoonlight5 hours ago

If you could get an LLM to write the article, why not just get it to rewrite the code?

tuhgdetzhh4 hours ago

An Agent Team of Opus 4.6 should be able to reverse engineer the simulator in a day or two, instead of 3 years. But it wouldnt be so much fun I guess.

AlecSchueler4 hours ago

I'm not sure how feasible that would have been three years ago.

tommica4 hours ago

Good luck doing that without proper tests - I assume finance stuff is quite complicated and blanked porting with AI is insanely difficult, especially companies have failed in porting it by hand.

pgt3 hours ago

"fits of rationality" is a great line.

[deleted]5 hours agocollapsed

pillefitz9 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

thomassmith658 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.

benstopicsop6 hours ago

Functions yes, and actually PowerBasic does have OOP. Michael didn't use it but it's there.

No line numbers except for goto labels, but gosub is the challenge for transpilation.

flomo6 hours 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.)

benstopicsop6 hours ago

No line numbers but you can use numbers as goto labels. It uses Dynamic Dialog Tools which is a Win32 wrapper which most of my "job" is gutting out those calls, implementing Single Responsibility in functions and plugging in Electron UI. And trying not to break EVERYTHING...

flomo5 hours ago

Thanks for clarifying. Super smart approach to adopting legacy code to a modern interface.

Maybe I missed it, but are you still using the Powerbasic compiler or have you worked around that somehow?

benstopicsopan hour ago

Still using PB compiler. Tried to reach out to the company that bought the right to it and killed it because I wanted to extract the parser from it and make it target LLVM to be cross platform, but after a year of trying to contact them I gave up. I will have to build my own compiler at some point with Claude Code which won't be too difficult as WSR only uses a subset of PowerBasic so. When I first tried to build a compiler two years ago I didn't understand all the gotchas in PowerBasic as I do now. But right now I'm just focused on testing the game, fixing bugs, and getting it to Early Access so many I can get up to minimum wage in sales with the time I have invested in the project!

lelanthran7 hours 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.

benstopicsop6 hours ago

PowerBasic does have functions. Go there is thousands of goto and gosub which would need to be unraveled which there isn't really a 1:1 for gosub at least in say C++. Or EXIT IF... The bane of my existence...

benstopicsop6 hours ago

a) At the time it was impossible for me. I think I could actually do it now. But now that I can read the BASIC... what would be the point? If I wanted it cross platform, I will build a virtual machine. b) Claude Code has performed exceptionally well. I haven't tried the most recent Codex update. But I don't see the point in spending thousands of dollars on tokens to rewrite it when it works perfectly fine. It would be much cheaper to have Claude Agent build the virtual machine. That's just my opinion. If it ain't broke don't fix it I guess. I do want to bring it to mobile though, whether that's a phone app or responsive website.

thomassmith655 hours ago

Can the original code simulate the stock market as it operates today? The main reason I would want to convert the engine to a modern language is to make it easy enough to understand that I could add features.

benstopicsop5 hours ago

I think it will definitely need refactored in order to do an overhaul like that.

But the best way I can answer your question. WSR does not claim to simulate real markets. It probably leans too much into fundamentals for our time, at least for the blue chip stocks in the game. What is actually is is a M&A and tax evasion simulator on top of a financial market sandbox to create tax implications to be avoided.

thomassmith654 hours ago

I see. So no 'meme stock' and no 'Wacky POTUS' modules!

omega34 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

benstopicsop4 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...

chrisjj2 hours ago

> I'm not sure when the last time he updated Roninsoft website

Copyright © 2025 looks clear?

[deleted]9 hours agocollapsed

zahlman4 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?

benstopicsop3 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.

zahlman3 days ago

Ah, I understand now.

benstopicsop4 days ago

I'm sorry what is the question?

dwedge5 hours ago

I think they were nitpicking the term "reverse engineering" which is fair if the source is available

selcuka3 hours ago

The source was available, but with cryptic variable names and (apparently) no or little comments:

> Ward mentioned that the biggest bottleneck was the cryptic variable names—short abbreviations that were common in old-school programming but made the code nearly impossible to follow.

> "He not only commented everything," Ward marveled, "he went through every single line of code and renamed every single variable for me in about three days.

I think it's still fair to use the term "reverse engineering".

Aditya_Garg7 hours 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.

benstopicsop6 hours 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!

logdahl4 hours ago

Super cool stuff! I love the idea of games being refurbished to the point that it can be kept, almost source original, and still played years down the line. For example, I love Another World for this, being just a bytecode blob where each port is just a VM (good writeup: https://fabiensanglard.net/another_world_polygons/index.html).

ozozozd2 days 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!

bhy7 hours ago

The game itself could be a good benchmark for AI agents.

msephton8 hours ago

Fantastic. Well done! For both the new game and the website article.

praptak3 hours ago

How does the deal with the original author work with regard to the ownership of the copyright?

I mean, the article means passing the torch but how exactly is this assured in case the author dies and the estate holders don't release the copyright?

nacozarina4 days ago

AI can’t do impossible things yet, but we still can.

benstopicsop4 days ago

You're damn right we can.

cameron_b4 days ago

Cheers for this!

Thank you for sharing your story.

benstopicsop4 days ago

You're welcome!

Computer06 hours ago

I have been eagerly waiting for this project's release since I first heard about it, thanks for the update!

benstopicsop6 hours 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!

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!

benstopicsop2 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

dionian8 hours ago

Love it and fascinated to play the game.

NomDePluman hour ago

[dead]

MUSTANG3038 hours ago

[dead]

blobbers7 hours ago

I feel like this is the sort of thing AI could do in 10 minutes. Did you try?

dwedge5 hours ago

For the longest time I've had this feeling in the back of my head that most of the AI hype is from people who were bad at the job to begin with so they can't recognise limitations. This comment is a perfect example

grey-area7 hours ago

Please do go ahead and report back to us in 10 minutes.

We’ll wait.

egorfine5 hours ago

They spent so much time and effort to port this game to... Windows only?...

hn-front (c) 2024 voximity
source