[Official] Technical Engine Development faq / blog

General discussions about X Rebirth.

Moderator: Moderators for English X Forum

User avatar
edqe
Posts: 73
Joined: Tue, 19. Nov 13, 15:30

Post by edqe » Thu, 12. Mar 15, 09:35

rboerdijk wrote:
edqe wrote:For some reason I'm not able to download it (without executable) with SteamOS yet. Is there some alpha/beta code I have missed?
We didn't publish it (yet) :wink:
Some people mentioned that they are already able to download the game but not just executable. *IF* the game is going to be released in "some Friday" I may have to wait till next week if there are some flags forgotten during publishing process.
... I just want to make sure I'm able to start playing/testing it ASAP :)
rboerdijk wrote:Also a reminder about Timons comment a few posts back:
timon37 wrote: Compatibility wise the only thing I'll be (initially) able to guarantee is ubuntu 14.04.
Though I'll be working to improve that asap.
Sure. I'm ready to make an Ubuntu 14.04 installation if required, that's fine :)

rboerdijk
EGOSOFT
EGOSOFT
Posts: 1672
Joined: Fri, 11. Jan 13, 14:26
x4

Post by rboerdijk » Thu, 12. Mar 15, 09:43

edqe wrote:
rboerdijk wrote:
edqe wrote:For some reason I'm not able to download it (without executable) with SteamOS yet. Is there some alpha/beta code I have missed?
We didn't publish it (yet) :wink:
Some people mentioned that they are already able to download the game but not just executable. *IF* the game is going to be released in "some Friday" I may have to wait till next week if there are some flags forgotten during publishing process.
... I just want to make sure I'm able to start playing/testing it ASAP :)
It appears that if there is a linux version ( even if not publicly accessible ) steam assumes it's "available" for that platform and allows users to download the (default) "bulk data" - hence some people are able to "download the game".

User avatar
edqe
Posts: 73
Joined: Tue, 19. Nov 13, 15:30

Post by edqe » Thu, 12. Mar 15, 09:54

rboerdijk wrote:It appears that if there is a linux version ( even if not publicly accessible ) steam assumes it's "available" for that platform and allows users to download the (default) "bulk data" - hence some people are able to "download the game".
Oh OK. It has happened to me as well earlier with some other games but it is possible that some recent SteamOS client updates has removed that "feature". Sounds like everything is in order, good to hear.

CBJ
EGOSOFT
EGOSOFT
Posts: 51740
Joined: Tue, 29. Apr 03, 00:56
x4

Post by CBJ » Thu, 12. Mar 15, 10:42

Some answers:
xenoncore123 wrote:1) What programming language did you use to create X Rebirth, i am assuming C++, as a C++ programmer my self i see a lot of similarities with the code of the game and the scripting languages. (Mostly gathered from your employee hiring requirements...)
Yes, the code is C++.
xenoncore123 wrote:2) What Artificial Intelligence features do you use ? For instance, things like Neural Networks, Genetic Algorithms, A* Pathfinding, and State machines and many more.
Some pretty buzzwords there, mixed in with standard techniques. ;) Regarding the latter, yes, we use A* for finding paths between sectors and systems using highways and so on, and we have state-machine-like systems for certain areas such as ware production.
xenoncore123 wrote:3) Was X Rebirth just a test of the new engine ? Because i have a strong feeling that X4 will have many features of the old, such as controlling your empire without being in the same sector, and using the zone map to move around instead of conventual means. I like X Rebirth but i just started playing Albion again and there are so many features i would like in Rebirth, i really really really enjoy the realistic economy setting in Rebirth though, it is a bit of a nuisance knowing that in Albion the ships just spawn in.
In the sense that it's the first game using the new engine, I suppose by definition it's a "test" of that engine. And of course having spent so many years developing that engine, it is our intention that it will form the basis of more than just one game.
xenoncore123 wrote:4) Will you be taking advantage of the new hardware that is out and coming out, such as the 12GB graphic cards and the 16 core processors and the 3000Mhz RAM and the 2TB solid state drives ?
Successful game development is, perhaps disappointingly, about creating something that can be played by "normal" people with "normal" hardware. This has to be carefully balanced against the more exciting prospects offered by the very latest bleeding-edge hardware, in order to maintain a viable commercial proposition. We will, of course, try to keep pace with new developments as far as possible, but as a small developer we can rarely afford to be an early adopter of new technologies. This is particularly true of technologies that may or may not reach the mainstream.
xenoncore123 wrote:5) Would you consider doing some youtube tutorials on how you 3D model, Animate texture, Program, and sound/music creation because you do some beautiful scenery and Space 3D models and animation such as the new Xenon ships and the animation on the Stations and the programming of the economic system. By doing this you could make a ton of money from advertising the content and then spending that money on "office things" if you wish.
I rather doubt this would be a viable proposition for us, but we do occasionally produce "DevBlog"-type videos that might cover some of this ground.
xenoncore123 wrote:6) PS, You mention on your Staff Hiring credentials that you require people with Calculus knowledge, how would calculus be used in your engines ? I have not studied Calculus as of yet and i read this years ago (just asking now). It does have me curious though.
Mathematics forms the core of several areas of any game engine, including physics and lighting, pathing and navigation, movement and animation, and many others. Calculus is touched on in several of these, but I suspect it's mentioned in the requirements more because it indicates a general level of mathematical knowledge than because we are specifically looking for Calculus as a skill.

