Project Spaceships

g4b22 Feb, 2017 14:22
I wanted to generally show a bit of pictures about current progress, especially what came to the demo engine since 2016, aswell as document a bit what we can see here. I know some people try it out, but others might just want to look at screenies.

You can right click on the screenies and open them in a new tab to see them in full hd.

I leave more technical details as quotes like this, read over them if you are not interested.

Procedurally Generated Star Systems

The new procedural Planet System Accretion is the main addition in 2017, which uses the method StarGen uses - and after I have finished cleaning my own translation up, I might go into detail more, as I will release the C# translation openly (it is after all a port of an open source code), before I start to modify it further. From all stuff I researched, StarGen uses a method which is a bit out of date, but still works well enough - adding more interesting data to it, like proper orbital data however is still to be done, as StarGen does not provide enough for my 3d engine.

Currently, the generator can be accessed via an ui generator, which allows controlling dust mass of the accretion disk, sun size, seed, age of the sun, and allows to preview it in a "pseudo" overview, that at least tries to mimic stargens original visualization (mine is far more crude). Each time you hit generate, it will create a new entry.

As you hover over planets, some of the deeper data also gets displayed (atm the gifs are directly from stargen, but will be replaced with renders)

Entering a specific seed will always result in the same kind of planetary basement, so changing values like age can help you visualize the history of the system. More dust, larger or smaller sunmass, are also variables, that can make a system unique. More detailed generation will include a secondary seed for variation. The sun mass is defined in solar masses, the dust in relation to the dust amount from our solar system, the age in billions of years. Pre-seeded systems would be supported by this, but reading scientific databases isn't translated yet. Atmosphere composition, etc. works, but I want to add more depth to gas giants, stars, mark the habitable zone, water zones, or respect the proper 3-body placement of close orbits (which is also needed to determine Lagrange Points for stations). Additionally, I want to add crust composition to planets, aswell as determine whether they have a molten iron core and the resulting magnetic field, and add volcanic parameters to the planets to determine atmosphere composition better. Finally all these parameters should create the noise map for the planet surface, and adjust Forge3d to create the planets visually.

To visualize it further, you can enter a map mode ("Visit Last in 3D" ), where the sizes of the planets are adjusted to be visible - and the orbits are displayed in AU scale. Atm. this is very crude, as it will have to be reproduced to properly be used as a starmap:

As you can see, the screenshot resembles the last system in the list, the purple venusian planet clearly visible. The orbits are still wrong a bit, but since most orbits are circular, you won't notice smile

Also, the moon code is just a hack atm. as it seems, the stargen code actually has bugs in this.

Of course, the technically versed will immediately see, that with this basement, galaxy generation is actually really getting simple - in fact, the major hindrance in galaxy generation is more the visualization. Lets stick to one solar system at a time for now smile

Third Person Flight

The general goal is of course, that you can simply visit all these planets with a spaceship and fly around them in orbit. For this most of the work was 2015, on the 3rd person controller, which allows you to fly around a fixed point around a planet, while the whole system is animated.

Therefore remember, the moon I see in this picture, is actually rotating around that far away earth - both are proper size, and currently resemble earth and moon. And that earth is actually also rotating around the sun. The whole animation is keplerian, so while gravity can be determined - and the system also can jumpstart with rudimentary data - the planets will not change their orbital data - it's not a full scale simulation. But it is 64 bit metric accuracy with proper relative orbital movement. multiple cameras combine the final picture - and the solar system animation speed can be adjusted in real time - awesome to see the sunlight going over the planet. Currently, planetary shadow is not implemented, so the scene gets also lit up if the sun is actually behind the planet in view. But that is already theoretically possible.

You can go to any point in this, and see it from there, in theory, however, travel systems for the player still have to be implemented.

The other fighters you see are just props, to get a sense of space while testing flight. However, flying away and taking a shot with the earth close to the screen border also allows a glimpse on a "minor problem" of the engine I will probably leave in: perspective. You notice, the earth looks bigger smile As this of course has to do with depth of view, I think it might be even naturally correct.

Of course, it's not totally correct, as the engine does not compensate for relativity: you see the sun, where it is, not where you would see it if light would have to travel. Would you notice? No.

Sandbox and Action Separation

Finally something without a clear depiction, but I think, atm it looks like, two separate gamemodes in the same engine will be the solution, one for a more strategic fleet fighting - and one for a more personal exploration or pvp mode with smaller ships - tugged together in the limits of propulsion and wastness of space.

Glueing together the generator, the yet not finished strategic view, and the third person single ship control mode is the next big task, which also goes slowly into developing the network code.

In the theory section, large amounts of modules, stats and rules come together, and once I decide which way to go, I put more up.

edit: typos.

Now lets hope, more screenshots will appear in the future! Thx for reading. Have a nice day!
Edited 23 Feb, 2017 13:57
g4b23 Feb, 2017 19:59
Oh and a word to the character generator

The character generator and the basecode for your characters is a minigame in the game. I will keep it inside, but not really integrate it yet into gameplay, as a gimmick and also because Vega Strike character portraits are supercool.

I still think, that would be cute to expand, if anyone has more helmet styles or knows other open and free or cheap licensable character sheets please tell.

I did play with unity characters in my world generation project, so I just keep this as closing question: would you rather see the 2d character portraits, or the 3d ones? I think mixing styles is bad, but of course, 2d is limited to the amount of pictures and presets.

However keeping 2d would also allow in the future for everyone to import their own portraits. In this I still hope unity will get cross platform support for html rendering one day - or even full integration into something cross platform like qt becomes possible.

As picture of the example of this, I found a very old (january 9th 2016) funny one, which predated our current austrian president:

This year I want to create a more accessible dev version and aim for some basic gameplay.

Fly safe, and see you in other spacegames.
Pew pew pew.
Udied05 Apr, 2017 19:48
The real question is: Can you wiggle there?
Sign Up or Sign In to create to post a reply.


(C) by, (C) by 2008-2013, Impressum, Kontakt

Logo of Logo of Django Logo of Python