Solarex - Travel and Explore the Galaxy

Long ago I had been working on an Elite II - Frontier clone. The project overall didn’t succeed, but I had the galaxy and solar system generators mostly done, also a bit of the space flight and planet surface exploration parts.

Some time ago I was reminded of this again, and I have tried to revive parts of the old code. Particularly the solar system generator and galactical map was of interest for me, and so I started to port those to Java. Meanwhile the game developed some more in the direction of a space exploration game, and I have published it on Sourceforge:

It’s still in alpha stage, many things are incomplete and even buggy at times. But it’s complete enough to give an idea and maybe even can entertain you for a few hours.

To avoid misunderstandings: This is not a 3D space flight game. I have left that out intentionally - I want to focus on the other parts of the game. I don’t think I have the skills and resources to make a 3D view, and I beleive that my time is better spend on the parts, which provide functions for the game and the world.

The latest additions were metal mining on planets. With that in place I think I have all of the basics covered now, except the ship yard and selling information about newly explored planets.

The latest release 0.34, got some UI overhaul, but it’s still far from the flashy Ui of professional games. But UI think it’s a bit more in-theme for a Sci-Fi game now:

http://sourceforge.net/projects/solarex/files/Solarex%200.34/

Feedback, problem reports and ideas are all welcome :slight_smile:

I’ve given the project a slight visual overhaul - it got new buttons and a display background for rthe main panels. Also a few bug fies for the ship state display.

The game logic and features have not changed since the last release:

http://sourceforge.net/projects/solarex/files/Solarex%200.35/

I’ve been working on a variety of areas, improving some graphics, expanding the goods and trade system, as well as to add and regroup goods which will be collectable through prospecting and mining. Still everything is very incomplete, but good enough to take a look.

Changes in 0.36 since 0.35:

  • New portrait backgrounds for terraneans and posionbreathers
  • Redesigned trade panel
  • Descriptions added for many goods
  • Goods now have a mass per trade unit
  • Ship cargo hold measured in kg now
  • Grouped many former gas goods into “Common atmospheric gases”
  • Added androids, graphite, hydrocarbons and radionuclides as goods
  • Set androids to be illegal in some societies
  • Added exceptions to planet generation rules so that sometimes instead of a gas giant a superheavy rocky planet will be created

Downloads:

http://sourceforge.net/projects/solarex/files/Solarex%200.36/

Edit:

I’ve sketched up the races characteristics here:

Now I want to build some sort of social events for the races. One thing I want to have is a sports league (or rather several), the other idea was about music, or whatever a race might have as equivalent.

So if you read about the races, what sort of sports can you envision for each of them? Clonkniks might be unable to understand the idea of sports though, because they consider themselves as “one” and therefore have little sense of having individual clonknik entities compete, I guess. But if you have ideas, just let me hear about them :slight_smile:

I’d also be interested in ideas of bands/music combos for each of the races, or whatever you can come up with as a replacement of music in their culture :slight_smile:

And last but not east, all sorts of social events, tailored to the races traits.

I hope if I have some of such together, I can implement a background simulation which will create events from these ideas and make the Solarex’ world appear more alive. Thanks for any input!

I think adding culture would be great! It could get a little confusing, considering if each species could have many cultures, as humans do now. Also, events such as global extinction should be possible, more common on the less-hardy races, such as humans and poison-breathers, and less on the Rockeaters and clonknicks. It would be cool (but difficult) to see inter-species sporting events. Also, radioactive elements with long half-lives (on the scale of billions of years) should be transportable and used in lower-to-mid tech as a power source. I like what I’m seeing and can’t wait to actually try the game, so well done so far! Also, for music, it would be cool if their styles were very different from ours. The clonkniks would have very mechanical, ordered music, the ones that float could have very slow-moving, ambient music that is confusing without much order, and the Rockeaters would have very percussionistic music, while poison-eater’s music makes humans feel… Uncomfortable.

I wish I wasn’t so clumsy at designing and implmenting dynamic and evolving systems. Ideas are much farther than abilities, as usual ;D

Newsflash!

Clonknik coordinated noise performance “The crescendo of a thousand tools” biggest succes of 2164.

