Two decades ago C.J.Pinder reverse engineered the BBC disk version of Elite and wrote a modern equivalent – ‘the new kind’ – which over time was ported to a multitude of systems. His game is extremely faithful to the original, using the same ships, trade items, missions and what is also important: the same random no. generator to generate the 8 galaxies each with 256 planets. And the evaluation functionality to generate the properties and names for them. So like the original it uses a lot of texts and occasionally even vector graphics output per frame – but nothing which could not be managed for a Vectrex port.
The text output pages do indeed use a lot of text so I decided early on to add a more flexible version of the scrolling text system the vf menu uses to the game, too. A few tiny changes had to be made to the game – e.g. the Constrictor mission planet updates are not in the planet info. anymore since they could be overlooked there. Instead a ‘station message’ will pop up after docking. And the game is running at 50Hz, the Elite universe with all objects is calculated each frame and the 3D vector data generated, too, which results in a very smooth space experience.
The last concern was how to play the game – there is no Vectrex keyboard after all – and Elite does use quite a few input commands. The input strategy here is two-fold: for the status/station pages mostly the joystick is used and 2:/3: cycles through different pages. In space however, where a lot of commands in principle can be available, 1: opens up a list of available commands to select for button 4: e.g. firing the laser, changing speed, warp jumps, hyperspace etc. This needs a bit getting used to at the start but I have played the entire game successfully through (well, finished the Thargoid mission) that way and I did enjoy it. Still, to improve matters the buttons of the 2nd controller port are always measured and are directly mapped onto the most important actions. And these entries can be (optionally) removed from the command selection list so that just the few rarer ones are left. Esp. for dogfights this setup is definitely better. Although as mentioned I did defeat the Constrictor with just the one controller..
The visual output obviously also lacks color to distinguish friend from foe but using different brightness levels and more importantly blinking indicators work just as well – anyone displayed with a blinking ‘lollipop’ in the bottom overview is harmful. Similarly the compass is darker when directing you to the planet and becomes bright when the station is detected. And the compass ‘dot’ is either solid if the planet/station is ahead of you or blinking if behind so once you understand the concept you will always know where in space the planet/station is in relation to your position.
Porting this game was an absolute pleasure – the original code was in a nice state, the vf library perfectly suited to run this game, the gameplay and visual output in space just beautiful and since I never played Elite before I actually got to know and play the game after all, 3.5 decades after it was released. I have mostly played role playing games back then – and you could even argue Elite is the ultimate open-world, space rpg: only grinding and no evil space lord to defeat to become ‘ELITE’ after all, but grinding for grindings-sake is still not me. So besides the start, figuring out the game and building up your ship, I like the missions here where the game has more action.
general input on status pages:
1: leave station/status pages
2: switch to previous page
3: switch to next page
market pages:
joystick up/down to select item
left/right to buy/sell item
renaming comander:
1: cancel renaming
2: or 3: end renaming
4: select letter
charts:
joystick to select hyperspace destination
4: back to origin
>when already at origin 4: on the galactic chart
enters a 'search planet by name' mode
in space:
1: enters/exits a selection menu for the available commands
2: cycle view: front->rear->left->right and back to 'front'
3: enter status pages, the game is however not paused
4: execute selected command
when pressing 4:'Speed' the joystick input is not used for
climb/roll changes but for speed increase/decrease
also always available via the 2nd controller are
4: Fire Laser
3: Target Missile / Fire Missile
2: Speed
1: Warp Jump