X4: Foundations

X4: Foundations

View Stats:
Meme Turtle Dec 16, 2019 @ 10:11am
The one and only reason to hate X4(and X:R)
There is one fundamental issue with this game that affects players, modders, and developers at the same time: XML. XML is fine to describe contents of game objects and store data. But when you use it as a scripting language to define AI behavior you run into problems:
  1. Speed. XML scripts have to be interpreted by the game engine rather than executed natively. Unless Egosoft has developed their own version of JVM with JIT.
  2. Reliability. Writing unit tests and debugging outside of game environment is near impossible.
  3. Extensibility. While XML patches are nice, there is no way for modders to extend or override API functions.

Can someone from Egosoft explain why you are still using XML for describing in-game logic instead of DLLs? Have a look at games like Rimworld, KSP(C#), or StarSector(Java). These games use XML/JSON to define function calls for objects and allow modders to implement game logic via proper OOP language.

Please, let us extend and override engine API. Please, let us write C++ functions for turret aiming and pathfinding.
< >
Showing 1-15 of 21 comments
Obiwan Kenobiwan Dec 16, 2019 @ 12:06pm 
If we could do all that what on Earth would we need ES for anymore ?

I support your Request, it is just very unlikely to happend !
MaGicBush Dec 16, 2019 @ 4:24pm 
Probably what Obiwan said. They don't want us creating things they can create dlc for.
Last edited by MaGicBush; Dec 16, 2019 @ 4:28pm
Meme Turtle Dec 16, 2019 @ 6:26pm 
I don't think it has anything to do with DLC. EG benefits from mods and this change will allow modders create complex mods much easier. The real problem is it will take considerable time to implement and at the moment EG has other stuff to do with 3.0 and SV.

I was asking for support for user DLLs 3 years ago when X4 was still in the making. I guess not enough people found this important so it never ended on the TODO list.
Aeekto Dec 17, 2019 @ 1:06am 
It was allways great to have XML and not C++ or any other language for one simple reason..... realy everyone, i mean realy EVERYONE (and not only experienced modders with knowledge about more complex languages), could make some mods for X3:R, X3:TC and X3:AP with some minor logic understanding because it is so simple and ridiculous easy.

Even i created severall mods for all X3 games (for civ4 too since it was xml and py) and i don´t know anything about modding nor did i ever learn a single coding language.
There is no other game outthere in which i could have done this.

You guys have to think outside the box, especially because it´s singleplayer.
X games weren´t so successfull because only a handfull could code/write a mod, but because everyone could do it and change the game to his own liking instead of relying on a handfull mods which never pleases you 100% (everyone started with "thereshallbewings" and the Script-Editor and learned how to implement scripts).... some people even got into modding just because XML is so beginner friendly.
Some of the realy great mods which turned into official free DLCs for X3 have been created by people who never modded before and would have never tried it if the language was C++ or anything else.
Last edited by Aeekto; Dec 17, 2019 @ 1:07am
Meme Turtle Dec 17, 2019 @ 7:52am 
Originally posted by Terako:
XML is so beginner friendly.
My experience is completely different. It took me 5 days to write a 10 line mod for X:R. This was rather unpleasant and left a mental scar. In contrast writing a simple mod for Rimworld took only 2 days with the most difficult part being installing and setting up IDE.

Besides I am not proposing to remove XML scripts but to add support for custom DLLs. Feel the difference.
bigd Dec 17, 2019 @ 12:53pm 
Don't mind me. I'm just a random person who is just randomly reading different threads in discussion and I have no clue what the hell ya'll talking about. The only thing I gain from this thread was a headache. On to the next thread.
MaGicBush Dec 17, 2019 @ 5:42pm 
Originally posted by bigd:
Don't mind me. I'm just a random person who is just randomly reading different threads in discussion and I have no clue what the hell ya'll talking about. The only thing I gain from this thread was a headache. On to the next thread.

What? Why even post and not just move on then lol..
lPaladinl Dec 17, 2019 @ 7:43pm 
Originally posted by MaGicBush:
Probably what Obiwan said. They don't want us creating things they can create dlc for.

And reducing the quality of mods that helped X3 sell even many years after it released?

Sounds backwards to me.
JVonD Dec 17, 2019 @ 8:44pm 
Ever since X3 things have changed and the universe started to feel a lot smaller. XML's were to first to suspect since as the game grew and things started to slow down and shortcuts were implemented on distant sectors to help speed things up but often at the cost of completely different results than if you was in the sector at the time.

A example of this would be like X:R when a damaged capital ship would loose its weapons and run out of sector and have its guns almost instantly repaired which would have taken up to 30 minutes if it stay in the same sector as you. Also big battles is a example of this. You have a custom fleet and fight the battle yourself you would have a different outcome than the battle being in a different sector since ships and weapons seemed to go to default combat values.
hydlided Dec 17, 2019 @ 10:51pm 
Originally posted by Terako:
It was allways great to have XML and not C++ or any other language for one simple reason..... realy everyone, i mean realy EVERYONE (and not only experienced modders with knowledge about more complex languages), could make some mods for X3:R, X3:TC and X3:AP with some minor logic understanding because it is so simple and ridiculous easy.

Even i created severall mods for all X3 games (for civ4 too since it was xml and py) and i don´t know anything about modding nor did i ever learn a single coding language.
There is no other game outthere in which i could have done this.

You guys have to think outside the box, especially because it´s singleplayer.
X games weren´t so successfull because only a handfull could code/write a mod, but because everyone could do it and change the game to his own liking instead of relying on a handfull mods which never pleases you 100% (everyone started with "thereshallbewings" and the Script-Editor and learned how to implement scripts).... some people even got into modding just because XML is so beginner friendly.
Some of the realy great mods which turned into official free DLCs for X3 have been created by people who never modded before and would have never tried it if the language was C++ or anything else.

I guess you never have seen the benefit of unit testing code. Unit testing makes things so much easier just because you do not have to there to play the game and test features. You fire up a console, run the test and check the results.

Modding today is like: edit this, launch game, check if it works, repeat.

Which in my experience does not make things 'easier'.

Sure the language (XML) itself is easier to understand, but when it comes to implementation... that is something else. There are namespaces that are being ignore because the engine in some cases does not follow the rfc5261 guidelines. One element that is not supported (or simply ignored, in cases I have found myself) is patching things using the looking up XML tags by name. By id works fine, but by name it gets ignored.

But now we'r going too much on the technical element. And I do not want to de-rail the thread to much on the technical element that much (because people have a thing with just reading specific lines, and ignore the rest).
Bozz 💀 Dec 18, 2019 @ 1:05am 
speaking about DLC, Ego has never been crazy about DLCs even xR only had 2 very underpriced DLCs, they are really not expensive and usually add a lot of content... Just look at paradox and their 5$ DLC for 3 very simple 3D Units and then look at the DLCs for xR which are only 9.99$ and add lots of content (ships, sectors, weaponns...) Ego is onen of the few devs that does DLCs the right way.
Meme Turtle Dec 18, 2019 @ 7:43am 
Originally posted by hydlided:
I guess you never have seen the benefit of unit testing code. Unit testing makes things so much easier just because you do not have to there to play the game and test features. You fire up a console, run the test and check the results.

Thanks, my point exactly. People need to realize that this issue affects them as well even if you are not planning to mod the game. Bugs, crashes, and slowdowns are the direct consequence of using XML scripts. The only way to fix those problems at the moment is through rigorous manual testing. Hence people claim X4 feels like EA title with players being free testers. You cannot build a good house without a strong foundation.

As an example of an XML script have a look at this mod: https://github.com/ludsoe/TaterTrader/blob/master/aiscripts/tatertrade.xml
Good luck debugging it in any meaningful amount of time.
hydlided Dec 18, 2019 @ 2:50pm 
Originally posted by Bozz 💀:
Ego has never been crazy about DLCs even xR only had 2 very underpriced DLCs, they are really not expensive and usually add a lot of content... Just look at paradox and their 5$ DLC for 3 very simple ...

Let me simplify this for you then:

You are comparing an indie developer (Egosoft) vs a publisher (Paradox). As an indie developer you have the choice here to do what ever you like as an indie developer. You can set your goals the way you see fit, you can determine the cash flow, you can determine the DLC tactics and its marketing strategy...

By now, you will understand that a publisher works different.

The developers that makes a game for publishers (where paradox is a publisher, not really a developer) are very much pushed in such a direction to earn money and also pushed with deadlines and releases. Because that is (what most cases) a publisher wants because they invest into the development.

So in that case I would blame the publisher for it, not the developer and the game it has released.

And speaking about todo list, I use them too, and they are quite useful (using the quoters tactic here).
hydlided Dec 18, 2019 @ 3:27pm 
Originally posted by Meme Turtle:
Hence people claim X4 feels like EA title with players being free testers.

I already feel like a free tester (670+hours in). If I would re-calculate in the hours I could be doing dev stuff, I just wasted more than $25.000. If I calculated our hour standards, that would be $100 per hour, so it would be more like $67.000.

Yeah, I will just plug that stuff in to this too ;)
lPaladinl Dec 18, 2019 @ 3:43pm 
I wouldn't even really worry about the DLC myself, it's just that X4, while it's apparently come a long way, is still in a bit of a sorry state for DLC to be layered on top of it.

The good news is, they're working on fixing up the game with the same patches that will release the DLC. So there's that.

But it doesn't exactly put confidence in me about buying the season pass. Especially not for recommending it to others. I'm just hoping that when it's all said and done that it will be worth recommending and that the game will be ironed out.
< >
Showing 1-15 of 21 comments
Per page: 1530 50

Date Posted: Dec 16, 2019 @ 10:11am
Posts: 21