To be fair, the earliest text adventures are brutally, brutally difficult and in many cases, very much unfair! There are nowhere near enough in-game indicators or foreshadowing of what might work in a certain context. Some solutions are obvious, but others are truly ridiculous and won’t realistically be solved without a walkthrough or “invisi-clue” book. All imo, of course.
Back in the 80’s we used to play these games in a group, with one person driving and a group of others helping out. Even then we used to fall back on hints occasionally.
I played Dungeon, the much larger mainframe version of Zork in 1978. Between me and six other guys it took us nearly a year to finish the game.
At that time, there were no video terminals. There were no monitors (this is high school).
We played Dungeon and Adventure on 17” wide green bar paper terminals, usually a Digital Equipment Corporation DECWriter II or III.
There was no Internet. There was nowhere to go for hints. We simply had to figure everything out.
At that time, these were the first complex computer games. When the Imps created Infocom they made the top ten most popular games until video arrived in classrooms and homes.
There is a fairly active community of hobbyists that still make text games, though evolved away from the brutal puzzles to more balanced narrative and seamless puzzles.
I too wrote my own platform, in the early 80s, in C++. I didn't use C++ for the user-written code, instead I used a Forth like, implemented in C++. This probably doomed the program, along with my inability to get string literals and vehicles such as boats right. But it was a great intro to C++, and I spent some time writing an easy, story-telling game, based on Jack Vance's Dying Earth books, in it.
Time is never wasted when you are doing something new.
I had Claude code up a Slack bot so I could play any Z-machine game co-op with friends. We started up Zork 1, wandered the available map, made it to the cellar, walked north, and hit a room that was insta-death. We still haven't gotten back into it.
Now they sprinkle dopamine rewards all over the place to incentivize the thirst for even more. Especially if there are ads shown every time you get that dopamine hit.
TBF, text adventures absolutely "sprinkle dopamine rewards all over the place." The random-reinforcement effect is a big part of their appeal — as a player, you never quite know if you've seen "all the good stuff" yet.
WOOD0350: Did you try using the bird on the dragon? PLAT0550: Did you try going back across the troll bridge after tricking the troll? HHGTTG: Did you CONSULT GUIDE ABOUT everything you found? Frog Fractions: Did you try SCORE? Did you try applying every verb to MYSELF?
> An alternative could be a good 5K/6K monitor with a KVM, but this is a unicorn as well...
I use a Dell U3224KB (32" 6K) in this way. Thunderbolt (usbc) is connected to a Macbook Pro and DP & regular usb c is connected to Windows gaming machine. Works perfectly. And yes, the U3224KB is pretty ugly, but I've grown to love it's features.
I actually did this back in the late 90s! The editor was called "Scorpio"[1]. It was written for the classic MacOS in some version of C with objects, maybe Think C(?). I'm not 100% sure.
It's an amazing fun thing to do, but I probaby wouldn't wan't to do it again now. This thing didn't handle unicode (I had never heard of it), barely handled spell checking and didn't handle bi-directional input.
Text (1 byte per char) was stored in a big array on the heap. Styles were also an array (again on the heap) of fixed length structs. Font information, in the form of fixed-point width tables, was gathered from system calls and cached.
It did actually support inline pictures though, which was pretty challenging.
Writing an editor is a hugely fun project. Highly recommended.
This is great! Back in the 60s & 70s, before the digitization of all life on earth, there were a huge number of very ornamental, very hard-to-read fonts that were sold, generally, on sheets of Letraset press-on type (at least for those of us too poor to have our own Linotype machines)
This is very much like that, but turned up to 11. Very slick presentation and a nice, simple website as well. Nice work!
p.s I realize that there are a ton of hard-to-read digital fonts available as well, but I grew up in the pre-"desktop publishing" times for better or worse
Hehe, being a Java dev since the late 90’s meant seeing a lot of bad code. My favorite was when I was working for a large life insurance company.
The company’s customer-facing website was servlet based. The main servlet was performing horribly, time outs, spinners, errors etc. Our team looked at the code and found that the original team implementing the logic had a problem they couldn’t figure out how to solve, so they decided to apply the big hammer: they synchronized the doService() method… oh dear…
For those not familiar with servlets, this means serializing every single request to the server that hits that servlet. And a single servlet can serve many different pages. In fact, in the early days, servlet filters didn't exist, so you would often implement cross-cutting functionality like authentication using a servlet.
TBF, I don't think a lot of developers at the time (90's) were used to the idea of having to write MT-safe callback code. Nowadays thousands of object allocations per second is nothing to sweat over, so a framework might make a different decision to instantiate callbacks per request by default.
It really depends on the type of environment and work you are looking to do.
At 59, I applied for a “full stack” (ugh..not my favorite term) job at a large Asia-based multi-national corporation working on support software (web apps) for their entertainment appliance platform. I got the job after a blessedly short interview process that did not involve any leet coding problems.
I am on an amazing senior team at a company with a great, relaxed work culture! This work is many things: fun, challenging, predictable, boring. Devs will understand how it can be all these things at once lol.
Find yourself a situation that meets your current drive/ambitions. There are a ton of places out there. Probably harder now (I got the job in 2018), but there are still people hiring.
That's interesting, are you based in Asia? I've found companies similar to what you're mentioning but they're all based in America while I wanna stay in Asia.
That's pretty cool. I guess the tough part in Asia are the languages, so there's a language barrier between say Tokyo vs Malaysia vs Singapore.
I think the hardest part sometimes of my situation is not really having any seniors/mentor figures I can bounce ideas off. The safest bets from my peer groups all involved just moving to US/Canada which I'm not really particularly interested in.
Mainly remote, even though I am about a mile from the office lol. They fully bought into the remote first idea. We have team get togethers generally about once a month. Very nice to spend time with the team, but I prefer my home office with my own stuff for daily work.
Usually one at a time, but sometimes they combine. Also, parts of the same task can be one or the other, so you may have to switch from fun (coding something new) to boring/annoying (writing unit tests) in a single day.
Lovely excerpt that gives a good general overview of Mad history and highlights!
I was an avid reader as a child in the late 60s to early 70s. I eventually moved on to National Lampoon as a teen, but Mad will always glow in my childhood memory heart.
I still have a decent-sized collection of Mad paperbacks. Many (most, all?) were written by a single Mad artist/writer. My favorites of these were ones written by Don Martin and Al Jaffee.
I learned to read by sitting on my dad's lap and sounding out the effects from "Don Martin Drops 13 Stories". Thought I didn't understand what I was looking at, the sounds were the funniest thing ever to little me. I had to track down a copy of my own to show my kids when they were little, and they felt the same way.
I (dis)credit Mad for developing a lifelong mix of sarcasm with sincerity, skepticism with optimism. It was exactly the right food for my young brain.
I still have my original copy of "The MAD Adventures of Captain Klutz", probably bought around 1970ish. Such a singular talent. Died pretty young (68), which is sad.
Sorry to pile on to the doom and gloom around this, but I have been at a bunch of companies that tried this and have never seen it work out well.
The problem is that building generalized, actually-in-the-real-world reusable UI components is really, really hard! Generalizing other people's use cases is very tricky without walking in their shoes.
Usually what happens is that a glorious, well-intentioned group within the company puts together a few very short-sighted, yet kind-of-good-looking components for a very specific use case and management sees it and says: "hey, why can't we use this in other projects?" The answer, of course, is that they weren't meant for that! They don't handle about 100 different things that would allow for expanded use in the company. One would need a dedicated team to make it so, which management really doesn't want to pay for.
Trust me, it only gets worse from there...
My advice is to build domain-specific LOB components for your business area and use a real 3rd-party solution for the underlying GUI lib. This actually has a chance of working out. Even doing this is way harder than it sounds lol.
I mean starting a component library by building your own from the ground up is an absurd thing to even attempt.
IMO the only really sane approach is to start with a facade around an existing library. This way you get your single interface and your consistent visual style, but you are free to swap out implementations as necessary.
Back in the 80’s we used to play these games in a group, with one person driving and a group of others helping out. Even then we used to fall back on hints occasionally.