Show HN: I spent 3 years reverse-engineering a 40 yo stock market sim from 1986 (wallstreetraider.com)
669 points by benstopics 5 days ago
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.
benstopics 6 hours ago
Sorry for LLM flavor in the article. It's valid criticism and I will rewrite it when I get the chance. I just wanted to share the story and I didn't have time to write it completely from scratch, plus I'm not that great of a writer. I thought filtering my thoughts through LLM editor would eliminate the distraction of my poor writing abilities, which for most people I think it worked. For others, it created another distraction, ragebait in fact, which was not my iuntention. So between working 80 hours a week at the prompt factory and raising two kids I will find some time to de-ragebaitify the article, although it seems to have unintentionally propelled it to the front page, for which I am admittedly thankful for.
stavros 2 hours ago
I'm sorry that the focus on whether this article was written by an LLM or not, rather than the fact that you spent years on a labor of love. It's an excellent effort and I don't care whether the article about it was written by an LLM or not, I enjoyed it.
walletdrainer 6 hours ago
If this comment wasn’t from an LLM, you write well enough to not need one butchering your text.
brynnbee 6 hours ago
I'm sensitive to detecting LLM writing and it wasn't distracting at all reading this. It read well! Awesome work.
w8vY7ER 6 hours ago
I agree with this completely.
sushidev 2 hours ago
I would say you shouldn't apologize, that's what ai tools are for, to help us humans. Instead of rewriting manually, try a specialized for writing tool such as bookswriter.xyz or sudowrite
fallinditch 5 hours ago
There certainly are arenas where LLM writing provokes adverse reactions, and in general I think people are becoming less tolerant of it.
Personally, I often find the smell of AI annoying, but I don't mind the way you used it in this article, and after all, there are some good use cases for AI writing.
I assume it will become easier and commonplace to configure LLMs to produce 'de-ragebatified' writing styles.
Pretty soon I reckon we'll be so inundated with AI content in all media that it simply won't be possible or rational to be offended by it, it will just become our new reality, our new world.
nerdsniper 3 hours ago
It's definitely a time/energy vs quality tradeoff. You say you're not that great of a writer, and I'll give you the benefit of the doubt on that. But I can tell that your natural narration style is much higher quality and more enjoyable to read than what an LLM can generate (even if it's trying to copy your personal style).
It's a tough tradeoff for me both as a consumer and as a do-er. I am very sensitive to LLM-isms. Like many other millennials, (even if perhaps not quite most) I grew up online from a young age when text was the only viable communication medium, so I learned to notice incredibly small nuances of how someone writes and use those nuances to infer/personify the narrator. LLM's not only stick out like a sore thumb, their language actually "jams up" my 'text-personifier' neurological circuits. It's like my brain is saying "WTF? Why can't I synthesize any reasonable model of the person who wrote this?" the entire time, even if I know it's AI. That's frustrating, exhausting, and alienating.
So yeah, as I said: It's a tough tradeoff for me both as a consumer and as a do-er. I'm glad you used an LLM to do the write-up so that it shows up here and I can enjoy the work you did. I often use LLM's to write documentation at my startup for both my own reference and for my cofounders. I don't like it, but it's better than not doing it, and sometimes it's better to spend that time on other things, especially when the thing I'm documenting is subject to change very shortly.
I think the sweet spot, for me, is this:
If you're going to write it with an LLM, do so unapologetically. Put a disclaimer at the top. Understand that what you are delivering to your audience is not the LLM output, but whatever output was generated from your own input (work, vision, ingenuity, perseverance). Keep the LLM generated content concise, sharing only the necessary narrative and information to give consumers the context they need to understand whatever the actual work product is. The less slop I have to struggle through, the better - LLM's are absolutely awful at narration. And then make it easy to explore your actual work product!
I'm not sure my strategy might cause posts to never reach the front-page. I hope that our audiences can understand that this might be the best compromise and come to accept it in some cases. I will continue to point out when HN posts show strong signs of being LLM generated (as judged by my own tuned sense of nuance, empathy, and theory of mind...not whether they use em-dashes) but the intent isn't to tell people "this isn't worth reading". The intent of disclosing LLM generation is to inform people that the best way to consume the content is to switch to their personal "I'm reading LLM generated content"-mode and experience it through that lens.
Interestingly, my startup seems to have taken a somewhat similar strategy with vibe-coding. We're all aware that vibe-generated codebases are objectively worse, harder to read, and harder to maintain than our best hand-written code. It tends to fail on dumb edge cases and just doesn't have the "vision" that hand-written code would, because it glosses over decisions that we'd have paused and thought about for awhile before adjusting our vision and proceeding. But doing the initial proof-of-concept or prototype with LLM's greatly speeds up the period of exploration where we go "We're pretty sure there's a good a way to do this, and we're pretty sure we know what that way is, but there's a few unknowns that need to be proven". With hand-coding, those "unknowns" can take a long time to work through. With vibe-coding, we can try several different strategies, learn about the reality of implementing those strategies, and then go back and hand-write something more maintainable from scratch once we're pretty sure we've landed on the approach that we judge will be "stable". The timeline/priority for converting vibe-code to hand-code depends on how long we expect that code to last, how central it is to the system, and how important it is for humans to be able to debug, maintain, and interface with it.
JohnHammersley 4 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! :)
benstopics 4 days ago
Thank you sir and I'm glad you enjoyed the story! I hope it's successful but we will see.
sho_hn 15 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?
benstopics 14 hours ago
grey-area 14 hours ago
Aloha 13 hours ago
I'm only annoyed that I cant buy it right now!
teiferer 13 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.
SeanDav 7 hours ago
I.Don't.Care.
I enjoyed the narrative. It was true. Who cares if it was written by a ghost writer, an AI or anything else.
oscaracso 6 hours ago
benstopics 13 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?
rgovostes 7 hours ago
markstos 9 hours ago
Eisenstein 12 hours ago
duskdozer 7 hours ago
dmos62 8 hours ago
Thankfully you came up with this pulitzer prize of a comment all on your own, didn't you?
stavros 12 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.
duskdozer 11 hours ago
duskdozer 7 hours ago
Cruncharoo 7 hours ago
Marazan 11 hours ago
grey-area 11 hours ago
elektronika 7 hours ago
rel_ic 9 hours ago
dwroberts 6 hours ago
This was an interesting story, but implying this is some unique insight irked me a little - perhaps because it is LLM-flavoured text that hypes it too much, and makes it sound like some kind of major breakthrough? Keeping the original game as-is, underneath a modern port 'layer', is a pretty popular and common way to update things, you can see it being done in a bunch of modern remasters.
ryanjshaw 5 hours ago
As a dude with an enterprise development background it was my first thought. Rewrites are almost never the answer.
DigiEggz 16 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?
benstopics 14 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.
davedx 6 hours ago
But wait... That's a real phenomenon in markets, called volatility skew!
Volatility Skew: An uneven curve indicating directional bias. Commonly, equity markets show negative skew (higher implied volatility for OTM puts), signaling concerns about downside risks.
Options pricing is a real rabbit hole.
https://www.luxalgo.com/blog/volatility-smile-vs-skew-key-di...
michaelcampbell 3 hours ago
The market price IS the correct price. As is often said, "all models are wrong, but some are useful", including B-S.
benstopics 14 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.
pillefitz 4 hours ago
Sounds like MJ pioneered not only financial simulators, but also vibe coding
w8vY7ER 6 hours ago
This is my favorite thing I’ve read on Hacker News, ever. Congratulations Ben and Michael, I’m so glad you both had the tenacity to make this happen. Well done.
jhbadger 11 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.
zozbot234 7 hours ago
> It was basically equivalent to MS-DOS in capability
MS-DOS 2.0 was a huge improvement, the first release didn't even support subdirectories or hard drives.
loloquwowndueo 7 hours ago
Ms-dos was primitive beyond belief. Barely more than a program loader.
andylynch 11 hours ago
It is said be way of comparison to modern platforms. Which seems pretty accurate.
whobre 8 hours 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…
andrewstuart 11 hours ago
Yes. Primitive behind belief.
There was a time in the world when most PC users could drive the C prompt.
oncallthrow 11 hours ago
I suspect more computer users in total can use the terminal today than then
xp84 3 hours ago
michaelcampbell 3 hours ago
benstopics 4 hours ago
As the saying goes, strike while the iron is hot. Wall Street Raider will be released to Early Acces on March 12, 2026. https://store.steampowered.com/news/app/3525620/view/5951738...
deaux 12 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!
benstopics 12 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.
mkjs 4 hours ago
The vast, vast majority of people are never going to play the game. For most of us this write up is the closest we will ever get to the work you've done. Under that lens, the writeup is strangely more important than the work.
ultrattronic 3 hours ago
PaulRobinson 13 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.
benstopics 12 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!!!
mlrtime 9 hours 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?
Nextgrid 8 hours ago
xp84 3 hours ago
Tenuous relevance, but a different stock market game written in BASIC on the Apple II (well, I only had access to the Franklin Ace clone) was my initial motivation at age 10 or so to try programming. It was a pretty thrilling amount of power to a 10-year-old to be able to rename all the companies after my friends or whatever jokes I wanted, and next to alter the rules to get more money. It’s a good thing BASIC was everywhere in the 80s — so many books and computer manuals had enough information that it was easy to find a source to learn the (no pun intended) basics.
soci 14 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_hamster 13 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.
benstopics 14 hours ago
That is almost entirely true and yes it's a click baity title, and it worked ha!
csense 6 hours ago
You should either bundle the DOS version with the game, or release it separately somewhere. If you broke the DOS frontend and don't want to get it working again, maybe release the last working DOS version?
Consider releasing on GOG. This game is great nostalgia bait, and if you release the DOS version, the GOG staff are quite experienced at building modern, cross-OS installers for DOS games and tuning DOSBox.
FWIW I never played this particular game but around the turn of the millenium I put probably over 100 hours in Trevor Chan's Capitalism games [1].
masswerk 15 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.
vessenes 8 hours 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.
benstopics 14 hours ago
I am definitely sharing this with Michael he will be happy to be pushed down in the dinosaur ranking!
masswerk 11 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.
msephton 13 hours ago
The two developers mentioned/compared were for the games the op has ported.
blobbers 14 hours ago
Spacewar.com was such a classic game. Why wasn't it an exe??
selcuka 11 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.
linsomniac 3 hours ago
My "learn options trading" environment, I realized after reading this, really needs a news feed to get a feel for what is happening in the virtual world of the test trading, so I added one today. Still very much playing around with it, the alpha is at https://trading.linsomnaic.com/
leke 4 hours ago
So what kind of source code can be so difficult to understand?
I've always wanted to get my hands on the Championship Manager 92/93 source code to see what gave it its "soul". What made that version so special.
chewonbananas 8 hours 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.
dwedge 13 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
benstopics 13 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...
aio2 3 hours ago
Hi. I would love to join the server, but unfortunately, the Discord link doesn't work for me.
rustyhancock 14 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!
benstopics 13 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.
Aloha 13 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.
rustyhancock 8 hours 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!
tommica 12 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?
benstopics 12 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.
hexfran 13 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!
benstopics 13 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.
arjie 13 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.
jjmarr 5 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.
benstopics 5 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.
msephton 14 hours ago
This strikes me as a sort of Microprose aligned release. Do you have any publishers in mind?
DeathArrow 15 hours ago
Please post here when you have a date!
YZF 3 hours ago
Such fun for you and the author! I've never played the original game but now I wanna!
saaaaaam 4 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!
benstopics 14 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.
saaaaaam 3 hours ago
To be able to write this well and this engagingly is a real talent. And it worked - I sent this to three friends who I always gently mock for playing games that are, effectively, spreadsheets. Two of them said it looks exactly like the sort of thing they will enjoy!
dwedge 13 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.
benstopics 13 hours ago
Haha sometimes I think he is with the things he tells me.
wewewedxfgdf 16 hours ago
If you dropped the source code here you'd probably get a versiojn in each of the 5 major languages quick smart.
dionian 16 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
xvilka 9 hours 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.
benstopics 14 hours ago
A magician never reveals his secret...
replwoacause 5 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?
benstopics 5 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.
nwellinghoff 16 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!
benstopics 13 hours ago
replwoacause 4 days ago
That’s awesome. What a clever approach!
hamdouni 9 hours ago
Ben, that was one of my favorite "internet" stories... What a beautiful generational link!
doctoboggan 16 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.
withinboredom 14 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.
benstopics 14 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.
seddonm1 10 hours ago
qubex 12 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.
benstopics 12 hours ago
qubex 12 hours ago
Oh and… thank you so much for doing this. That game taught me more than you could ever imagine.
qubex 12 hours ago
Much appreciated.
vessenes 8 hours 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.
techsocialism 2 hours ago
3 life years well spent. ggg
tedheath123 14 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.
benstopics 14 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!
yieldcrv 2 hours ago
I haven't heard the lore on this one, why is there interest in this?
thomassmith65 16 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?
benstopics 13 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.
thomassmith65 11 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.
omega3 4 days ago
The Wall Street Raider is under active development, you’re releasing a clone under the same name?
benstopics 4 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...
chrisjj 10 hours ago
> I'm not sure when the last time he updated Roninsoft website
Copyright © 2025 looks clear?
ErneX 14 hours ago
This was a great thing to read this morning, kudos to both!
pillefitz 17 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
thomassmith65 16 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.
benstopics 13 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.
flomo 14 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.)
benstopics 13 hours ago
lelanthran 15 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.
benstopics 14 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...
benstopics 14 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.
thomassmith65 13 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.
benstopics 13 hours ago
MarcellusDrum 12 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.
benstopics 9 hours 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.
MagicMoonlight 12 hours ago
If you could get an LLM to write the article, why not just get it to rewrite the code?
tuhgdetzhh 12 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.
AlecSchueler 12 hours ago
I'm not sure how feasible that would have been three years ago.
tommica 12 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.
zahlman 4 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?
benstopics 4 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.
zahlman 3 days ago
Ah, I understand now.
benstopics 4 days ago
I'm sorry what is the question?
dwedge 13 hours ago
I think they were nitpicking the term "reverse engineering" which is fair if the source is available
selcuka 11 hours ago
baq 6 hours ago
pbronez 7 hours ago
1) this is super interesting
2) the prose is very LLM-flavored, but for once I don’t mind. It’s obvious to me that this blog post only exists because an interesting, intelligent person used an LLM to lower the cost of extracting complex ideas from their brain.
3) the “Fits of Rationality” process sounds a lot like how coding agents work. They’re alive in the moment, then later all they have to work with is the written record of their previous sessions. The Herculean effort to re-implement the result foreshadows the vibe-coding repair industry.
ozozozd 3 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!
pgt 11 hours ago
"fits of rationality" is a great line.
SilentM68 4 hours ago
Cool! Was looking for something like this all through the 90s :)
Aditya_Garg 14 hours ago
Amazing read! Is it possible to do something like this but for wall street raider?
"claude code plays wall street raider" would be very very cool.
benstopics 14 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!
logdahl 12 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).
msephton 16 hours ago
Fantastic. Well done! For both the new game and the website article.
mattbee 7 hours ago
Congratulations Ben! The game sounds like a dangerous cult that I want no part of. But I've also done game ports recently and was curious - how much of the old codebase did you need to understand (and change!) in order to port it? And how much could you just wrap up / virtualise, and start building on top?
benstopics 6 hours ago
It is a cult and you should run while you still can. I would say to get to the point I'm so now I had to understand 40-50% of it. Let's face it, I work as a software developer and I don't remember half of the code in the project, maybe more, and I wrote it all! And this is way more complex than a business app. The reason I had to understand a lot is hard to explain but I will try... Basically a function might be called "FrontBuy". In this function contains all the math and all the decision tree logic and workflow for every possible situation to buy a stock. So now you say, let's replace all the Win32 dialogs with Electron front end. So what I did was I maintain essentially a high level GUI state manager in the Power Basic which controls the Electron app, using the C++ DLL as a FFI. That being said, you had to have some modicum of understanding of every function, maybe not all the math, but at the very least the workflow and structure of the PB code so that you don't break anything. And oh boy, did I break everything, many many times, to the chagrin of my beta testers.
bhy 15 hours ago
The game itself could be a good benchmark for AI agents.
cameron_b 5 days ago
Cheers for this!
Thank you for sharing your story.
benstopics 5 days ago
You're welcome!
nacozarina 4 days ago
AI can’t do impossible things yet, but we still can.
benstopics 4 days ago
You're damn right we can.
iberator 10 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.
chrisjj 10 hours ago
It is classic parrot slop.
praptak 11 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?
bzmrgonz 5 hours ago
So, it sounds like you are in a perfect position to tell us whether Epstein's statement is right, THAT WALL STREET "makes trading way more complicated than it needs to be, because of all the money they make"
sevenseacat 4 days ago
oh this is an absolutely fascinating story!
sevenseacat 3 days ago
I forgot to ask, do you have links to any of the Reddit threads? They’d be a fun read!
benstopics 3 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
Computer0 14 hours ago
I have been eagerly waiting for this project's release since I first heard about it, thanks for the update!
benstopics 14 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!
dionian 16 hours ago
Love it and fascinated to play the game.
blobbers 14 hours ago
I feel like this is the sort of thing AI could do in 10 minutes. Did you try?
dwedge 13 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-area 14 hours ago
Please do go ahead and report back to us in 10 minutes.
We’ll wait.
egorfine 13 hours ago
They spent so much time and effort to port this game to... Windows only?...