xenoncore123
Posts: 275
Joined: Thu, 24. Dec 09, 15:47
x4

Post by xenoncore123 » Thu, 12. Mar 15, 17:48

Thanks for answering my questions :)
"We are an island nation. What we lack in men, we can more than make up for in ships"

King Henry VIII- Tudors TV series

My virtual presence. Depressing isn't it ? :P
https://linktr.ee/scarrior

User avatar
edqe
Posts: 73
Joined: Tue, 19. Nov 13, 15:30

Post by edqe » Thu, 12. Mar 15, 19:53

Heh. The Linux version is in absolutely great condition already :) Wasn't expecting this at all because of the warnings and Alpha status. Great work!

I need to learn a proper way to inform about the problems.
Last edited by edqe on Thu, 12. Mar 15, 20:27, edited 4 times in total.

User avatar
Terre
Moderator (English)
Moderator (English)
Posts: 10483
Joined: Mon, 19. Dec 05, 21:23
x4

Post by Terre » Thu, 12. Mar 15, 19:57

edqe wrote:I need to learn a proper way to inform about the problems.
Support thread. - http://forum.egosoft.com/viewtopic.php? ... 33#4504833

User avatar
Tamina
Moderator (Deutsch)
Moderator (Deutsch)
Posts: 4543
Joined: Sun, 26. Jan 14, 09:56

Post by Tamina » Thu, 12. Mar 15, 20:07

Can I run the Linux version on Windows?

Actual question, I do not have a powerful enough PC right now to try it out but it says that you can select the Linux branch in Steam... :)

Code: Select all

Und wenn ein Forenbösewicht, was Ungezogenes spricht, dann hol' ich meinen Kaktus und der sticht sticht sticht.
  /l、 
゙(゚、 。 7 
 l、゙ ~ヽ   / 
 じしf_, )ノ 

User avatar
edqe
Posts: 73
Joined: Tue, 19. Nov 13, 15:30

Post by edqe » Thu, 12. Mar 15, 20:20

Terre wrote:
edqe wrote:I need to learn a proper way to inform about the problems.
Support thread. - http://forum.egosoft.com/viewtopic.php? ... 33#4504833
Oh, thanks a lot :) - I thought there is some bug tracker/bugzilla somewhere.

timon37
EGOSOFT
EGOSOFT
Posts: 485
Joined: Fri, 14. Dec 12, 11:02
x4

Post by timon37 » Fri, 13. Mar 15, 10:11

Yes you actually can run the "linux" branch on windows.
On windows it's basically the same as the default one.
However when we do future updates there'll be a period of time when the default branch is "behind". So I'd suggest to not use it on windows.

User avatar
BigBANGtheory
Posts: 3167
Joined: Sun, 23. Oct 05, 12:13
x4

Post by BigBANGtheory » Fri, 13. Mar 15, 11:07

CBJ wrote:
xenoncore123 wrote:5) Would you consider doing some youtube tutorials on how you 3D model, Animate texture, Program, and sound/music creation because you do some beautiful scenery and Space 3D models and animation such as the new Xenon ships and the animation on the Stations and the programming of the economic system. By doing this you could make a ton of money from advertising the content and then spending that money on "office things" if you wish.
I rather doubt this would be a viable proposition for us, but we do occasionally produce "DevBlog"-type videos that might cover some of this ground.
I think many of us enjoyed the DevBlog videos prior to XR's release, totally worth doing again when the time comes.

tomtalk24
Posts: 9
Joined: Fri, 13. Jun 14, 03:00
x4

Post by tomtalk24 » Mon, 1. Feb 16, 23:50

This may have been asked, so sorry if it has.

OpenGL is an eye opener for me, but what about the Vulkan API? Could it bring any more to the table. Could this game benefit from the performance enhancements? Would you avoid it to make sure the game is playable to everyone.

p.s. great job with 4.0 :)

timon37
EGOSOFT
EGOSOFT
Posts: 485
Joined: Fri, 14. Dec 12, 11:02
x4

Post by timon37 » Tue, 2. Feb 16, 10:23

@tomtalk24
Well in short: yes, yes, yes, and yes;)

The longer answer is that of course you can never be sure until you try, also how much benefit you'd see depends on the hardware. But based on what I've seen and intuition I can guestimate this:

