Super Star Trek 2.1

I guess it’s paleo-game theme week. For your retrocomputing pleasure, here’s my Python forward-port of the 1973 University of Texas FORTRAN Trek game: Super Star Trek.

Anybody old enough to remember TTYs probably played this on one. While it has accreted some features over time, it’s still functionally pretty close to the original FORTRAN Star Trek. You kids should get off my lawn try it, too – it retains considerable play value despite the primitive interface.

46 comments

  1. Yeah, but does it allow the Krispy Klingon method of play? Tank up at a starbase, warp at max to a sector with lots of Klingons, dump a couple thousand units into the phasers, then warp back to the starbase…lather, rinse repeat.

    1. >Yeah, but does it allow the Krispy Klingon method of play?

      I don’t know. Try it and tell me – if so, sounds like a bug.

  2. Empire may have been your drug of choice, but it was trek that had me hooked up to the vax 11/750 at 300 baud for all hours.

    I’m predicting an unproductive day ahead of me.

  3. Awesome! I remember playing this on the TTYs at Mansfield University back in 1979 when I was there for a two week summer camp. I even printed out the source to take home, I thought the damned thing would NEVER stop printing!

  4. I remember playing some variant on an 8080 Northstar, which was similar but it also had a lot of on-board details. A complete personel manifest (each who had specialties, like repair teams), all the rooms and decks were numbered (which would show up in damage reports). There was even a large 4-foot poster with the room number schematics.

    Otherwise the outside-ship play was similar. Does anybody know anything about what I may have played? This was around 1984, and it was for the early tty crt terminals.

  5. The old Star Trek game is at the heart of my favorite ooo-weee-ooo computer story. This was the mid-1970s; I was a CS undergrad at BYU. I was playing Star Trek one evening up on the (IIRC) 3rd floor of the engineering building, because the terminals directly across the hall from the DECsystem-10 (located on that floor) connected to it at 1200 baud (vs. the 300 baud speed for most terminals scattered elsewhere around campus). I had been playing for 2 or 3 hours, very much in the zone, holding everything in my head, zipping from sector to sector. I made a warp jump into a previously unexplored sector, got the message that two Klingons were in that sector and had just hit my ship with their weapons — and as those words appeared on the the CRT, the whole building swayed and shuddered, and not just a little bit, either. It went on for a few seconds; during that time, there was a moment of unreality in which I envisioned Klingon ships hovering above Utah Valley and was expecting to hear explosions. Things stopped swaying, though, and I figured I had been playing too long. I logged off of my DEC-10 account and headed out of the building.

    Found out a little while later that there had been a 6.0 earthquake up at the Utah/Idaho border that had been felt throughout the region (cf. here).

  6. Nice, I remember playing an Apple II version. This one is pretty buggy on my Mac though. It dies on the curs_set call; if I comment that out it runs and displays fine, but often crashes when moving between sectors. If I’m sufficiently motivated this weekend I’ll see about a patch.

  7. Most likely, but the subsequent errors don’t seem to be related to curses. Here’s one after I tried a move command:

    Traceback (most recent call last):
    File “sst.py”, line 6349, in
    makemoves()
    File “sst.py”, line 5942, in makemoves
    warp(wcourse=None, involuntary=False)
    File “sst.py”, line 3904, in warp
    imove(course, noattack=False)
    File “sst.py”, line 3527, in imove
    for m in range(icourse.moves):
    AttributeError: class course has no attribute ‘moves’

    Line 3904 looks fishy: imove(course, noattack=False). Shouldn’t it be passing wcourse instead of the course class object?

    1. >Line 3904 looks fishy: imove(course, noattack=False). Shouldn’t it be passing wcourse instead of the course class object?

      I’ll look into it.

  8. @Brian_2:

    I also remember playing what might have been Apple Trek (the Apple II variant) around the age of 10 or so. The screenshot on Wikipedia seems different than what I remember, however (I seem to recall the player’s only information about the game world being through textual descriptions, with no map view whatsoever), so I may have played an entirely different game, but it’s long enough ago that I’m not sure.

  9. Found out a little while later that there had been a 6.0 earthquake

    I remember that one, I was living south of Logan at the time. The onset sounded like a rising wind from the north, and then the chandelier in the living room started swaying…

  10. Type “ST” in an xterm on CentOS 6 results in:


    [me@myhost sst]$ sst.py
    Traceback (most recent call last):
    File "/usr/bin/sst.py", line 6349, in
    makemoves()
    File "/usr/bin/sst.py", line 5928, in makemoves
    status()
    File "/usr/bin/sst.py", line 4981, in status
    prstat(_("Position"), "%s , %s" % (game.quadrant, game.sector))
    File "/usr/bin/sst.py", line 3401, in prstat
    proutn(data)
    File "/usr/bin/sst.py", line 3182, in proutn
    curwnd.addstr(line)
    _curses.error: addstr() returned ERR

    1. >_curses.error: addstr() returned ERR

      Your curses implementation threw its cookies while attempting to update.

  11. Speaking of old games, has anyone ever found a copy of Don Daglow’s 1976 cRPG Dungeon for the PDP-10? I am interested in the early history of the genre, and I have tried looking high and low for a copy of it, but I have come up with nothing.

  12. @Jeff Read:

    Wasn’t Super Star Trek a BASIC game?

    Nope. The original game was written at the University of Texas in the 70s, and as such was written in the very popular language of the day — FORTRAN.

    There were several ports for the PC written variously in QuickBASIC, Turbo Pascal, and probably at least one C port. I had written a ~90% complete port in Turbo Pascal in the 1980s that was written as a BBS door, but it failed to survive a toasted hard drive. :( Wish I would have had something like git back then….

  13. Morgan,

    Might want to update the Wikipedia article then, because it and its sources both hold that the original game was written in BASIC for the Sigma 7, then ported to HP BASIC in 1972.

    “Super Star Trek”, the best known variant, was certainly a BASIC program, written by David Ahl; I had the book BASIC Computer Games in which it was published.

    1. >I certainly remember one variant in Fortran, but here’s an article which goes into the game’s BASIC roots

      Yes, that’s the very first Trek game anyone has identified (I think of it as “Mayfield Trek”). I have a copy in the ‘historic’ directory of the sst repo. There have been some claims of older versions, but they seem to be confused memories of MIT SPACEWR.

      UT Trek was not a port of Mayfield Trek. My friend Dave Matuszek and some collaborators wrote it in ’73-74 after playing a BASIC Trek by Grady Hicks and Jim Korp which I also have in my ‘historic’ directory. Hicks/Korp Trek said in its header comment “GENERAL IDEA STOLEN FROM PENN. U. BY HICKS.”; I have not been able to find a copy of that game. and it is unknown whether it was a derivative of Mayfield Trek or an independent invention now lost.

  14. What I remember is playing Trek on an IBM 5100, at an open house held by San Jose City College. This irritated my wife no end, as I spent most of the time playing rather than circulating among the other attendees; it did, however, serve as a harbinger of what the rest of our life together would be like as small computers became more common. (We’re still married.)

    OT: Eric, if you’re still hunting for a solution to your GPS testing problems, drop me an email and I’ll describe the rig that worked for me for ten years or so. IIRC it cost something like $200, all up, in the mid-Nineties. I don’t check your blog as often as I should, and missed the subject when it came up.

    Regards,
    Ric

    1. >Eric, if you’re still hunting for a solution to your GPS testing problems

      I have the electronics. Now I need to have the exterior antenna roof mounted and the reradiator installed in my office.

  15. Morgan – I think ESR’s already fixed this (in git) after I mentioned it on G+ thread as I’m able to save and load saved games now.

  16. You know, the real question is when will Super Star Trek be ported to Android. Inquiring minds want to know….

    1. >You know, the real question is when will Super Star Trek be ported to Android.

      That would be hard in several ways. The interface is totally keyboard-oriented, and would have to run inside some sort of terminal emulator.

  17. Ah… the olden days… This is a somewhat off-topic (hell, parts of it are very off-topic) but…

    In my first year in the High School computer club, we would punch cards at school for FORTRAN and submit the “card decks” to the computer center at the local technical college (which gave free computer time to high school computer clubs). Alternatively, we would use TTY terminals at the college for BASIC. Some TTY terminals had paper tape punch/readers for saving programs.

    Does anyone remember Texas Instruments “Silent 700” terminals that used heat-sensitive paper (or some such thing)? Some of them had 1 or 2 audio cassette recorder/players with which you could save programs.

    I recall one of the guys, who was also involved with the computer club at the University, describing a new concept… All the big computers could phone each other. If the right sort of program was started on one computer, it could phone other computers, each of which would copy the program and run it… lather, rinse and repeat. The concept was called “wild fire” – the concept was floating around, but I don’t think the word “virus” had become attached to it yet.

    In my second year, we got our own TTY terminal at school. This led to an incident (about the time the ZILOG Z80 chip came out in the ’70s I think)…

    This guy with the contacts at the university had heard about the hobby of trying to get onto computers owned by impressive organizations. He phoned Houston directory assistance and got the number for the Houston Manned Spacecraft Center (HMSC). He then called them, asked for the computer center, and asked the gentleman that answered if he could give us a low-speed line number. The gentleman gave us a number. When we tried to call it, all we got was “We’re haavin’ trouuble compleeetin’ yer caaall as daaled. Please hang up an’ traa yer caall agiin.”

    So, he phoned HMSC again but through a different number and ended up talking to a different gentleman. He told the gentleman that we were having trouble logging on to the PDP (guessing that they MUST have a PDP around there), and the gentleman asked what number we were using. He told the gentleman the number we had, and the gentleman said “Oh, that’s a bad number… bad number… try this one.

    It turned out that the new number was a phone number for some PDP-11 and the first number we got was a login name/number. I can’t recall how we found out the password.

    In any case, we did successfully login, fire up the BASIC interpreter to prove it, and then got the hell out of there. After a few days we discovered that our terminal room at school was locked. We didn’t want to draw any attention to ourselves, so one asked about it. The door stayed locked for about a week and then was unlocked. After that, we never heard one word about it – not even about the long-distance charges.

    Of course in those days, a person didn’t go to prison for that sort of silly (but highly amusing) thing.

  18. I only heard the “Houston Manned Space Craft” story from one of the other guys – I wasn’t a participant. I told the story the way it was told to me. Remembering names has always been hard for me, and my memory isn’t improving with age – I can’t remember the names of any of the guys in the computer club (the few guys I hung out with weren’t in the club).

  19. Which country is scariest? The answer depends on who you are and, much more importantly, where you are. A person living in Britain would probably have a different answer than a person living in Japan.

    Canada’s history and politics are (usually) so boring (and I have a problem remembering names) that I have a hard time remembering the name of the Canadian Prime Minister. But you can bet your ass that I don’t forget the name of the American President.

  20. I actually played this on some kind of TTY when I was about 4 or 5 years old, say 1976ish.

  21. Was this in that big yellow book of BASIC games? If so I spent an entire weekend when I was a child typing that into QB on an old Toshiba PC just to play it, good memories :)

  22. I remember there was a modified shareware version in the late 80s that allowed a GUI interface and the use of cursor keys. It was easier to play, it had a classic version and a modified one. I’d love to see a Windows or OS X version of this.

  23. I remember adding commands to this when I worked at Amdahl in the 70’s. I kept getting pasted as I undocked, so I added a dock command so I could undock, fire at attackers, and redock to renew energy. There wasn’t time to move, fire and get back. I think I also added something to the scanner commands.
    I’ll have to see if those are still in there.

    1. >Looks like the link is now broken? Is there a new link to the source? Thx!

      Looks like Berlios is down. This is probably temporary.

  24. I ported the Berlios code to Java. It’s Java code that still looks a lot like the original C code. Link: http://www.wglxy.com/java-port-of-super-star-trek. That page also has a copy of the C code.

    I added some extensions to the Java version to see if I could build an Android layer around the original game. If you would like to see a reinterpretation of the game for Android, you can try it here: http://www.wglxy.com/double-star-beta. It plays like the old game, but now has a storyline behind the game.

Leave a Reply to Brian_2 Cancel reply

Your email address will not be published. Required fields are marked *