Interview with Amit Patel, Creator of "Solar Realms Elite"

bananaboy1 pts0 comments

Amit Patel, creator of "Solar Realms Elite" - Break Into Chat

Skip to content

Amit Patel, creator of "Solar Realms Elite"

By

Josh Renaud

Feb. 18, 2013

In 1990, Amit Patel created the BBS door game Solar Realms Elite. In his other life he has worked with programming languages, scientific equipment, data analysis, visualization, geological exploration, simulation of complex systems, economic modeling, maps, trend analysis, artificial intelligence, and web software. He’s now working on interactive reference materials for game developers.

SRE was one of my all-time favorite games. It was my great pleasure, then, to interview Patel about SRE. The interview was conducted by email Jan. 3-27, 2013.

Do you enjoy my retrocomputing interviews on Break Into Chat? Please join my email list and stay in touch. 📬

Josh: I have a clear memory of the first computer I ever used: a Commodore 64 in my kindergarten class. When did your family get into computers? What kinds did you use over the years?

Amit: My first experience with a computer was with a TRS-80 in elementary school, for just a few weeks. The only project I remember from that experience was using the ‘block’ character graphics to make a graphical pac-man/ghost animation. A few years later, our family got a Commodore 64, and that was what I used to teach myself programming. Our middle school taught BASIC and Logo on Tandy computers. My high school taught BASIC, Pascal, COBOL, and FORTRAN with a VAX 11/750, a 3MHz minicomputer that was shared among all the students between two schools. I had also played a little with Atari, Mac, and Amiga systems, as well as programming my Casio FX-4000 calculator, which was amazing in its capabilities. At home I had an IBM PC-XT, and learned Turbo Pascal, C, C++, and Prolog, all from Borland, which made affordable language tools for PCs. Many of the professional language tools could cost hundreds of dollars, but Turbo Pascal was a mere $50, and that was my first step outside of BASIC, which came with the computer. Turbo Pascal was truly amazing.

My dad once typed in a very long BASIC program. At that time we hadn’t figured out how to save a program to tape, so we just left the computer on for many days to keep it in RAM. Those were the days! I was reminded of that when I read your SRE Design Notes. You mention playing some of David Ahl’s "Computer Basic Games." Was that your first exposure to computer programming?

We had a tape drive on the Commodore 64 but it could take 30 minutes to load a program. Yes, those were the days! I mostly learned by borrowing books and magazines from the local library, and also by reading the manuals that came with the computer, back when computer manuals actually explained things. David Ahl’s book was great. The examples in most computer books were fairly mundane, but "Computer Basic Games" gave me fun things to play with. I could type in a program, play with it, modify the program, evaluate the modified game rules, and so on. In addition to games, I experimented with graphics, user interfaces, optimization, multitasking, program structure, and many other things. I found it best to learn by reading about something, then experimenting, then going back to reading.

My interest in UIs shows up in SRE. The setup program has menus, dialog boxes, overlapping windows, titlebars, keyboard shortcuts, drop shadows that darkened text, scrollbars, all implemented in my own UI toolkit. Remote users got menus that highlighted the shortcut keys, defaults highlighted with capital letters, and advanced input fields with shortcuts like "3k" expanding out to "3000". I paid attention to little details, including bright/dark color combinations, formatting numbers with commas, and handling plurals correctly ("1 planet" not "1 planets" or "1 planet(s)"). My interest in optimization also showed up in SRE, although not visibly. Since SRE was color-heavy (often changing colors for each character), I wrote an ANSI color optimizer that calculated character by character the optimal ANSI code sequences to change colors. Since the BBS and game shared memory, I carefully optimized the RAM usage, and used "overlays" to shrink the game even more. My interest in multitasking also showed up, with my own multitasking system that allowed the player’s gameplay, the status bar, and the sysop commands to all run in their own "cooperative threads". SRE also contains my experiments with encryption, economics, game theory, programming languages, and simulation.

The pattern with my programming projects was that I wasn’t writing a program purely to make a program, but also to experiment with new ideas and learn new things. That pattern continues to this day. 🙂 It’s great for learning but not optimal for short term productivity.

Were you much of a gamer growing up? Were games a social experience in your house?

I did play games but I wasn’t that much of a gamer. I especially enjoyed RPGs, such as the Ultima and Bard’s Tale series....

computer program game programming games basic

Related Articles