Poison breather gas and smoke art combo performing “Ring, Bubble, Ring!” at 20:00 GST. Gas masks are availbale for rent at the theater.

Rockeater equilibration artists on tour with their new program “Rock on Rock”, shaping never-berfore seen rock formations just with their bodies!

New clonknik show coming “Arcing Highlights”, light and energy art at their finest. A power loaden experience!

Traditional terranean mixed folk art combo perfoming a yet unheard work for taiko, balaleika and choir.

The masters of ambient sound on tour with “Noises of the hidden winds”. A unique chance to experience floatee harmonysound art live!

… nothing of that is in the game yet though, I was just brainstorming newslines.

A few small updates:

  • Trade panel good descriptions display if good is prohibited to trade in this place
  • New and improved portrait backgrounds
  • Some display fixes for the tabular system view

http://sourceforge.net/projects/solarex/files/Solarex%200.37/

I’ve been working on a “newspaper” sort of display. The newspaper layout is fixed, the content can be generated. It’s a try to let the player know about background events, which happen without the player being involved or even physically present. I’m not sure if a newspaper is the right style to present such news in a sci-fi game, but I couldn’t think of something better - and the idea of a space prospector sitting in his cabin, pipe smoking and reading about the latest news in a real paper actually looks “right” to me ;D The example isn’t prospecting news though, rather the daily gossip.

The sports leage and sports news are created by a simulation, and some text processing. I think I an do similar for celebrity news, music/arts andsuch sorts of social events. Also, news from trading and prospecting can be generated this way, but I have not implemented that yet.

The right column is a fixed tex. I have no idea how to create such sort of text automatically. Any help will be highly appreciated. It doesn’t have to be “real” news, just entertaining to read and appear like real news - “believable” is good goal, I think.

Please let me know what you think of such an approach :slight_smile:

Edit: Added random equipment and travel ads, exchanged the screenshot with the version which has ads included.

I’ve published a new version, this time I was mostly working on the stellar systems and resources generator. If you like to inspect system just to see what is there, this version should have some new things for you :slight_smile:

http://sourceforge.net/projects/solarex/files/Solarex%200.38/

Changes in 0.38 since 0.37:

  • Added neutron stars
  • Added black holes
  • Added carbon rich planets
  • Added superheavy rocky planets
  • Added calculations for planet orbital period and rotation period
  • Added calculations for planetary fluid resources
    (Mining only works for metals so far, although other gathering drones are for sale as well).
  • Added good ‘silicones’, removed group ‘chemicals’
  • Added more goods descriptions
  • Fixed hyperjump button
    (The drive still needs no fuel, lucky you!)

The neutorn stars and black holes serve no special purpose yet, they are just there to round off the selection of stars. Brown dwarves are still to be included, but I think those are the last special stars missing.

Happy exploring :slight_smile:

Edit: The newspaper code is included, but unlike the example above it’s not linked to any sensible data in the game yet.

A quick overview of the new stars and planets. All but the brown dwarf are included in the v0.38 In the next release brown dwarves will be included too, and neutron stars and black holes can become members of binary systems, occasionally even have a planet.

Neutron star masses might be off in v0.38 (should be between roughly 1.5 and 10 sun masses).

Your stars (light sources) are shaded by an external light source…?

Looks like just the brown dwarf, which is basically a star that doesn’t produce visible light.

These are, it seemed to look better this way. The real suns are self-lit.

Edit 1:

It’s been harder than expected, but the game can now create a basic newspaper layout and fill it with news and advertisements. (The main article and the right column are still hardcoded, the rest is procedurally generated):

Brown dwarfs are in now, and there has been some more changes.

Changes in 0.39 since 0.38

  • Added brown dwarfs
  • Brown dwarfs, neutron stars and black holes can be part of a multi star system now
  • Neutron stars and black holes occasionally will have planets
  • Blue giant stars now have more planets in average
  • First “complete” newspaper code - buy the Secret Eye!
  • Sports league simulation for newspaper
  • Some stellar system generation finetuning

