CHAPTER 5

AJR

The arcade incident left my stepfather less trusting, and for a brief period, he insisted we accompany him whenever he took my mom bowling. One week, right before I turned thirteen, we went to the Foothills Bowl. This was probably the best alley in the area. It was clean, and it had floor-to-ceiling windows overlooking the pines—a real Northern California touch.

As always, the view that interested me was the alley’s arcade area. My stepfather’s periodic ban on games didn’t apply if I played games when they were bowling, so long as I paid for them myself. There were pinball machines and several arcade games, including Battlezone, Space Invaders, Crazy Climber, and Asteroids. On this visit, there was something new at the front of the arcade: a single Pac-Man machine. I didn’t have any money, but I walked over to see the new game.

It reeled me in and mesmerized me. I was spellbound. First, the game exploded with color and sound. Until Pac-Man, all arcade games were black and white (except for Galaxian), or they had one color. The non-white color of these games, like the colored rings of Star Castle or the multicolor Breakout, was nothing more than a tinted film overlay placed on the plastic or glass screen. As for Pac-Man’s soundtrack, I thought it was fantastic. I loved the endless “waka-waka” sound of the bright yellow Pac-Man as it devoured dots, and the futuristic synth-fed score was unparalleled.

The second thing that enchanted me was the game itself. It was dazzlingly innovative. Asteroids and Battlezone were about shooting and blowing stuff up. It was all kill or be killed. It seemed like most new games were derivative of one or the other. This was a different vibe. It was more task-oriented—you had to gather dots—and survival-oriented. You ran away or you died.

I must have watched for thirty minutes. I’d never experienced such arcade rapture—not since my initial little-kid-acting-grown-up thrill of pinball. I had to play it. I had stopped badgering my folks for change by this time, especially since I made money with my paper route, but I didn’t have a cent on me. I had to play this game. I begged my mom, and she gave me fifty cents.

I put the first quarter in the slot and began what I can only describe as a joyous, spontaneous mind-meld between me and the game as I entered the blinking, blipping digital maze. If you’ve played Pac-Man, you know this feeling, particularly if you encountered it in the 1980s. It was the thing everyone was talking about. Pac-Man is a game of virtual tag where you get three lives as a chomping yellow icon that races around a maze lined with “Pac-Dots,” chomping the dots and other goodies (fruits, a bell and a key), while ghosts chase you. Any contact with the ghosts—Blinky (red), Pinky (pink), Inky (blue), and Clyde (orange)—and you lost one of your lives. It was exhilarating. Everything about the Pac-Man experience was different and just flat-out better than other arcade games. Its innovation was a revelation to me. Musicians sometimes describe a piece of music that changed them. This was the game that changed me.

Looking back, it was a substantial departure and innovation on the themes, mechanics, audio, and video of games made to date—an explosion of creativity—but that’s my older, wiser, student-of-gaming-self talking. It was challenging, it was stressful, but it was fun and funny, too. As you reached new levels, there were comical intermissions—little computer skits that played. Humor was nowhere in sight with previous arcade games. The other enticing thing was that I felt this game was challenging but winnable. I had no idea that the game had 255 stages, but on the surface, it seemed so simple. The player followed a path through a maze, scooped up dots and fruit, and avoided ghosts.

I was breathless and hooked when my fifty cents of fun was over. Pac-Man was the greatest arcade game ever. I was smitten. I sought out Pac-Man machines wherever and whenever I could. As I played more and more, I figured the game out. I got the sense that the ghosts had different personalities. Blinky seemed to be the most aggressive, while Pinky liked to shadow Pac-Man. Clyde just wandered around, came closer, and then flaked out, like his heart wasn’t in it. It didn’t take me long to realize that the game followed a distinct pattern. The way the ghosts pursued Pac-Man didn’t randomly change at the start of a new game. It was all rigidly pre-programmed. I figured out a way to evade the ghosts in the early stages of the game, and it worked every time.

Another light went on in my head. Beyond its other innovations, Pac-Man introduced me to game design patterns, and the knowledge that those patterns could be mastered. Seeing a pattern in Pac-Man made me aware of design patterns in other games, and I was as determined to commit them to memory as I had been to commit code.

