Capture the Flag

I sometimes get curious about an old game or early internet artifact I ran into as a kid growing up with the early internet. This gem found itself onto my 90s computer and managed to keep a special place in my heart for 30 years. Until 2023 when I was curious to give it a try, thinking it’d be a cool game to play with Robin. To my surprise, it has never found its way into the Abandonware scene in its full form, only the shareware version is available. The shareware version is all I ever got my hands on at the school bus stop floppy exchange program. The easiest way I found to emulate it, and fortunately the best, is using web technologies. And so here it is:

Click to pop out

Playing again today, it definitely still holds up as a solid turn based strategy game. A genre that is criminally underappreciated. I’m always a fan of a game that invites serious consideration to your next step, but chess has never done it for me. PBEM (Play By EMail) games are on a whole other level, having several hours to several days to take 1 turn forces you to think on a whole other level deep into the game mechanics.

Even if Capture the Flag isn’t appealing to you, it’s cool to poke around in the menus and see what the computer scene was like 30 years ago. The list of players is literally a text file maintained by hand. Oh wow! they’ve got a website!

Oh wow! It still works, and I might still be able to buy the full game!

The instructions look reasonably current. Well, I know what I need to do. I have to admit I absolutely love the idea of having such an e-commerce interaction from a website preserved in amber.

And so a couple of days later, I was the proud owner of a fully licensed version of Capture the Flag! Hell Yeah!

This one shall remain a screenshot 🙂

file timestamps from 1996!

I asked the game developer, Richard Carr if he would be so kind as to answer a few questions about the game and his experience making it, and he kindly took some time to do just that. I was interested in hearing his story of how such a treasured memory to so many came to be born.

Richard Carr, solid guy

I was curious to know how Rich learned programming, he has a degree in Computer Science he got from Cal Poly in the 70s. So formal training. He learned on punch cards and had many positive thing to say about how much easier it is to program today (he helps his grand kids on Khan Academy). He did not like all the Math, Physics and Chemistry he had to do, he just wanted to program. That resonated with my own experience :).

He came up with the idea for Capture the Flag from watching his older brother play it in real life as a Scout, and playing several turned based strategy board games.

He developed the game over 2 to 3 years, using C and a little assembly. He got it working and spent a lot of time testing and refining before release. In the 90s you had better ship a finished product. He did make a point to tell me that the A.I. does not cheat. To illustrate both the development effort, and his dedication to the fairness of the game. This point was well received, I’m often fuming playing against AIs which are obviously cheating so they’re easier to program.

I asked for some vague notions of how financially successful the game was, he told me it was enough to live off of the first year and that it slowed down after this. Today he sells 2 to 3 a month, mostly to nostalgics like me who are now adults with a Paypal account. Back then he received several awards for the game which helped make it financially viable. He did say that he might have been too generous with the shareware version, I couldn’t disagree, I felt perfectly happy with the one level :).

He went on to build several other games, but they were not well received by the reviewers, and the market had moved on. I could relate with the seemingly random ways in which projects are received by any audience. Sometimes you pour your heart into something and no one care, other times you mess around scratching an itch and it blows up. That is his only project that made such a splash, he landed a job from the skills he had acquired on his subsquent less successful game projects, so it wasn’t all lost.

He didn’t realize the impact that the game had in the world until years later. He first made a game that he wanted to play, but he was definitely proud of it.

I was wondering if he was still 100% optimistic about technology the way we all were in the 90s, and he was by and large. He is amazed by technology, the and the tools that civilization keeps building upon. But he did think phones and social media are having a negative impact. This only came up when I asked if he had IT wisdom, or even life wisdom he wanted to share, the conversation moved to the topic of parenting and he certainly had some to share on this.

It was super nice of him to indulge the curiosity of a fan of his work. Throughout the conversation I had the feeling I was talking with a good person who is way into computers.

Serious Deep Plotting

I’m always amazed that I haven’t grown tired of this hobby yet, year after year I find new stuff I want to try or improve. There has got to be an end to the madness, right? I rationalize this by saying I’m learning very general implementations of stepper motor controls, and that is true. Or that the kids’ minds get sharpened from the interactions with such machines, and that is true as well. But deep down I’m aware that there is a large obsessive component that is much harder to justify, say to one’s life partner.

And so I have the gondola plotter deployed at home for the Christmas break. It’s over Nicole’s half of the craft room desk, but there were no clauses about air space so I’m in the green.

To push my luck with Nicole I have it draw 30+ hours plots, and so it goes through the night and we can hear it from where we sleep. But it’s soothing like a dishwasher, it’s the sound of work being done for you. I’ve had to be extra careful about power, it’s not rare in the Winter that we lose the inverter in the early morning before the Sun comes out again. This is a non issue with lights and internet on the always-on 12V circuit, but the plotter can’t pick up where it left off currently so I had to be careful to have enough power to go through the night uninterrupted.

Over time, I’m gaining an understanding of what algorithms will work well on what subjects. Vpype flow imager works really well for portraits & anime. For some reason, trees in particular come out really well with it.

An homage to Miyazaki: Totoro

An homage to Miyazaki: Princess Mononoke

In any case, with the Christmas break around the corner, I started getting excited about all the things I wanted to do in the plotting world. Besides just plotting, I’ve been wanting to improve the acceleration model to make it dependent on the angle being taken by the pen. And this was a very deep rabbit hole which got me to rethink everything about how a sequence of pen strokes is being drawn. After many failed attempts I brought some amelioration to the acceleration model but I wouldn’t say it’s perfect.

Another thing I wanted to tackle was to correct the odd way in which gondola plotters (which are polar based) move over cartesian planes (not in straight lines). Over a long travel distance, this fact is painfully obvious:

moving from (20,80) to (80,80) with an actual straight line between these points for reference

Yet for the things I tend to draw, there are enough intermediary points that it’s rarely an issue. And so the fix is obvious: when traveling over a certain distance, break down the travel to go through intermediary points on the same line. Of course this interacted with the acceleration improvements and it was an overall nightmare to get right… Oh well. It’s done! There will be a point at which my plotters can be improved no further.

This plot was supposed to be simple, but it ended up being the final boss. It made several issues percolate up, and I tested the new algorithms with it, after several failed attempts, it was finally complete:

It’s really absurd how accurate this gondola plotter is given how it’s driven. I’m putting a lot of miles on it and bring about many improvements along the way.

Although plotting on a much larger surface highlights some imprecisions of the algorithms I’ve been using.

What is this? A Mechanical issue?

Oh…

Well, that’s really just 3 plots, but very long ones with many failures and improvements in between. I was hoping to document the Gondola PlottyBot build over break, but this will have to wait a bit more. I’m definitely close.

Oh, and before break I had it do a bunch of snowflakes at work. They are very satisfying to watch get drawn.

Unfortunately for everyone around me who is sick of hearing about plotters, there are still many things I want to do with them.