BBC Elite game for Pythonista #128
Replies: 1 comment
-
|
@mmccthomas I love Elite and space sims in general. I will have to try this out, although I have not played the original in a long time. Great idea, I find projects like this fascinating in a similar way to ports making Doom run on anything and everything. I can see where your thoughts were at before on porting from assembly code into Pythonista for a project like this. Interesting way of accomplishing it porting into python with AI and filling in the gaps. I imagine I probably would have gone down a more purely emulation route myself. Which incidentally is partly how I ended up down my current path of thinking on projects. Making it possible to run things like Elite ported with minor adjustments/compiled from original source would fall into this scope in theory. Have you thought about porting something like Doom or Quake to Pythonista? I think they could also be interesting to try. The graphics / screen buffers I think are probably always going to be the most tricky without a standard ‘driver’. I’m wondering if this is how you went about it given Elite must draw in fairly low level calls like in a similar way to using OpenGL or similar for lines / triangles / points etc? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I’m pleased to present a “new” game for Pythonista.
https://github.com/mmccthomas/Pythonista_Elite
This is a classic game from 1984, originally on the BBC Micro, but ported to many other machines,
It is a space trading and combat game, using 3D wireframe graphics. At the time it was revolutionary.
There has been a similar game (Galaxy on Fire) from 2004, but I have not seen Elite on the iPad.
I began by using Gemini and Claude AI to convert a C-based conversion of the original 6502 source
code which was released by one of the original authors, into Python for Pythonista.
This captured much of the original logic, but there was a LOT of work to port the graphics to Pythonista
scene library and work within the Scene loop.
The original game was heavily keyboard based, so I implemented a custom onscreen keyboard with
labelled coloured keys, and two onscreen joysticks for direction and speed. Touch has been used instead
of cursor key movement for selecting targets.
This is fairly large piece of work, with 22 modules and some 30 classes. It has taken about 6 weeks to refine to this point.
Hopefully it is bug free!
If there are Elite enthusiasts out there who would like to improve this version, I would love to collaborate.
Chris Thomas
June 2026
Beta Was this translation helpful? Give feedback.
All reactions