I feel a bit uncertain about this release because I’ve changed a lot of small details in the stellar system generation routines and it might be that “buggy” systems are generated now and then. I checked a number of systems which looked sane, so I hope it will be alright.

Downloads:

http://sourceforge.net/projects/solarex/files/Solarex-0_39/

Edit:

I’ve added a fast interplanetary drive, called “stardrive”. With this you can quickly move inside a stellar system, and it should make travelling much easier.

It’s been only a minor addition in terms of code so I labeled this relase “0.39a” Still the new drive seemed to be worth a new release.

http://sourceforge.net/projects/solarex/files/Solarex-0_39/

You can activate both the stardrive and the interstellar jump drive from the “Navigation” panel. At the moment the drives work instantly and from everywhere, but later both drives will require you to navigate away from any massive space bodies. They are supposed to work in low gravity environments only.

To activate the jump drive you must first select a nearby system from the galactical map, to instruct the drive where to bring you to. The stardrive needs a destination set in the navigation panel, you can do this by clicking into the map.

Besides the new stardrive, this release has a few more good descriptions, but there are still some trade goods without a description …

Edit: Stupid me. I’ve replaced the stardrive effect screenshot by a newer version, but the released version doesn’t have the transparency effect yet …

Edit 2: Version 0.39b is now available. Now the screenshot matches and there is also a fix for a stupid timing mistake in the stardrive and jumpdrive effects. Directory looks cluttered now, be sure to get the solarex-0_39b.jar

http://sourceforge.net/projects/solarex/files/Solarex-0_39/

Edit 2:

Most changes and bug fixes were done for the travelling code this time. Travel isn’t a core feature, but of course required to reach the other systems, so at this point of the project it seemed important to give it some more care.

http://sourceforge.net/projects/solarex/files/Solarex-0_40/

Changes in 0.40 since 0.39b

  • Better hyperjump effect display
  • Navigation panel automatically centers view on selected space bodies
  • Improved some portrait backgrounds
  • Galactic map shows max. jump drive range
  • Redesigned galactic map panel
  • Redesigned navigation map panel
  • Ship speed is now always zero after hyperjump
  • Ship destination is now reset after hyperjump

Whee! More code written and for the first time I could successfully deploy and operate a gas filtration drone in the game :slight_smile:

Edit:

If no serious mistakes slipped my attention you can now mine for metals, distill fluids and collect gases with the available resource collection drones. So the mining part seems to be usable now, although the prices for the drones and the goods need some balancing. At the moment you can buy drones even if your account does not hold enough cash - so you can try the feature right away. Mining on inhabited or owned planets is no longer allowed though.

http://sourceforge.net/projects/solarex/files/Solarex-0_41/

Changes in v0.41 since v0.40

  • Ultracondensed metals can now be found on heavy planets
  • Stable transuranium elements can now be found on superheavy planets
  • Minor display improvements for newspaper
  • Gas filtration drones are now operatable
  • Fluid destillation drones are now operatable
  • Resource harvesting on inhabited or owned planets is forbidden now
  • Reduced jar file size

Edit 2:

Another important feature completed: Transport quests (parcels and persons) are working now. There might have slipped some bugs, but I could successfully finish two delivery quests in my tests and it seems they are also saved and loaded correctly. I think from now on development work will turn more towards expanding the existing features, bug fixing and balancing.

http://sourceforge.net/projects/solarex/files/Solarex-0_42/

Changes in 0.42 since 0.41

  • Delivery quests do work now
  • Quests now check if the player can actually accept them
  • Ship info panel now shows quests and jobs
  • Fixed ship cargo space calculations
  • Brown dwarfs are darker now and got a light magenta hue

I hope the wikipedia article was correct and brown dwarfs are indeed a bit magenta …

I’ve written a summary which planetary resources will be transformed to which goods by the gathering drones, so you can know what you’ll get before going on a mining mission:

Recently I’ve picked up work again and tried to add an OpenGL based first person view space flight mode.

http://forum.freegamedev.net/download/file.php?id=9303&mode=view