I spent hundreds of dollars mastering Pac-Man, and after a while, I committed the opening moves to memory. Eventually, I had it down so that I didn’t have to look at the screen to get through the game’s first two stages. I looked at my friends and had conversations while my Pac-Man feasted on dots and evaded the ghosts. It was my impressive party trick. Well, for the first two stages. At my best, one quarter could take me deep into the game, and I reached screen twenty-six. The special item on every stage after thirteen was a key worth 5,000 points. I must have spent hours playing the game to get to that stage. Then, I faltered. I didn’t have the full pattern yet. However, after spending hundreds of dollars on the game, my initials were on the top of every Pac-Man machine in the Rocklin area: AJR, for Alfonso John Romero.

I wasn’t the only one who couldn’t get enough of Pac-Man. It was a national craze. A pop song called “Pac-Man Fever” documented the obsession. The singer crooned that the game was “driving me crazy.” He didn’t have a lot of money, but he had a callus on his finger and was determined to “eat up” the dots. The song hit number 9 on the Billboard Hot 100 chart by March 1982.

My stepfather was not impressed by the game. He continued to see all arcade games as a waste of time, and he and my mother tried to restrict my gaming. The negativity was a challenge to counteract. It wasn’t just a conflict; it was, I realize now, cognitive dissonance. These games were absorbing, challenging, and fun. I wanted to learn everything about them and to make my own games. In them, I saw my future. Even at age twelve, I was sure there was an upside to arcade games that my parents couldn’t see. I realized that Pac-Man was a computer game, and the connection between it and the code I was learning at the Sierra College computer lab were evident to me. That isn’t to say I knew about graphical interfaces or the languages I’d need to learn to render images on a computer screen, but I knew that computers both allowed you to create games and to play them. I didn’t know much about how the world worked—and neither, in a way, did my parents, who were middle-class pragmatists, not dreamers—but I had this idea that you could get work in computers. Just from being at the computer lab in Sierra, I knew you could study computers, teach computers, write books about them, and build programs.

I made a connection—that the games I saw at Sierra College, such as Colossal Cave and other text adventures, were stage one, and Pac-Man and these other arcade games were many stages beyond. I had no idea what programming wizardry was required to make Pac-Man, but I knew that whatever it was could be learned, and I was determined to learn it. My desire to learn became all-consuming.

The home computer market was heating up, but given the cost—an Apple II was around $1,300 in 1981—owning one seemed out of reach. I’d go to the computer store in downtown Roseville and a nearby RadioShack and use their floor models—the Apple II at Capitol Computers and the TRS-80 at RadioShack—grabbing time whenever I could to see how they worked and to practice BASIC on them. Nothing remains of this early work, however. I never saved any of it, because the cost of 5.25" floppies dented my Pac-Man budget. The adventure games I created at Sierra College were saved on paper punch cards, but those fell off my bike and landed in a puddle of water. I remember looking down at them, heartbroken. They were wet, scattered, and out of order. I gathered them up and disposed of them at home. That loss coincided with the end of my time going up to Sierra College. I was about to turn fourteen and had entered ninth grade at Roseville High School, where they had two Apple IIs. Between those machines, my friend Rob’s Atari 800, and the local stores, I had other ways to access computers.

I was never a kid who hated school, and I was a responsible student, often getting As and Bs. I also liked the social aspect of school. I liked meeting different kids, making friends. I had two skills that helped me connect with other people. One skill involved computers. I was a total evangelist for programming, and I started a computer club. My idea was to share my work with other kids—which had a twofold purpose: I wanted others to play my games so I could get their feedback, but I also figured I might meet some kids who liked to code as well. Anyone who was interested could come by, and we would share knowledge. I was so into programming at the start of tenth grade that I decided to write a book about programming games in BASIC for the Apple II. A student from the school newspaper heard about my project and even wrote an article about it.

My other skill was drawing. In tenth grade, I created a comic strip I thought was hilarious, which also provided me with an outlet for processing the aggression and occasional violence of my stepdad. It was part comedy, part therapy. Melvin starred a teenage kid whose over-the-top, sadistic father constantly punished him. Melvin had bright yellow hair and fair skin; he bore no physical resemblance to me. Melvin’s dad, however, a chrome-domed baldy who wore glasses, was based 1,000 percent on John Schuneman. Some of my Melvin storylines were autobiographical. Melvin’s dad catches him playing video games, smashes his head into the video screen, and then pulls back his scalp to reveal Melvin’s brains. Unlike the real-life episode, where Schuneman punched me in the face, this strip ends, as all of them do, with Melvin’s dad making a smug, snarky quip: “Kids, remember: Video games are bad for your eyes.” Meanwhile, off stage, Melvin is dead.

