This is my attempt to convert the 1978 Super Star Trek game to PICO-8. This early example of a turn-based space strategy game has been written in 1974 by Bob Leedom and was published in the 1978 book BASIC COMPUTER GAMES edited by David Ahl. After that, it was ported, converted, and enhanced many times, but I think nobody tried to make a PICO-8 version.
It's a text-only game, commands are entered on the console, so converting it to PICO-8 required several changes, but I tried to keep the original gameplay intact.
In the new version:
- all the features of the original games are now present
- the game can be won by defeating all the Klingons before time is over and lost if you are destroyed, time expires, or all energy is depleted
- photon torpedoes and phasers have animations, as well as ships explosions
- when you use impulse engines, the Enterprise rotates and reaches the new position (though the animation is lame)
- if you use impulse engines, or try to warp when Klingons ships are present, they will attack you
- all systems can now be damaged, and this affects the performance of the devices (they will be automatically repaired if you dock)
I would really love to know what you think about it. Let me know your feedback, suggestions, critics, and so on. Btw, this is my first PICO-8 game, so be patient.
If you already know Super Star Trek, playing my PICO-8 version should be quite straightforward. If you don't, below you can find a quick tutorial.
How to play
- use ⬅️➡️ to select a command, and Z to confirm. Normally X cancels a command.
- your goal is to destroy all Klingons before time is over. Time passes when you warp to a new sector
- you start in a random sector. There are 64 of them divided into an 8x8 grid
- first of all, use the long-range sensor scans (LRS) to see if there are Klingons in the surrounding sectors - unless you start the game in a sector with Klingons, in this case, you can attack directly (see later)
- with LRS, you will see a number for each sector. The first digit is the number of Klingon ships, the second the number of starbases, and the third the number of stars. Eg "205" means there are 2 enemy ships.
- if you have identified a sector with Klingons, use WRP to see the map and select the sector you want to jump, then press Z to go there
- before attacking, you need to raise your shields. Use SHE to divert energy to shields
- if there is only one ship, it's a good idea to use photon torpedoes, because they don't consume energy. You will have to select the torpedo course. You can try to move first, using impulse engines, to reach a better position, but remember that in this case, Klingons will attack first
- if there are multiple targets, select the phasers. Select the energy you want to use for the phasers and fire. Phasers attack all enemy targets automatically
- after you have attacked, the remaining Klingons will attack you
- you will notice that energy will be consumed quite soon. You need to find a starbase to replenish your energy. Once you have found a sector with a base, use the impulse engines to go close to a starbase and then dock (DCK)
- ship devices can be damaged during fights, this will affect the behavior of weapons, shields, sensors, etc.
If you are interested in the original game, check my article about Super Star Trek
or the Wikipedia entry
Let me know
In fact, it all started because I converted the BASIC program to LUA. I wrote a few articles about these ports. If you are interested, see my blog. You can download the source code there.
After that, I decided that it was the right occasion to do something I have always wanted to do: starting to program on the PICO-8. I'm having a lot of fun actually. I just added a particle explosion when you destroy a Klingon, I will post it soon.
Have you tried the game? What do you think about it?
Well, at the moment I miss a lot of transitions. When using impulse power the vessel should move smoothly from point A to B. You may use one of the easing functions you find in the BBS for this. It's a bit like JQuery. When you destroy a Klingon vessel there should be a small explosion, a animation with 2, 3 frames would suffice. Use the noise generator to generate an simple explosion sound.
Usability-wise I like it more when you use the symbols ❌ and ⭕ for the button names. When adjusting the energy level it should move in greater steps, possibly with acceleration. In the warp map screen it would be nice to see an outline around the current position.
You can take 1979's Star Raiders as an inspiration for animations and sound effects.
Thanks for the suggestions! Some of them are already done in the new version, have a look! I'm really proud of my photon torpedoes. I also added an explosion, including the sound effect. Phasers are animated too, but they are quite ugly. The Star Raiders sound effects are very cool, but I'm not sure I'll be able to replicate them.
The animation of the Enterprise is my next goal, but I think it would be nice to rotate the ship, to point to the right direction. Any suggestion about how to do it?
The destroy animation looks great! This is much more rewarding to play. Maybe you can fade out the phaser beams after half a second.
While you could rotate your sprites with code from rspr
... it looks super-messy to rotate a low-rez sprite. Why that is is explained in this medium post in-depth.
I would use a tool like Aesprite to create pre-rotated sprites. The amount of increments and therefore animation frames depends on the rotation speed you want.
I would combine the rotation with movement from A to B (so do not rotate the Enterprise in place, that would look stupid).
In the end, I didn't use the rotation algorithm, the result was not good. I created some new sprites for the 8 directions of the Enterprise.
I'm pretty happy about the result of the phasers.
The game is clearly missing more animations, sounds, and music, but now I would like to focus a bit on gameplay and balancing, maybe adding some kind of AI to the Klingons.
If you try the new version, let me know.
[Please log in to post a comment]