Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

AppGameKit/AppGameKit Studio Showcase / [WIP] Light Gain - Classic "Elite" style 3D space combat / trading game

Years of Service
User Offline
Joined: 30th Jan 2009
Location: Cambridge
Posted: 8th Dec 2022 16:38 Edited at: 9th Dec 2022 08:16
Back in 1984 I played Elite on the BBC Micro for the first time. It was a truly ground-breaking and immersive experience and is still to this day one of my favourite games of all time.
Ever since then it’s been one of my dreams to be able to create similar myself. After numerous attempts at 3D space games (and nearly 40 years later), I’ve finally started something that is approaching what I want to make.

Light Gain is set in a future just after the invention of the “Light Gain Drive”; a technology that makes faster than light (FTL) possible.

The game will be based largely within the solar system to start with but may spread out to neighbouring systems as the game progresses.
It will be a sandbox style game like the original Elite with combat, trading, and missions.

The sun, planets, moons, and distances are all to-scale. The starfield, planets and moons use procedural generation, so they are only approximations of their real-life counterparts.

Currently the game is in an early stage, but it is starting to take shape.
There isn’t currently much to do other than fly around and see things, but there are NPC’s around space stations that will usually attack, and the occasional friendly NPC too.

The game is designed for a gamepad, although the included configuration files can be edited and alternative controls can be assigned if required. The game will search for an xinput gamepad (e.g. Xbox controller) and will choose the xinput control profile if found. If not, the keyboard profile is chosen.
As there are lots of control bindings for this game, some of the buttons on the controller have multiple uses. E.g. holding down the back, start, Y or B buttons will show a popup menu with additional bindings. However, pressing and releasing the button immediately will have a different effect (e.g. the start button will pause or resume the game).

The Light Gain drive can be activated (when using the gamepad) by holding down the B button (which shows the drive menu) then pressing the D Pad up. When the drive is active the top speed is limited by nearby objects. The closer you are, the slower you’ll go. If you want to travel to the opposite side of a planet quickly, take a wider orbit.

Still to do:
Docking, trading, missions, more ships, more weapons, finish the outer solar system (currently only have the inner solar system and Saturn minus moons), user interface for game options / configuration, and lots more!


Login to view attachments
VIP Member
Gold Codemaster
Years of Service
User Offline
Joined: 25th Jun 2009
Location: Germany
Posted: 10th Dec 2022 07:56
You got me there. Your personal story about elite that you describe could also be mine.
I had already tried a few approaches to writing such a game. However, I started with the screens on the station with economy, local and galaxy maps, and got to grips with procedural generation of worlds.
If you know C/C++ then this might be helpful.
You can read a lot about what is behind the original elite. This is supposed to be a reversed engeneer version of the original C-64 game - and translated to C.

But this is about your game.
I'm impressed with what you've done so far, and I noticed that you described the distance to the target in Gm (Giga Meter?).
For my part, I would prefer AU (Astronomical Unit) or Ls (Light seconds).
But that's just my opinion.

Just keep it up the good work.
Share your knowledge. It\'s a way to achieve immortality. (Tenzin Gyatso)

Donations are always welcome.
Years of Service
User Offline
Joined: 3rd Jul 2016
Location: Laniakea Supercluster
Posted: 10th Dec 2022 12:49
Very nice,

I loved Elite on the C64 .
Keep up the good work!


Coders don't die, they just gosub without return
Years of Service
User Offline
Joined: 30th Jan 2009
Location: Cambridge
Posted: 11th Dec 2022 09:37 Edited at: 11th Dec 2022 09:43
Thank you both.

Madbit - I'll take a look at the code, that will be very interesting. I believe the C64 version was ported by the original developers (although I never played that one)? A translation into C is very welcome - I wouldn't stand a chance of understanding the original assembly language

Quote: "
I noticed that you described the distance to the target in Gm (Giga Meter?).
For my part, I would prefer AU (Astronomical Unit) or Ls (Light seconds).

Yep, me too. It's in gigameters at the moment just to make it easier for me to test/debug as all of the game object distances are measured in km. I'll change that for the next version.
AGK Developer
Years of Service
User Offline
Joined: 9th Jun 2003
Posted: 11th Dec 2022 13:09
I remember the countless hours I put into Elite on the C64. What a great game it was.
Retired Moderator
Years of Service
User Offline
Joined: 11th Jan 2005
Playing: AGK is my friend
Posted: 9th Feb 2023 04:17
Love your graphic representation of what is a very classic game, A friend of mine would spend many hours playing it on a BBC micro, I myself didnt have a computer myself at that time. But did have access to other computers but unfortunately Elit wasn't available for those. Interested in see how it plays, one thing i did like with highly involved games is after work being able to jump in and just play a round or two which was why i was a big fan of games like f29 and not so much f19. The jump in and play made it more playable as opposed to accelerating time but perhaps not something to consider in a retro remake.

Login to post a reply

Server time is: 2023-10-02 20:03:58
Your offset time is: 2023-10-02 20:03:58