Dev Team: What made you decide to use (or write) this game engine / XML?

Anything not relating to the X-Universe games (general tech talk, other games...) belongs here. Please read the rules before posting.

Moderator: Moderators for English X Forum

Post Reply
user1679
Posts: 761
Joined: Fri, 20. Jul 18, 23:20

Dev Team: What made you decide to use (or write) this game engine / XML?

Post by user1679 » Sat, 20. May 23, 05:31

This isn't a complaint, I'm genuinely curious. What made you decide to use the game engine you chose and XML format for your "database"?

I have written programs (not games) in Visual Basic, C++, Java and a little Python and Lua (WoW addons) so I'm always curious why a developer would choose a particular language for their project. World of Warcraft was written in C++ with its proprietary MPQ databases (local assets) and a lua interpreter for mods, EverQuest uses C++ with a standard PK database (local assets) and a proprietary modding api. Eve Online is written in Python and uses some sort of blob file for local cache and doesn't support mods.

And of course there's Minecraft written in Java. Still, new games are being made using Godot, Unreal and Unity but I think the licensing of Unreal and Unity make it a little expensive. Godot integrates well with Blender but aside from several indie games, I don't see any AAA titles being released using that engine (yet).

Alan Phipps
Moderator (English)
Moderator (English)
Posts: 30368
Joined: Fri, 16. Apr 04, 19:21
x4

Re: Dev Team: What made you decide to use (or write) this game engine / XML?

Post by Alan Phipps » Sat, 20. May 23, 10:00

A dog has a master; a cat has domestic staff.

user1679
Posts: 761
Joined: Fri, 20. Jul 18, 23:20

Re: Dev Team: What made you decide to use (or write) this game engine / XML?

Post by user1679 » Sat, 20. May 23, 20:00

Alan Phipps wrote:
Sat, 20. May 23, 10:00
Everything you want to know. :wink:
Thanks but it doesn't really answer my question. The idea that they already had an engine from previous X series games and modders are familiar with it is interesting but I'm talking about the initial, very first meeting when the company was founded. Why decide to go with XML over some other sort of language. LUA can be patched fairly easy by simply overriding a function and certain functions can be "locked" by the developers so users cannot override them. JAVA also supports overrides which is what allows Minecraft to have a robust modding community. With modern computers, the JIT nature of JAVA shouldn't be a performance issue.

Also in that link an EGOSOFT developer mentions the "Unity team" which I assume is referring to the Unity development environment and not some internal code for a team at EGOSOFT. Unity supports LUA interpreter via MoonSharp which is a LUA to C# bridge. So I'm not saying they *shouldn't* have chosen XML, I'm just curious why they chose it.

User avatar
Chips
Posts: 4873
Joined: Fri, 19. Mar 04, 19:46
x4

Re: Dev Team: What made you decide to use (or write) this game engine / XML?

Post by Chips » Sat, 20. May 23, 20:37

user1679 wrote:
Sat, 20. May 23, 20:00
Alan Phipps wrote:
Sat, 20. May 23, 10:00
Everything you want to know. :wink:
Thanks but it doesn't really answer my question. The idea that they already had an engine from previous X series games and modders are familiar with it is interesting but I'm talking about the initial, very first meeting when the company was founded. Why decide to go with XML over some other sort of language. LUA can be patched fairly easy by simply overriding a function and certain functions can be "locked" by the developers so users cannot override them. JAVA also supports overrides which is what allows Minecraft to have a robust modding community. With modern computers, the JIT nature of JAVA shouldn't be a performance issue.

Also in that link an EGOSOFT developer mentions the "Unity team" which I assume is referring to the Unity development environment and not some internal code for a team at EGOSOFT. Unity supports LUA interpreter via MoonSharp which is a LUA to C# bridge. So I'm not saying they *shouldn't* have chosen XML, I'm just curious why they chose it.
The linked post does say, specifically, "Some of the original reasons for choosing XML for the MD were:..."

So "not saying they shouldn't have chose it, just curious why..." would need a sort of explainer as to why the stated reasons fall short of what you're after :) I mean, is it scope - MD is just mission director, so did it hold for everywhere? Or is it why was it chosen over other alternatives, what were their reasons there?

user1679
Posts: 761
Joined: Fri, 20. Jul 18, 23:20

Re: Dev Team: What made you decide to use (or write) this game engine / XML?

Post by user1679 » Sat, 20. May 23, 21:48

Chips wrote:
Sat, 20. May 23, 20:37
user1679 wrote:
Sat, 20. May 23, 20:00
Alan Phipps wrote:
Sat, 20. May 23, 10:00
Everything you want to know. :wink:
Thanks but it doesn't really answer my question. The idea that they already had an engine from previous X series games and modders are familiar with it is interesting but I'm talking about the initial, very first meeting when the company was founded. Why decide to go with XML over some other sort of language. LUA can be patched fairly easy by simply overriding a function and certain functions can be "locked" by the developers so users cannot override them. JAVA also supports overrides which is what allows Minecraft to have a robust modding community. With modern computers, the JIT nature of JAVA shouldn't be a performance issue.