My friends laughed their heads off at Melvin. I didn’t spend huge amounts of time on these strips. Someone shared an idea, or I had a thought, or something happened between me and my stepdad, and then I’d sketch out fifteen panels and develop a rough idea in my head about how to lay out the action. I didn’t do pencil sketches or multiple drafts. I just went for it. Some are better than others, but even now, I think they are strong for an untrained teenager. I understood comic strips’ visual techniques—alternating close-ups, faces that squashed and stretched, added sound effects—without knowing that these techniques had names. I learned the glory of comics storytelling purely by osmosis. I never took a class. Scott McCloud had yet to write his classic Understanding Comics. I learned everything by reading Peanuts, Mad, Cracked, and Weird magazines.*

Ironically, as I was exorcising the demons that came with having an abusive stepdad, he was seeing the light. I talked to him a lot about the things I learned at Sierra College, at Rob’s, and at the stores that allowed me to use their computers. His electronics background gave him some degree of insight into what I was doing, even if he didn’t understand any of the code. Eventually, my programming progress and unbridled enthusiasm made a dent in his thoughts about computers. He saw that I was onto something. One day in April 1982, I came home to find an Apple II+ still in its delivery box. I was ecstatic. My stepdad had told me he was considering getting one—he thought it would help him manage the house and business finances—so it wasn’t a total surprise, but when I saw the box, there was no holding me back. My mom told me to wait, but I couldn’t. I set up the Apple II+ in my mom’s sewing room. When my stepdad got home, the new machine was ready and waiting. He was mad, but my mother took the fall, telling him that she forgot to tell me not to open it.

My stepfather and I had a difficult relationship, as readers have no doubt gathered. However, he also had a significant positive influence on my life. He took us in, took care of us, gave me lectures that I hated but that also somehow sunk in, and ultimately recognized and enabled a talent he knew I had. There are tens of thousands of kids out there whose parents ignore their desire to code or to make games or insist they pursue fields that are more traditional. Getting that Apple II+ changed my life.

The Apple II+ was a significant purchase in our house—a significant purchase in any house. My stepdad went for a complete setup: the computer, supplemental hardware, a monitor, and a printer. It set him back at least $5,000. If you had asked me months earlier whether I thought we’d have one in our house that year, I would have shaken my head. That amount of money was well beyond what we could afford. However, he hoped I would start making business-related programs, things that would be “useful”—like a software program to organize an address book. As he saw it, this would lead me on a path where I would one day land a “real” job. Games were still not part of the equation for him, but they were the endgame for me. Every day after school, I was programming games one after another. I remember thinking, “I want to do this every day for the rest of my life.” I was finished going outside.

I still wasn’t clear on how, exactly, to make a graphical game on a computer that echoed my arcade favorites. Rob Lavelock opened my eyes to this next step, tipping me off while we were playing Gorgon, written by legendary Apple II programmer Nasir Gebelli. He got in early, in 1980, and made a name for himself, quite literally: “BY: NASIR” appeared on the title screen of every one of his games. He made his games quickly, they were technically advanced, and they were fun.*

Beyond his programming genius, Nasir understood how to get the core loop of gameplay feeling good. I really loved how every one of his games was different. From overhead high-speed car racing to a horizontally scrolling spaceship shooting aliens and rescuing humans to an airplane flying over and bombing enemy territory, his games showed he was attempting new technical challenges and keeping himself fresh with different game designs. From his work, I learned to make games around a specific concept or gameplay mechanic, giving the player everything they wanted while avoiding superfluous features that didn’t improve the gameplay itself. I could also tell that some of Nasir’s games were the result of him learning a new programming technique. The graphics might appear in a unique way, and he used that same technique throughout the game. From Nasir’s games, I learned that the best form of learning is project-based. I could use a game to learn and hopefully master new programming techniques. Nasir went on to become the sole programmer for Final Fantasy I, II, and III. He remains one of the most legendary programmers of all time.

Bill Budge is another legendary programmer whose impact on me was significant. He was a great example of the Apple II spirit in the early ’80s. He wrote some engaging, early games like his Space trilogy and Penny Arcade games. His next game was huge—Raster Blaster—the first pinball game on the Apple II. It was incredible and made everyone want to create a pinball game, but it was difficult to do those physics calculations in 6502 assembly language. While everyone was puzzling that out, Bill released Pinball Construction Set in 1982 and stunned the industry. Making a tool that lets you create a pinball game yourself was unprecedented and represented a substantial technical achievement.

As Rob and I sat in front of the computer looking at Gorgon, I said, “Man, that’s the kind of game I want to make!”

“You want to see the code—what it’s made of?”

“Yeah!”

Rob pressed RESET on the Apple II+. He typed “CALL -151” and typed “800.9FF”. Suddenly, the screen filled with a stream of numbers. It looked like numeric gobbledygook, but it was my first look at hexadecimal numbers and letters.

“That’s machine language,” Rob said. “That’s what you need to learn to make video games.”

I stared at the screen. It might as well have been ancient Egyptian hieroglyphics. It looked nothing like BASIC, which I knew well at this point. I had read that if you knew one coding language, you can usually figure out others due to linguistic and logic similarities, but figuring out machine language seemed impossible.

“Man, I have no idea what this is,” I said, “but if it’s what people are doing, I’m going to have to do it, too.”

Rob typed “800L”. This time, it showed the code in Assembly language format. “This is Assembly language,” he said. “This is what the programmer typed in.” He explained that a program called an “assembler” took the language and assembled it into machine language.

With Christmas 1982 approaching, I asked my parents for two books. Assembly Lines: The Book by Roger Wagner was a how-to bible. The other book, Apple Graphics and Arcade Game Design by Jeffrey Stanton, was about making arcade games in Assembly. My parents still didn’t “get it,” but they had become less damning about my passion and were still hopeful that I’d move on to developing “useful” software. On December 25, the books were under the tree. I was elated.

“Finally, I can learn Assembly,” I said.

I already had the Apple II Reference Manual, but I could not understand the advanced Assembly language information in there, because it lacked the critical initial steps. I felt as if I were staring at the twentieth stair on a staircase that was missing steps one through nineteen. Wagner’s book, I hoped, would unlock its mysteries for me, while Stanton’s book would show me the tricks that commercial game programmers used.

At this point, my self-imposed crash course in programming really went into overdrive. I was hell-bent on cracking Assembly. One of the first things I learned was that the machine language Rob showed me did everything BASIC could do and more, but at super speed. The numeric gobbledygook was hexadecimal, a series of sixteen digits or letters in twenty-four rows. Assembly code is plaintext, but you need an “assembler”—itself a program—to convert Assembly to machine code.

First, I needed to learn the hexadecimal number system, because that’s what the Apple II used for assembly language. The decimal system we learn in elementary school consists of ten digits, zero through nine. Hexadecimal uses sixteen digits: zero through nine and A through F. Here’s a concrete example: The number 11 (in the decimal system) is rendered as the letter B in the hexadecimal system and the number 94 is rendered 5E in hexadecimal.* I taught myself to make these conversions automatically, just the way a schoolkid might learn by rote that 12 × 12 is 144.

In those early days, Rob was my greatest ally and teacher. When the Apple II+ arrived at our house, I immediately set out to create a version of Crazy Climber, a favorite arcade game of ours, but I couldn’t get it right. Rob looked at my code and asked why I didn’t use variables. The answer was simple: I didn’t know what a variable was.

Rob explained that variables held values that could change as the program ran in response to player input or other events in the game. For instance, the variable “Lives” holds the value of 3. If the player got an extra life, the variable “Lives” incremented to 4. I could use variables for things such as X coordinates, Y coordinates, number of bullets, or any other thing I needed to keep track of. It is one of the most basic concepts in programming, and I had been blind to it. Put in the simplest terms, think of any bowl in your kitchen as a variable. It can hold three hundred beans or ten. It’s still a bowl, but its contents are variable.