We'd benefit from just a straight drop-in equivalent to the opengl implementation, especially on amd drivers (both on linux and windows). Although it probably would require a bit more intelligent behaviour from us (currently the drivers do many tricks like buffer orphaning so we don't have to).
There're many improvements that vulkan would enable, ranging from relatively simple related to streaming, to complete redesigns of the renderer and shifting more work from the world-move to it.

We do take the steam hardware survey into account when making decisions about what we consider to be necessary to support (or at least I do;p). This is purely a balancing question, how much benefit for whom vs how many legacy systems are incompatible vs how much development effort.
The universal answer is we're willing to sacrifice some, we won't sacrifice much, but unfortunately dev-time is usually the largest constraint.
So frankly the most likely implementation is side-by-side with opengl so we could ship two binaries, at least for a while.

SolidSnakeRUS
Posts: 270
Joined: Mon, 2. Aug 04, 13:59
x4

Post by SolidSnakeRUS » Tue, 2. Feb 16, 10:30

Detailed answer, thx)

bambikaka
Posts: 153
Joined: Sat, 26. Dec 15, 13:24

Post by bambikaka » Thu, 4. Feb 16, 00:11

could you give a little overview of your culling? aka what methods you use on which PU to get the final view from the full scene. thanks in advance

CBJ
EGOSOFT
EGOSOFT
Posts: 51740
Joined: Tue, 29. Apr 03, 00:56
x4

Post by CBJ » Thu, 4. Feb 16, 14:28

Because our game is somewhat unusual and models the entire game universe rather than just the part the player is in, we start with "gamegraph culling" which excludes objects that are not in a part of the galaxy that is visible to the player. Next we do frustum culling, which uses two frustums, one for the camera and one for the primary light source (usually the sun) so that shadows can be correctly handled. At this point we also do LOD culling, which ensures that objects that are too far away and/or too small to be rendered get ignored. All of these are hierarchical, so that if we cull an object, we also cull all the smaller things attached to that object. All of these happen early on during the CPU part of the rendering process.

Later on we use pretty standard methods of depth-based per-pixel occlusion culling and backface culling, most of which happens on the GPU. These are helped by making some sensible choices beforehand, for example processing the cockpit interior geometry first so that anything hidden by that will quickly be culled.

bambikaka
Posts: 153
Joined: Sat, 26. Dec 15, 13:24

Post by bambikaka » Fri, 5. Feb 16, 01:27

thanks for quick answer. when on station, are you using portal culling? i mean rendering only roomblocks (like the room you are in and the neighbouring rooms) or the entire station and the invisible bits getting culled on the gpu?

which per-pixel methods do you use? you say "most of which happens on the GPU". does it mean you use occlusion queries?

User avatar
-Skipp-
Posts: 94
Joined: Tue, 7. Oct 14, 10:18
x4

Post by -Skipp- » Fri, 5. Feb 16, 09:16

bambikaka wrote:thanks for quick answer. when on station, are you using portal culling? i mean rendering only roomblocks (like the room you are in and the neighbouring rooms) or the entire station and the invisible bits getting culled on the gpu?

which per-pixel methods do you use? you say "most of which happens on the GPU". does it mean you use occlusion queries?
Well - judging by the funny bug that used to occur back in 1.x-2.0 if I recall - you would just glide off the ship through the walls of the station once you dock. When that happened - you could actually see the whole station.

That might got changed later though :D

User avatar
Spami
Posts: 468
Joined: Sun, 1. Jun 08, 21:32
x4

Post by Spami » Mon, 8. Feb 16, 01:08

(Question is "mostly" headed at the rendering part of your engine but not exclusively)

Do you keep developing your engine and if yes, has it developed further already then what we can see in XR right now or was the engine developing hand in hand with XR and now your new upcoming game?

May I ask what your "technical" plans for the future are? What do you want to have implemented or need to have implemented for your next game?
I am pointing in the direction of books like GPU gems from NVidida or other game studios often publish articles about different techniques they implemented, as well.
Your engine for example can't render station interiors very well: small, large frametime and lack of windows for obvious reasons.
Spami

Learn from yesterday, live for today, hope for tomorrow. The important thing is not to stop questioning.
- Albert Einstein

bambikaka
Posts: 153
Joined: Sat, 26. Dec 15, 13:24

Post by bambikaka » Wed, 10. Feb 16, 02:10

-Skipp- wrote:
bambikaka wrote:thanks for quick answer. when on station, are you using portal culling? i mean rendering only roomblocks (like the room you are in and the neighbouring rooms) or the entire station and the invisible bits getting culled on the gpu?

which per-pixel methods do you use? you say "most of which happens on the GPU". does it mean you use occlusion queries?
Well - judging by the funny bug that used to occur back in 1.x-2.0 if I recall - you would just glide off the ship through the walls of the station once you dock. When that happened - you could actually see the whole station.

That might got changed later though :D
really? never encountered that. now thats a serious concern :lol:

Post Reply

Return to “X Rebirth Universe”