Also in that link an EGOSOFT developer mentions the "Unity team" which I assume is referring to the Unity development environment and not some internal code for a team at EGOSOFT. Unity supports LUA interpreter via MoonSharp which is a LUA to C# bridge. So I'm not saying they *shouldn't* have chosen XML, I'm just curious why they chose it.
The linked post does say, specifically, "Some of the original reasons for choosing XML for the MD were:..."

So "not saying they shouldn't have chose it, just curious why..." would need a sort of explainer as to why the stated reasons fall short of what you're after :) I mean, is it scope - MD is just mission director, so did it hold for everywhere? Or is it why was it chosen over other alternatives, what were their reasons there?
No, read the linked post again and then read my reply again.

Those are not "original reasons". I am literally talking about the day EGOSOFT was formed prior to any game being written by them. When they had their initial roadmap meeting they chose this path for some reason and I am curious why. Nothing to do with existing games because they wouldn't exist yet. So when two (or four) guys got together and said "let's start a game development company and build a space sandbox"... that's when they decided to go this route instead of LUA or any other choice.

Alan Phipps
Moderator (English)
Moderator (English)
Posts: 30368
Joined: Fri, 16. Apr 04, 19:21
x4

Re: Dev Team: What made you decide to use (or write) this game engine / XML?

Post by Alan Phipps » Sat, 20. May 23, 22:04

So you are really asking more why they started developing the X:BTF engine for XP and DirectShow in the way that they did back in the 1990s?
A dog has a master; a cat has domestic staff.

User avatar
Observe
Posts: 5079
Joined: Fri, 30. Dec 05, 17:47
xr

Re: Dev Team: What made you decide to use (or write) this game engine / XML?

Post by Observe » Sat, 20. May 23, 22:05

user1679 wrote:
Sat, 20. May 23, 21:48
I am literally talking about the day EGOSOFT was formed prior to any game being written by them. When they had their initial roadmap meeting they chose this path for some reason and I am curious why.
Keep in mind, Mission Director XML scripting didn't exist until the advent of X3 Terran Conflict (2008). There was probably no such conversation about the current path back in 1988 when the company was founded. The methods and tools Egosoft has used, have evolved over quite a long time.

jlehtone
Posts: 21801
Joined: Sat, 23. Apr 05, 21:42
x4

Re: Dev Team: What made you decide to use (or write) this game engine / XML?

Post by jlehtone » Sun, 21. May 23, 00:37

Observe wrote:
Sat, 20. May 23, 22:05
user1679 wrote:
Sat, 20. May 23, 21:48
I am literally talking about the day EGOSOFT was formed prior to any game being written by them. When they had their initial roadmap meeting they chose this path for some reason and I am curious why.
Keep in mind, Mission Director XML scripting didn't exist until the advent of X3 Terran Conflict (2008). There was probably no such conversation about the current path back in 1988 when the company was founded. The methods and tools Egosoft has used, have evolved over quite a long time.
I have heard of Lua only recently, much later than about XML.
Wikipedia claims that Lua started 1993 and XML 1998? Neither was an option in 1988.

There were something about Mission Director already during X3R, but that might have been a by-product of X3TC development.

user1679
Posts: 761
Joined: Fri, 20. Jul 18, 23:20

Re: Dev Team: What made you decide to use (or write) this game engine / XML?

Post by user1679 » Sun, 21. May 23, 03:17

Observe wrote:
Sat, 20. May 23, 22:05
user1679 wrote:
Sat, 20. May 23, 21:48
I am literally talking about the day EGOSOFT was formed prior to any game being written by them. When they had their initial roadmap meeting they chose this path for some reason and I am curious why.
Keep in mind, Mission Director XML scripting didn't exist until the advent of X3 Terran Conflict (2008). There was probably no such conversation about the current path back in 1988 when the company was founded. The methods and tools Egosoft has used, have evolved over quite a long time.
Ok, so this is interesting. In 1988 there was GNU Octave that was great for numerical computation and STOS Basic for game development (I think Atari used this or created it?). I imagine these two languages weren't very compatible so a project like the X series would have been difficult back then, and probably just a concept. But in 2008 there were clearly other options for scripting which is why I'm curious why they decided on XML.

User avatar
Chips
Posts: 4873
Joined: Fri, 19. Mar 04, 19:46
x4

Re: Dev Team: What made you decide to use (or write) this game engine / XML?

Post by Chips » Sun, 21. May 23, 10:23

user1679 wrote:
Sat, 20. May 23, 21:48
No, read the linked post again and then read my reply again.