I finished my version of Crazy Climber, but I was such a novice that I accidentally deleted it—my first Apple II+ game in history vanished into the ether! I wasn’t that upset. I figured my next games would all be better. I set to work on a game called Dodge ’Em, in which a player’s ship had to avoid lasers shot by an alien spaceship.

Thanks in part to Rob pointing out machine code and variables and the books my parents got me, I learned how to access the inner workings of the Apple II+. The week I got my Assembly book is a blur. My mind was constantly whirling and processing as I explored the Apple II+, the code that drove the machine, and the code I could run on it. The Apple II+ and other early home computers were fully knowable machines. My Apple II+ had 64K of memory—65,536 bytes—and I told myself I needed to learn what every byte did. The top 25 percent of memory was devoted to Read-Only Memory (ROM), which contained the programs that defined how the Apple II+ worked. Anyone building a program to run on the Apple II+ needed to know the precise locations of different functions in the machine’s ROM. There were even books that broke down the “geographic addressing” for the Apple II+ ROM. To learn faster, I took notes, wrote down these addresses, and referenced posters that listed the most important memory locations (the Beagle Bros. Peeks & Pokes chart). I was determined to memorize everything about the computer—how the 6502 microprocessor worked, how the interlaced hi-res screen was laid out, and everything in ROM and zero page.*

There were a couple reasons I was pushing myself so hard. First, I felt like I needed to catch up with other programmers who were so far ahead of me—people I didn’t even know but whose games I played regularly, like Nasir Gebelli and Bill Budge. The second reason was much more serious: I was about to lose my computer just as I finally figured out how it really worked.

At the start of tenth grade, my stepdad was offered a military assignment in England at a 50 percent pay increase. He accepted the three-year assignment at the Royal Air Force Base in Alconbury, England. We were going to move at the beginning of the new year, 1983.

The plan was for movers to come and pack up all our belongings and ship them on a slow boat to the UK. The one possession I cared about most, the Apple II+, was due to be placed in a box a mere week after I’d gotten my Assembly books. I plunged into their pages, absorbing everything as fast as I could, coding as I read to get the hang of it. I was in a race against time, and once again, necessity was the mother of retention. About five pages into the first book, I typed some machine code into our Apple II+ and ran it. It worked! I was on my way.

One week later, our computer was gone, headed to England, and so were we.

I didn’t let that stop me: I started writing code in notebooks. I’d fill a page with Assembly language in a column on the right and then hand-assemble the code in a column on the left, manually converting the Assembly into machine code. Then, I would find an Apple II+ somewhere to type the hexadecimal machine code in to see if the program ran correctly. It was a laborious process, but I was learning and polishing my skills. I thought only of code. In school, my grades started to dip as I coded or assembled code in class. If we had a test, whatever I happened to remember went on the paper, but what I cared about, the only thing I cared about, was code.

Before we set off for England, we drove to Tucson to say goodbye to family. On the way, we stopped by the San Diego headquarters of Beagle Bros., a company that sold disks that contained a mix of programmer’s utility programs and, sometimes, games. I say “headquarters,” but Beagle Bros. existed in a home office in the house of its founder, Bert Kersey. It was a huge thrill for me to meet him; he was a rock star in my eyes. Beagle Bros. programs and manuals always had a sense of humor about them, and it was perfectly in keeping with that when we stepped up to the front door and saw a sign beneath the door buzzer: “Press once for trapdoor, twice for doorbell.” The rest of the house had quirks, too, including a table with roller skates on its legs, which I thought was great.

That visit was inspiring, not least because it showed my parents were warming even more to my zest for computers. A year later, I devised a program that claimed to take your pulse when you touched the space bar. It was a prank program, obviously, written in two lines for Uncle Louie’s Perpetual Two-Liner Contest. I mailed the game from England as an entry to the contest, and Bert included it on a 1983 release called Silicon Salad. It was my first published program.

The Royal Air Force Base in Alconbury, England, is in Cambridgeshire, sixty miles north of London. There was a huge community of American military in the area, and we lived in a house about a thirty-minute drive from the 1,000-acre base. I covered the walls of my bedroom in computer game ads I cut out of magazines.

Since I transferred in the middle of the school year, I met with a guidance counselor at Alconbury Middle High School, which was an all-American school the Department of Defense Education Activity operated. The guidance counselor told me the school offered an introductory BASIC class.