Currently I’m reworking the UI panels to use OpenGL as rendering system. While not exactly hard work, it’s still time consuming and will take a while till it’s complete - given that even the old Solarex was nowhere near a “complete” game. Currently most missing are the bulletin board, the navigation map and the shipyard - also access to loading and saving the game, that will be part of the nxt release, though.

The latest release should work on Windows, and maybe also on Linux (untested):

http://sourceforge.net/projects/solarex/files/Solarex_GL/

If you have some free time to try it, I’ll appreciate some feedback :slight_smile:

Development log so far:

http://forum.freegamedev.net/viewtopic.php?f=22&t=6278

I’m a late adopter, but when I heard that driver vendors want to stop supporting legacy OpenGL, particularly on Linux, I felt it’s getting time to bit the apple and learn how to use the programmable pipeline and the OpenGl 3.2 core.

So much of the past week went into learning and testing, and finally converting parts of Solarex GL to use OpenGL 3.2, removing calls to legacy functions. There is still some functionality using legacy Gl, but the space display and related stuff is now done via shaders as VBOs. I assume this will help performance, too, but that wasn’t a problem before either.

Besides that I’ve converted one more UI panel to OpenGl based display routines, so only the ship yard and equipment shops are left to do.

Some new screenshots can be found over here:

http://forum.freegamedev.net/viewtopic.php?p=64242#p64242

I’m also updating the planet generator, but I’m a bit stuck in a performance bottleneck there. The planets are generated during the hyperjump towards the new system, and 5 or 6 seconds don’t seem much as a number, but watching the hyperjump animation for 5 seconds always makes me wonder if the game has frozen, or if something will happen. Improving the planet generation, that is, adding more realism to the planet surfaces will make it slower and the problem worse. A better hyperjump animation could help to keep the players entertained. Or I need very patient players.

Planet generation is done in parallel, so all CPU cores are used, besides improving the algorithm itself, I can’t do much to speed up the planet generation.

Edit:

I’ve published a new release:

https://sourceforge.net/projects/solarex/files/Solarex_GL/r005/