Those are not "original reasons". I am literally talking about the day EGOSOFT was formed prior to any game being written by them. When they had their initial roadmap meeting they chose this path for some reason and I am curious why. Nothing to do with existing games because they wouldn't exist yet. So when two (or four) guys got together and said "let's start a game development company and build a space sandbox"... that's when they decided to go this route instead of LUA or any other choice.
Your answer is... on they day Egosoft was formed they likely didn't have a sit down and discuss whether to use XML or not. The linked post specifically said the original reason. Why does it matter if the original reason was prior to Egosoft being formed, on the day it was formed, the month after. Original reason implies the actual reasons WHEN they made the decision. Be that day 1, day -1, day -100, day +100, day 1000. Being so hung up on "but I must know on the day the company was made" is just odd in light of all that.

So, you're curious, it's been answered by the actual devs explaining - but you won't accept that answer and demand more.

I don't think anyone can actually help you under those circumstances - maybe hope the devs read/respond more in depth :D Good luck.

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

Re: Dev Team: What made you decide to use (or write) this game engine / XML?

Post by CBJ » Sun, 21. May 23, 12:06

user1679 wrote:
Sat, 20. May 23, 21:48
Those are not "original reasons". I am literally talking about the day EGOSOFT was formed prior to any game being written by them. When they had their initial roadmap meeting they chose this path for some reason and I am curious why. Nothing to do with existing games because they wouldn't exist yet. So when two (or four) guys got together and said "let's start a game development company and build a space sandbox"... that's when they decided to go this route instead of LUA or any other choice.
You have got the order of events terribly mixed up here. Egosoft existed for quite a number of years, writing games that were not space sandbox games, before the X series came along. Similarly, at the time that development work on the X series started in the mid-to-late 90s, XML hadn't even been defined yet and LUA was very much in its infancy; neither would have been a contender for game development back then. In its early years, what little data the game used that wasn't hard-coded was stored using home-grown text file formats that X3 modders would be familiar with, and there was no scripting language as such. Missions were written in something called KC (a long story in itself!) and compiled into the game.

Support for XML was probably first added to the series in around 2001 for the MCSI, the old X2 scripting language, but the way it was used for that bore little or no resemblance to what came afterwards. The use of XML was later adopted more extensively for certain data files to make them easier to read and more flexible than the old home-grown text file formats. It's worth noting that at this point, alternative data file formats such as JSON still hadn't been defined and ratified yet. Later still, it was adopted for the original MD implementation that was added as part of X3R 2.5 in about 2008. The reasons it was chosen for the MD were set out in the post that was linked earlier. As it happens, development of the new generation of core game engine technology used in XR and X4 actually started very soon after that, so those same criteria were very much still applicable.

People seem to get get very hung up on the use of XML as though it were terribly important, apparently mainly because they seem to think it's relevant to performance. For reasons I've explained on numerous occasions, it really isn't. The game reads and parses the XML files into optimised internal data structures, which it then uses for all its run-time activities. The original file format is irrelevant from that point on.

user1679
Posts: 761
Joined: Fri, 20. Jul 18, 23:20

Re: Dev Team: What made you decide to use (or write) this game engine / XML?

Post by user1679 » Mon, 22. May 23, 04:17

CBJ wrote:
Sun, 21. May 23, 12:06
user1679 wrote:
Sat, 20. May 23, 21:48
Those are not "original reasons". I am literally talking about the day EGOSOFT was formed prior to any game being written by them. When they had their initial roadmap meeting they chose this path for some reason and I am curious why. Nothing to do with existing games because they wouldn't exist yet. So when two (or four) guys got together and said "let's start a game development company and build a space sandbox"... that's when they decided to go this route instead of LUA or any other choice.
You have got the order of events terribly mixed up here.
No, I don't think so. If you read my other comment I recognize that Egosoft was founded before the X games. Also, I was replying based on the information in the linked thread that assumed when XML was added, that was not my idea.
CBJ wrote:
Sun, 21. May 23, 12:06
Support for XML was probably first added to the series in around 2001 for the MCSI, the old X2 scripting language, but the way it was used for that bore little or no resemblance to what came afterwards. The use of XML was later adopted more extensively for certain data files to make them easier to read and more flexible than the old home-grown text file formats. It's worth noting that at this point, alternative data file formats such as JSON still hadn't been defined and ratified yet.
Interesting and this is what I thought the reason would be, the legibility and flexibility. JSON wouldn't really work though would it? It doesn't really allow scripting and function calls, it's more of a data descriptor than anything.

CBJ wrote:
Sun, 21. May 23, 12:06
People seem to get get very hung up on the use of XML as though it were terribly important, apparently mainly because they seem to think it's relevant to performance. For reasons I've explained on numerous occasions, it really isn't. The game reads and parses the XML files into optimised internal data structures, which it then uses for all its run-time activities. The original file format is irrelevant from that point on.
Well I didn't mention performance here, I realize that by the time players experience performance issues, the XML parsing is pretty much done. I was genuinely curious why XML was chosen but it seems like the choices were limited and since you already had an engine it makes sense to improve it.

Thanks for the chat.

Post Reply

Return to “Off Topic English”