“I know BASIC,” I said, “but I’d still love to take the class.” It seemed preferable to taking physical education.

“The class is halfway through the year, so you’ll have to talk to the teacher and see if it’s the right fit. We’ll need to convince her you haven’t fallen behind.”

“Oh, sure,” I said, and we headed toward her classroom.

He introduced me to Gail Rachels, my first formal programming teacher.

“I don’t think being behind is going to be a problem,” I told her. “I know a lot about BASIC. In fact, I’ve got some disks with my work on it. I’m starting to learn Assembly, too.”

She didn’t say much while I gave her a quick demo, but I got the sense she was impressed. The next day, my second day of school, I walked into her class. She posted an assignment on the board, telling the class they needed to finish it by the end of the period, and then she said, “Come with me, John.”

We walked to her car and drove across the base to the aggressor squadron, which is where fighter pilots train. She introduced me to Captain Spencer. He seemed like a funny, fast-talking guy. In the middle of our conversation, he picked up the phone and jabbered some world-class military speak: “Delta Eagle, this is Squadron Captain Spencer, please initiate the protocol we discussed earlier.”

He stood up and a giant vault-like door opened slowly. He ushered us into a cavernous room with officers seated at terminals and led us to a Cromemco minicomputer.

“Do you think you can program this, John?”

“Can I check it out?”

“Please.”

It was a CP/M operating system running HP BASIC.

“Yeah, I can program this, no problem.”

“Would you like a job?”

I’d been in England for two days and landed computer work!

“Yeah. That would be awesome.”

At the age of fifteen, I started programming for the US Air Force. Captain Spencer was high octane like Tom Cruise in Top Gun. He told me that he’d met my teacher at the bar at the Officer’s Club, and she told him about this whiz kid who was going to be impossible to teach. My stepfather talked to Captain Spencer and made sure I wasn’t working with any classified information—just placeholder data. He was worried that I might be kidnapped and wanted to be sure I didn’t access anything “important.” That might sound a little over the top, but my stepdad was, in his way, on the front lines of the Cold War, retrieving and monitoring surveillance operations behind the Iron Curtain. Captain Spencer arranged for me to work after school and over the summer.

In 1983, the average adult had no real idea about computers. I was so far ahead of the curve that I wasn’t just a novelty, I was an in-demand rarity. At the time, I wasn’t really aware of this. My eye was on the coders who were ahead of me. I suppose a university town like Cambridge had its fair share of computer-knowledgeable people, but in Alconbury, I was the only real programmer around. Soon after the family Apple II+ arrived, my stepdad asked me to create report forms. So I made a program for him. I was happy to code, happy to have my Apple II+, and he was happy to have the forms he needed.

I started to make game after game after game. With each completed project, I put the code and a disk in a letter and submitted my work to programming magazines like the Apple-only Nibble and inCider. The first few months, I was rewarded with nothing but rejections, but I was determined, and eventually inCider bought my maze game Scout Search for $100. In it, players take the role of a Scoutmaster charged with gathering their lost scouts before a rampaging grizzly bear finds them. I was incredibly proud, and it fed my confidence. I was a professional programmer and game designer. Nobody could take that away from me.

A magazine called A+ announced a programming competition. Each month, from June to December, they planned to choose and publish a winning program submitted by readers. I got to work and sent them a side-scrolling shooter game called Cavern Crusader. I felt so good about it, I actually told them I was going to win the competition. Looking back, I can’t believe I did this, but sure enough, Cavern Crusader was picked for the December issue, and I got $500 for my work. I’d made money—real money—with one of my video games.

Aside from my computer obsession, I was a regular teen. I had always liked music, and I found myself gravitating to loud guitars. Although I looked squeaky clean, I was listening to heavy metal and debating the finer riffs of Mötley Crüe, Dokken, Iron Maiden, Black Sabbath, and Judas Priest. Unlike a lot of music-loving teens, I really wasn’t into the rebellious, let’s-get-wasted side of the music scene. I experimented with booze exactly once back in Rocklin when I was thirteen. Rob was over, and my stepdad was away in Asia. We were up late watching movies when I decided it would be a great idea to sample every bottle of booze in the liquor cabinet. I passed out and woke up feeling horrible. It was a lesson learned. My mom didn’t even have to lecture me. I had zero interest in booze after that. I loved the visceral experience of the sound of metal. It charged me up, and although I looked middle-of-the-road, I liked the theatrical, badass look of metal bands.*