Changes since r004:

  • Space display uses programmable OpenGL pipeline (OpenGL 3.2) now. That should help performance but might have introduced new bugs (I’m almost certain that there are some which I haven’t tracked down yet).
  • Ship info panel (see: http://forum.freegamedev.net/viewtopic.php?p=64268#p64268 )
  • Improved planet generator, only enabled for earth and mars type planets, mars type planets still look bad

Overall I think Solarex GL slowly reaches a playable state. Unless some crippling bugs show up which I’m not aware of at the moment. Trading goods should work fully, the quest/job system is missing an UI to see the job list and accept them, and resource harvesting is still in need of a complete new design. I think I’ll do the quest panel next.

Edit 2:

I feel ashamed. OpenGL played tricks on me, and the “front” vector of the display and the “front” vector of the ship got out of sync once you left the x-z plane, i.e. flew up or down. I don’t feel ashamed for the hideous ways of OpenGL so that the “front” vector of the view transform somehow isn’t dir4ected to the middle of the screen and one needs the inverse transform (what sort of logic is behind that?), but that I didn’t notice the problem throughout 5 release. Sigh. And when I noticed, it took way too many hours to come up with a solution.

I’ve published r006 now, with fixes for the “forward” problem. The ship should now always fly there where the center of the window is. Tilting and rotating looks a bit odd, but I think it is correct - the ship rotates around the ships “up” vector, and tilts around the “right” vector, which often ends at an odd position in regard to the systems ecliptic, but as far as I can tell, it’s calculated correctly.

http://sourceforge.net/projects/solarex/files/Solarex_GL/r006/

Also, the new system map and a fixed equipment shop panel are included. You can buy and sell resource harvesting drones in this version, but there is no UI yet to activate or deploy them. And no graphics. Also, your ship will still fly by magic if you sell the drive. And the drive doesn’t need any fuel, even if you keep it … lot’s of small things left to do.

Equipment panel and system map screenshots are over there: http://forum.freegamedev.net/viewtopic.php?p=64291#p64291

I’m a late adopter, but when I heard that driver vendors want to stop supporting legacy OpenGL, particularly on Linux, I felt it’s getting time to bit the apple and learn how to use the programmable pipeline and the OpenGl 3.2 core.

So much of the past week went into learning and testing, and finally converting parts of Solarex GL to use OpenGL 3.2, removing calls to legacy functions. There is still some functionality using legacy Gl, but the space display and related stuff is now done via shaders as VBOs. I assume this will help performance, too, but that wasn’t a problem before either.

Besides that I’ve converted one more UI panel to OpenGl based display routines, so only the ship yard and equipment shops are left to do.

Some new screenshots can be found over here:

http://forum.freegamedev.net/viewtopic.php?p=64242#p64242

I’m also updating the planet generator, but I’m a bit stuck in a performance bottleneck there. The planets are generated during the hyperjump towards the new system, and 5 or 6 seconds don’t seem much as a number, but watching the hyperjump animation for 5 seconds always makes me wonder if the game has frozen, or if something will happen. Improving the planet generation, that is, adding more realism to the planet surfaces will make it slower and the problem worse. A better hyperjump animation could help to keep the players entertained. Or I need very patient players.

Planet generation is done in parallel, so all CPU cores are used, besides improving the algorithm itself, I can’t do much to speed up the planet generation.

Edit:

I’ve published a new release:

https://sourceforge.net/projects/solarex/files/Solarex_GL/r005/

Changes since r004:

  • Space display uses programmable OpenGL pipeline (OpenGL 3.2) now. That should help performance but might have introduced new bugs (I’m almost certain that there are some which I haven’t tracked down yet).
  • Ship info panel (see: http://forum.freegamedev.net/viewtopic.php?p=64268#p64268 )
  • Improved planet generator, only enabled for earth and mars type planets, mars type planets still look bad

Overall I think Solarex GL slowly reaches a playable state. Unless some crippling bugs show up which I’m not aware of at the moment. Trading goods should work fully, the quest/job system is missing an UI to see the job list and accept them, and resource harvesting is still in need of a complete new design. I think I’ll do the quest panel next.

Edit 2:

I feel ashamed. OpenGL played tricks on me, and the “front” vector of the display and the “front” vector of the ship got out of sync once you left the x-z plane, i.e. flew up or down. I don’t feel ashamed for the hideous ways of OpenGL so that the “front” vector of the view transform somehow isn’t dir4ected to the middle of the screen and one needs the inverse transform (what sort of logic is behind that?), but that I didn’t notice the problem throughout 5 release. Sigh. And when I noticed, it took way too many hours to come up with a solution.

I’ve published r006 now, with fixes for the “forward” problem. The ship should now always fly there where the center of the window is. Tilting and rotating looks a bit odd, but I think it is correct - the ship rotates around the ships “up” vector, and tilts around the “right” vector, which often ends at an odd position in regard to the systems ecliptic, but as far as I can tell, it’s calculated correctly.

http://sourceforge.net/projects/solarex/files/Solarex_GL/r006/

Also, the new system map and a fixed equipment shop panel are included. You can buy and sell resource harvesting drones in this version, but there is no UI yet to activate or deploy them. And no graphics. Also, your ship will still fly by magic if you sell the drive. And the drive doesn’t need any fuel, even if you keep it … lot’s of small things left to do.

Equipment panel and system map screenshots are over there: http://forum.freegamedev.net/viewtopic.php?p=64291#p64291

A new version is out now:
http://sourceforge.net/projects/solarex/files/Solarex_GL/r007/

  • Some fixes for saving and loading games
  • System info panel shows proper planet previews
  • Suns should always show up correctly now in system info panel
  • Lowered average planet count for red giants, white dwarfs, neutron stars and black holes
  • Adjusted sun colors for red giants, brown dwarfs and neutron stars

The humbled peoples demand screenies!

A new version is out now:
http://sourceforge.net/projects/solarex/files/Solarex_GL/r007/

  • Some fixes for saving and loading games
  • System info panel shows proper planet previews
  • Suns should always show up correctly now in system info panel
  • Lowered average planet count for red giants, white dwarfs, neutron stars and black holes
  • Adjusted sun colors for red giants, brown dwarfs and neutron stars

The humbled peoples demand screenies!