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.
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.
Hello! I tried to clean up the music a bit, the cart is smaller now. On the pico8 app, the music is quite good, but on web it's lagging. Do you have any suggestions on how to improve it?
The music was generated converting the star trek main theme to pico-8 with kittenm4ster's MIDI to PICO-8 (https://github.com/andmatand/midi-to-pico8)
Thank you! I'm glad you like it.
I'm not sure I posted here the latest changes (https://emabolo.itch.io/star-trek-p8/devlog/240633/star-trek-p8-v103-released). I'll do it soon. Best!
You got a good thing going on but there's need for improvements. NOT TO MENTION ADDING OTHER STUFF.
The problem ultimately is there's not enough time to finish off the Klingons. The reason for this is that most of them are sparsely scattered. In the original game, you had clusters of Klingons that could be killed. Also, you could fire more than one torpedo. In this game you can only do one torpedo making them almost ineffective.
I recommend you play Starfleet I the war begins. They had a lot of great things including cloaked ships, boarding, tractor beams, self destruct, hyperspace, lots of cool stuff.
Well now, @sacredlion. Here is a walkthrough I wrote for this exact game you can use that make it easier to play. For you other Piconians, only read this walkthrough if you really get stuck and cannot seem to win the game.
- Before you move, shoot, or warp, every turn set your shield to a nice high value like 1000. Use LEFT and RIGHT arrow keys for fine control or UP and DOWN for coarse (faster) control.
- When arriving if there are no enemies, use Long Range Scan. ALWAYS use Long Range Scan before warp. It costs nothing and you NEVER want to warp to a quadrant that has no enemies. ALWAYS warp to a quadrant with enemies. If there are no enemies seen on your map when selecting warp. Warp to an area that will reveal the most data. For instance an area that is surround by 8 unknown areas. Avoid warping right next to a known area as even if it is just one, you would have 7 unknown areas revealed instead of 8. This step is CRITICAL to cut down on the number of warps you need to find all the hidden enemy Klingons.
- With no enemies in your current quadrant, use Long Range Scan then warp to the next quadrant that has enemies. Enemies appear on the map as being the first left-most digit in 3. The next digit is the number of starbases, usually one. And the last right-most digit is the number of stars. Any warp counts as a day. NOTE ! Use Warp as little as possible as you only have so many days to rid the galaxy of Klingons. If you run out of time, you lose despite your ship's condition and despite how many Klingons you have destroyed.
- If you are surrounded by enemies, be aware that they will only move on three conditions, you fire your Phasers, you shoot a torpedo, or you use Impulse Engines to move to a new location.
- Keep your distance from the enemy. The farther you are away from the Klingons the less damage they can do. It is quite worth it to use your Impulse Engines to make a move as far away from the enemy as you can rather than making the mistake of shooting one with a torpedo and a different one nearby lands a fatal hit of phasers against you for being so close. Also using Impulse Engines you can cross right through any obstacles including stars, enemies, and starbases. It is where you wind up that must be an empty square of space.
- Try to use only your torpedoes to attack. They cost zero energy and always destroy a Klingon. If you have stars between you or a Klingon or they are at an angle you are not certain you can peg them, instead use Impulse Engines to move so you are perfectly horizontal or vertical from them - and still as far away from them as you can. Then shoot a torpedo knowing for certain it will hit.
- Torpedoes are aimed by numbers 1, 7, 5, 3 which are right, down, left, and up. To shoot diagonally choose integers of 8, 6, 4, and 2. Use the dot that appears around the Enterprise to see your firing angle. If you are attempting to shoot at a target and not certain you can get a good hit, it may be worth it to use Impulse Engines to get a clearer shot once again trying to stay as far away from the Klingons as possible.
- Once you have a single quadrant cleared of Klingons, immediately return your shields back to 1000 as they may have been damaged during the attack. Do a Long Range Scan to find more enemies, and prepare to warp there again.
- Use starbases to replenish your torpedoes and energy sparingly ! As it costs you a full day to warp, if you warp from a starbase and then to enemies it will cost you 2-days to do so. It is the CLOCK in this game that will often defeat you. That is more your enemy rather than the Klingons. If you can aim for a quadrant that has both enemies and a starbase then you have two good reasons for being there. Starbases do not run out of supplies so you can use them again and again.
- ALWAYS return your shields back to 1000 after you have docked. Once you dock, your shields are always lowered to zero. Don't make the mistake of entering combat with zero shields as any hit from the Klingons will destroy you then.
Use these methods effectively as I have described, make no errors, and you are guaranteed to win with days to spare.
There are hundreds (if not thousands) of versions of Star Trek; I'm sure some are better than others, I don't know all of them. In my case, I decided to port the official game that was listed in the 1978 book BASIC COMPUTER GAMES (see here )
I ported the BASIC code to LUA and later converted the text-only LUA version to PICO-8. Which means the gameplay is faithfully respected.
The distribution of Klingons is decided here:
820 FORI=1TO8:FORJ=1TO8:K3=0:Z(I,J)=0:R1=RND(1) 850 IFR1>.98THENK3=3:K9=K9+3:GOTO980 860 IFR1>.95THENK3=2:K9=K9+2:GOTO980 870 IFR1>.80THENK3=1:K9=K9+1
If you do the math, it means 10% probability to have a fleet of 3, 15% to have a fleet of 2, and 75% to have a fleet of 1. This is the exact distribution you will find in my version.
Also, in the 1978 game, you can only launch one torpedo. This is fair because torpedoes always destroy the enemies.
It's expected that you lose because time is over. This game is a race against time. The difficulty is not being able to destroy the enemies. This is easy. If there was not a time limit, you could go back to the starbases to refill the energy over and over again. Instead, like many early games, Star Trek is a resource management game, so you have to plan very carefully how much energy you want to spend for each action.
Finally, I know that the game developer is not the best playtester, but I actually won the games several times, even at the max difficulty level, so it's possible to win. Just keep trying and I'm sure you will do it :)
[Please log in to post a comment]