When we moved to England, I realized that I could reinvent myself. In Rocklin, I had been a funny kid who had braces, glasses, and strict parents. Now, the braces were off, and the parents were a little more forgiving. My buddies who might have teased me about liking a girl were thousands of miles away. That first week, riding the bus to school, I figured this all out, and I decided I may as well start dating. At the Christmas dance on base, I met a girl named Jennifer Monroe, and we really connected. She was smart, pretty, and, like me, industrious, and we remain friends to this day.

My senior year of high school was busy. I was writing games and sending them to magazines, and I even created my own company, Capitol Ideas Software, a name inspired by Capitol Computers, the local computer store in Roseville near Rocklin. I didn’t actually register the name, but I wanted to sound more official and grown-up when I submitted my work to magazines. Of course, I also undercut that “sophistication” with my sign-off on every submission letter:

John Romero, Ace Programmer.

I was trying to make an impact and do something memorable with my teenaged query letters. I thought it was both aspirational and funny. Some part of me also hoped it was true. I did not personally know any programmers who knew more than I did, including my teachers or other professionals at the base. I’ve also never been good at navigating the fine line between being vocally enthusiastic and honestly proud of my work and appearing to be cocky or egotistical. My wife, Brenda, calls this “Programmer Nuance Deficit Disorder.” By that, she means programmers don’t generally deal in ambiguity. We are binary creatures: Code works or it doesn’t; input in, output out. Fortunately, my sign-off didn’t work against me in those early days, judging by the acceptance rate on my games.

I was also an ace grocery bagger and inventory stocker my senior year, working every day after school in the on-base commissary—a super-cheap grocery store filled with American products for the enlisted people and their families. I saved each penny of that money hoping to get myself a new computer—an Apple IIe. I also worked mornings in the commissary with my mom and brother. For months, we drove to the base at 12 a.m. and unpacked boxes and stocked the shelves for a few hours before going home. The money was for our big summer plan: going to Disneyland—the most fun, thrilling, and immersive experience I’d had as a kid. My mom and brother loved it, too, and that was what we wanted to do when I graduated—spend an entire week at Disneyland riding the rides.

Graduation was sort of bittersweet, mostly because Jennifer and I were a great pair. Her dad, a senior Air Force officer, liked me. My parents liked her. Our parents liked each other. There was some talk about me going to college in England while she finished her last year of high school, but I told Jennifer I needed to be more focused on the future. The technology in England was far behind the US in the 1980s. I knew everything was happening in California, in Silicon Valley, in the US.*

“I need to be there,” I told Jennifer.

I had to make games, and to do that, I had to be in the United States.

I wasn’t just going to Disneyland. I was leaving England and my friends and family to follow my dream.

 

* Speaking of magazines that inspired me, about fifteen years later, when I’d become well-known, I sent my Melvin comics to National Lampoon. I was a big fan of that magazine, and I would have been honored to have Melvin grace their pages. Alas, their editors didn’t agree.

* Years later, I found out from Nasir himself that he programmed directly into the mini-assembler and used no source code, which is like writing a novel by typing a single sentence at a time and having it disappear directly into your computer. Eventually, the whole novel will be done, but you have no way of looking back on anything you’ve written previously while you’re writing it. Nasir was so skilled that he was the first coder who did things on the Apple II that made other Apple II programmers ask, “How?”

* An understanding of the hexadecimal numbering system is useful for programmers now and was essential for programmers in the 1980s. Explaining hex is beyond the scope of this story, but I encourage you to look it up if you’re interested.

* Zero page is the first 256 bytes of an 8-bit computer’s memory space. It’s special because the 6502 CPU had special instructions to use that area of memory at high speed.

* Growing my hair long had nothing to do with heavy metal. At first, it was time saving. Letting it grow meant I didn’t need to make time for haircuts. In my thirties, I embraced it for its Indigenous cultural importance.

* Of course, I found out later in life that the tech industry was also exploding in England and Scotland, but at the time, California was all I knew.