Hacker Newsnew | past | comments | ask | show | jobs | submit | benstopics's commentslogin

In my last post about Wall Street Raider, I was asked a lot about why I hadn't tried to use AI to port the game to another programming language. The truth is that the original creator, Michael Jenkins, is still helping with the project and he only knows and has worked with PowerBasic for the past 40 years. So it didn't make sense to change the language.

But I was running into issues with my PB-C++-ElectronJS architecture where my FFI event system was causing race conditions and freezing the game, especially with navigation. I also always had dreams of Wall Street Raider on 64-bit cross-platform, but I always thought this would be a challenge... until I learned Claude Code and proper AI orchestration strategies.

You see, in 2012 the creator of PowerBasic Bob Zale passed away and his wife maintained it until selling it to Drake Software in 2017. Drake promised 64-bit and new features. Instead, they sold to Cinven, who shut down the forums and the website, abandoning the loyal developers who still had to maintain legacy systems now with no place to ask for help or look up example code.

Well I read this article recently about how they made a C compiler from scratch using Claude Code and I thought that was cool and I said I want to do that with Powerbasic. But one thing that you need of course is test harness, which of course there was none for PowerBasic. So I orchestrated Claude to build the compiler and also an interpreter to create TDD feedback loop. CC ran for many hours using my many long-winded markdown files as a north star, and eventually came up with a compiler... that didn't work right.

But now I was able to set up a test harness for Wall Street Raider. You see, the PBWin.exe PowerBasic compiler program has no CLI capabilities. Every time you compile it will pop up a Win32 message box. It is supposed to have a quiet switch, but it don't work. So that is why I had to make my own compiler. Now with my compiler and interpreter in hand, I was able to allow Claude to iterate on the compiler itself and Wall Street Raider code, fixing bugs in both codebases at same time. It ran for many hours and eventually smoke tested and fixed the compiler issues, and I was able to write Discord bot to download threads from the bug-reports channel and sic Claude on them, enforcing strict unit/integration/e2e Selenium testing practices in my many CLAUDE.md files scattered throughout project.

If you would like to check out my other stuff you may visit http://benjaminward.com/ thank you for reading.


I got: This site can’t be reached The webpage at https://benjaminward.com/ might be temporarily down or it may have moved permanently to a new web address. ERR_ADDRESS_INVALID


Weird... DNS is either not updated everywhere yet or some alias needs added. Every variation I can think of loads fine for me...


Weird to me too, I can access the site from my VPS, and my home PC, but other networks I frequent it is inaccessible.


Was going to post this and saw you had already submitted it.

Great stuff, thanks for sharing, looking forward to WSR as Mac native or linux/Steam

And: Thanks Cinven! /s


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


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.


If this comment wasn’t from an LLM, you write well enough to not need one butchering your text.


I'm sensitive to detecting LLM writing and it wasn't distracting at all reading this. It read well! Awesome work.


I agree with this completely.


I agree with this agreement. Read the lot with no problems. It's an exciting piece.


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.


You don't need to rewrite anything, unless, I guess, you already have. The text that's up there now is just fine. Long, yes, but then it's a long story, and it makes for an enjoyable read.

There's a crowd of ludds around here who (paraphrasing another Churchill besides the one you wrote about) won't change their minds about AI and can't change the subject. One thing you can be certain of is that even if you rewrite the text to sound more human, they still aren't going to buy the game. Ignore them, and keep doing what you've been doing!


To better understand the feedback, see another example that was posted recently, about "Brownie Mary":

https://urbanists.social/@raineyday@beige.party/115793532206...

It's an inspirational true story and well-written. Then notice if the writing style feels familiar. The short sentences. It becomes the visual equivalent of these realistic AI photos, where it looks mostly right, but some feels a little off in the same way that something else you read recently felt a little off.

I'm glad I read the Brownie Mary Story and this Wall Street Raider story as well, but I also don't look forward to a future flooded with content that's "in the style of a professional writer" without some of the details and authentic voice that helps writing really connect.


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.


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


Don’t bother. The article is great.


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.


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.


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.


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.



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


Much appreciated.


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


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?


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


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.


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.


I think the game should be more important to the developer…


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


Hi. I would love to join the server, but unfortunately, the Discord link doesn't work for me.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: