Dev Team: What made you decide to use (or write) this game engine / XML?
Moderator: Moderators for English X Forum
Dev Team: What made you decide to use (or write) this game engine / XML?
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).
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).
-
- Moderator (English)
- Posts: 30368
- Joined: Fri, 16. Apr 04, 19:21
Re: Dev Team: What made you decide to use (or write) this game engine / XML?
A dog has a master; a cat has domestic staff.
Re: Dev Team: What made you decide to use (or write) this game engine / XML?
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.
Re: Dev Team: What made you decide to use (or write) this game engine / XML?
The linked post does say, specifically, "Some of the original reasons for choosing XML for the MD were:..."user1679 wrote: ↑Sat, 20. May 23, 20:00Thanks 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.
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?
Re: Dev Team: What made you decide to use (or write) this game engine / XML?
No, read the linked post again and then read my reply again.Chips wrote: ↑Sat, 20. May 23, 20:37The linked post does say, specifically, "Some of the original reasons for choosing XML for the MD were:..."user1679 wrote: ↑Sat, 20. May 23, 20:00Thanks 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.
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?
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.
-
- Moderator (English)
- Posts: 30368
- Joined: Fri, 16. Apr 04, 19:21
Re: Dev Team: What made you decide to use (or write) this game engine / XML?
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.
Re: Dev Team: What made you decide to use (or write) this game engine / XML?
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.
Re: Dev Team: What made you decide to use (or write) this game engine / XML?
I have heard of Lua only recently, much later than about XML.Observe wrote: ↑Sat, 20. May 23, 22:05Keep 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.
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.
Re: Dev Team: What made you decide to use (or write) this game engine / XML?
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.Observe wrote: ↑Sat, 20. May 23, 22:05Keep 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.
Re: Dev Team: What made you decide to use (or write) this game engine / XML?
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.user1679 wrote: ↑Sat, 20. May 23, 21:48No, 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.
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 Good luck.
Re: Dev Team: What made you decide to use (or write) this game engine / XML?
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.user1679 wrote: ↑Sat, 20. May 23, 21:48Those 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.
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.
Re: Dev Team: What made you decide to use (or write) this game engine / XML?
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:06You have got the order of events terribly mixed up here.user1679 wrote: ↑Sat, 20. May 23, 21:48Those 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.
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:06Support 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.
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.CBJ wrote: ↑Sun, 21. May 23, 12:06People 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.
Thanks for the chat.