9 ms·
Show HN: I spent 3 years reverse-engineering a 40 yo stock market sim from 1986
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.
- cameron_b 8mo agoCheers for this! Thank you for sharing your story.
- benstopics 8mo agoYou're welcome!
- replwoacause 8mo agoI 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 8mo agoI 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.
- replwoacause 8mo agoThat’s awesome. What a clever approach!
- nwellinghoff 8mo agoIndeed 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 8mo agoThe 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.
- ceramati 8mo ago[dead]
- jjmarr 8mo agoGood 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 8mo agoIf 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.
- DeathArrow 8mo agoPlease post here when you have a date!
- benstopics 8mo agoMarch 12!
- msephton 8mo agoThis strikes me as a sort of Microprose aligned release. Do you have any publishers in mind?
- benstopics 8mo agoNo, I had considered Microprose, Kitfox, Hooded Horse. I reached out to some but I should have been reaching out a year or two ago. I didn't think I would need one, I still don't think I NEED one... But would have been nice. But I just set a release date as a kick in the butt to get this thing shipped, which pretty much burns the boats of signing a publisher. I think it is better this way though. If it fails it fails. But Michael and I get to keep whatever proceeds are made and we get to do things our way at our pace. But there's other games such as Speculator that also need revamped. I kinda want Hackjack Games to be a remastering game studio, a land of misfit games of sorts. Maybe I'll be more open to having a publisher in the future.
- JohnHammersley 8mo agoThis 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 8mo agoThank you sir and I'm glad you enjoyed the story! I hope it's successful but we will see.
- sho_hn 8mo agoI 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?
- grey-area 8mo agoI 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?
- alwa 8mo agoI wonder this too. Is there so much of this style, or does it indicate some aspect of the LLMs’ sensemaking?
- te7447 8mo agoWhatever 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.
- saaaaaam 8mo agoThis 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 8mo agoI 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 8mo agoTo 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!
- nacozarina 8mo agoAI can’t do impossible things yet, but we still can.
- benstopics 8mo agoYou're damn right we can.
- omega3 8mo agoThe Wall Street Raider is under active development, you’re releasing a clone under the same name? https://www.roninsoft.com/wsraider.htm https://www.roninsoft.com/wsraider.htm
- benstopics 8mo agoI 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%20WallStreetRaider.com%2C%20our%20secure%20main%20website%2C%20devoted%20solely%20to%20our%20financial%20games%20software!%20Or%20just%20Google%20%22Wall%20Street%20Raider%22%20or%20%22Speculator%22%20to%20learn%20more%20about%20these%20two%20unique%20financial%20games/simulations.... https://www.roninsoft.com/#:~:text=!!!%20Check%20out%20WallS...
- chrisjj 8mo ago> I'm not sure when the last time he updated Roninsoft website Copyright © 2025 looks clear?
- zahlman 8mo 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 8mo agoI'm sorry what is the question?
- dwedge 8mo agoI think they were nitpicking the term "reverse engineering" which is fair if the source is available
- selcuka 8mo agoThe 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".
- baq 8mo agoMeh, every time a new engineer joins a large project onboarding is actually reverse engineering, with luck assisted by original authors.
- benstopics 8mo agoOthers 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 8mo agoAh, I understand now.
- sevenseacat 8mo agooh this is an absolutely fascinating story!
- sevenseacat 8mo agoI forgot to ask, do you have links to any of the Reddit threads? They’d be a fun read!
- benstopics 8mo agoThat 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 https://www.reddit.com/r/tycoon/s/bzjG709MLB
- ozozozd 8mo agoAwesome story! Well-written also. You are the engineer we all aspired to be. Though, you really are the chosen one. Wish you the best!
- deleted 8mo ago[deleted]
- pillefitz 8mo agoThis 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 8mo agoI 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.
- flomo 8mo agoApparently 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 8mo agoNo 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...
- flomo 8mo agoThanks 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?
- benstopics 8mo agoStill 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!
- msephton 8mo agoFantastic. Well done! For both the new game and the website article.
- wewewedxfgdf 8mo agoIf you dropped the source code here you'd probably get a versiojn in each of the 5 major languages quick smart.
- dionian 8mo agoi 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
- benstopics 8mo agoA magician never reveals his secret...
- xvilka 8mo agoIt'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.
- thomassmith65 8mo agoThis 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 8mo agoI 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 8mo agoI 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.
- doctoboggan 8mo agoReally 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 8mo agoI 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 8mo agoI 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 8mo agoHi 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-knife-fight/ https://reorchestrate.com/posts/bringing-a-warhammer-to-a-kn...
- DigiEggz 8mo agoCongrats 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 8mo agoOptions 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 8mo agoSounds like MJ pioneered not only financial simulators, but also vibe coding
- benstopics 8mo agoThe 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.
- 8mo ago
- dionian 8mo agoLove it and fascinated to play the game.
- MUSTANG303 8mo ago[dead]
- masswerk 8mo agoRegarding "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.
- blobbers 8mo agoSpacewar.com was such a classic game. Why wasn't it an exe??
- selcuka 8mo 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.
- benstopics 8mo agoI am definitely sharing this with Michael he will be happy to be pushed down in the dinosaur ranking!
- masswerk 8mo agoA 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 https://www.gricer.com/tmrc/dictionary1959.html [1] https://masswerk.at/spacewar/kuhfeld/ https://masswerk.at/spacewar/kuhfeld/
- msephton 8mo agoThe two developers mentioned/compared were for the games the op has ported.
- vessenes 8mo ago
- bhy 8mo agoThe game itself could be a good benchmark for AI agents.
- blobbers 8mo agoI feel like this is the sort of thing AI could do in 10 minutes. Did you try?
- grey-area 8mo agoPlease do go ahead and report back to us in 10 minutes. We’ll wait.
- dwedge 8mo agoFor 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
- tedheath123 8mo agoI 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 8mo agoNot 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!
- Aditya_Garg 8mo agoAmazing read! Is it possible to do something like this but for wall street raider? https://labs.ramp.com/rct https://labs.ramp.com/rct "claude code plays wall street raider" would be very very cool.
- benstopics 8mo agoI 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 8mo agoSuper 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 https://fabiensanglard.net/another_world_polygons/index.html).
- ErneX 8mo agoThis was a great thing to read this morning, kudos to both!
- soci 8mo agoReading 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.
- benstopics 8mo agoThat is almost entirely true and yes it's a click baity title, and it worked ha!
- magic_hamster 8mo agoIt 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.
- Computer0 8mo agoI have been eagerly waiting for this project's release since I first heard about it, thanks for the update!
- benstopics 8mo agoSorry 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!
- rustyhancock 8mo agoI'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 8mo agoI 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 8mo agothe 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 8mo agoThe 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!
- hexfran 8mo agoThis 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 8mo agoI 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.
- deleted 8mo ago[deleted]
- dwedge 8mo 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 8mo agoHaha sometimes I think he is with the things he tells me.
- dwedge 8mo agoI 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 8mo agoJoin 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 8mo agoHi. I would love to join the server, but unfortunately, the Discord link doesn't work for me.
- arjie 8mo agoWell 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.
- egorfine 8mo agoThey spent so much time and effort to port this game to... Windows only?...
- PaulRobinson 8mo agoA 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 8mo agoI 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 8mo agoGreat 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 8mo ago> Is the whole thing going to be open sourced? It seems to be a one-of-a-kind simulation product that could be used as part of actual financial/trading training. There's insane value here, giving the source code away for free is absolutely not a good strategy.
- MarcellusDrum 8mo agoI 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 8mo agoThe 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.
- deaux 8mo agoYou 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 8mo agoGood 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 8mo agoThe 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 8mo agoI think the game should be more important to the developer…
- MagicMoonlight 8mo agoIf you could get an LLM to write the article, why not just get it to rewrite the code?
- tuhgdetzhh 8mo agoAn 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 8mo agoI'm not sure how feasible that would have been three years ago.
- tommica 8mo agoGood 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.
- qubex 8mo agoLooks 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 8mo agohttps://wallstreetraiderwiki.com/index.php?title=Running_on_Different_Systems https://wallstreetraiderwiki.com/index.php?title=Running_on_...
- tommica 8mo agoReally 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 8mo agoManual 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.
- jhbadger 8mo agoI 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.
- andrewstuart 8mo agoYes. Primitive behind belief. There was a time in the world when most PC users could drive the C prompt.
- oncallthrow 8mo agoI suspect more computer users in total can use the terminal today than then
- michaelcampbell 8mo agoOnly because more exist. As a % of total, I highly doubt that.
- xp84 8mo agoMore in number, or as a percentage of people who use computers? I’d believe the first one, but not the second. Even if you didn’t count the many people who only use completely closed systems like iOS, Chromebook, or the ordering kiosk at McDonalds in the denominator.
- andylynch 8mo agoIt is said be way of comparison to modern platforms. Which seems pretty accurate.
- whobre 8mo 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…
- 8mo ago
- pgt 8mo ago"fits of rationality" is a great line.
- praptak 8mo agoHow 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?
- iberator 8mo agowow, 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 8mo agoIt is classic parrot slop.
- hamdouni 8mo agoBen, that was one of my favorite "internet" stories... What a beautiful generational link!
- NomDePlum 8mo ago[dead]
- vessenes 8mo agoBen, 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.
- chewonbananas 8mo agoWhat 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.
- mattbee 8mo agoCongratulations 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 8mo agoIt 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.
- pbronez 8mo ago1) 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.
- dwroberts 8mo agoThis 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.
- deleted 8mo ago[deleted]
- ryanjshaw 8mo agoAs a dude with an enterprise development background it was my first thought. Rewrites are almost never the answer.
- csense 8mo agoYou 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]. [1] https://www.gog.com/en/game/capitalism_plus https://www.gog.com/en/game/capitalism_plus
- Falkon1313 8mo agoIf you get the urge to try Capitalism again, you should take a look at Capitalism Lab [1]. It picks up from the original Capitalism series and adds a lot of UI enhancements / quality of life stuff as well as some new features and moddability. [1] https://www.capitalismlab.com/ https://www.capitalismlab.com/
- benstopics 8mo agoSorry 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.
- deleted 8mo ago[deleted]
- deleted 8mo ago[deleted]
- brynnbee 8mo agoI'm sensitive to detecting LLM writing and it wasn't distracting at all reading this. It read well! Awesome work.
- w8vY7ER 8mo agoI agree with this completely.
- cauliflower99 8mo agoI agree with this agreement. Read the lot with no problems. It's an exciting piece.
- walletdrainer 8mo agoIf this comment wasn’t from an LLM, you write well enough to not need one butchering your text.
- fallinditch 8mo ago
- w8vY7ER 8mo agoThis 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.
- bzmrgonz 8mo agoSo, 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"
- deleted 8mo ago[deleted]
- leke 8mo agoSo 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.
- benstopics 8mo agoAs 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/595173810516263480 https://store.steampowered.com/news/app/3525620/view/5951738...
- SilentM68 8mo agoCool! Was looking for something like this all through the 90s :)
- xp84 8mo agoTenuous 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.
- linsomniac 8mo agoMy "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/ https://trading.linsomnaic.com/
- YZF 8mo agoSuch fun for you and the author! I've never played the original game but now I wanna!
- yieldcrv 8mo agoI haven't heard the lore on this one, why is there interest in this?
- techsocialism 8mo ago[dead]
- TacticalCoder 8mo agoI now work on the "real thing" and that is fascinating to read. I didn't know about Wall Street Raider. Anyone who's ever tried a "paper trading account" on a real brokerage app knows how poor these are: it's near impossible to simulate the real thing without implementing the real thing. One thing I really don't understand at all is how it's possible to do so much in only 115 kloc. 115 000 lines of code is next to nothing for such a project: there are solo projects with more lines of code than that. It simply ain't that much: how can you simulate mergers, financial derivatives, etc. all in so little lines of code? It is, simply put, a little codebase. Which makes it all the more impressive. I mean: it's both a lot (for the time) and nothing for what it does. I'm sure brokerage apps have 10x that amount of code and they only deal with the client side of things. I understand the game doesn't reproduce everything but it still looks incredibly impressive to me to pack so much in so little lines of code. Doubly so if this is sufficient to teach people the basics of finance and trading. Now something else: this reminds me a bit of a game by the company FTL (created in 1982), who created Dungeon Master. Before that game FTL did "Sundog: The Frozen Legacy". In Sundog they implemented an interpreter for a programming language so that they could write their game (otherwise the default languages available were too limitating) and... You could buy/sell stuff across planets, that you'd transport in your spaceship. They had started writing a complex trading engine for the game: the player was supposed to be able to place buy/sell orders and whatnots but eventually they gave up that part of the game. FWIW when I was playing Sundog The Frozen Legacy I was feeling I was Han Solo in my spaceship: great memories. Wishing the best to Ben Ward and sending big thanks to Jenkins. These kind of entries are why I'm on HN.