FAQ

Xash3D

Frequently Asked Questions

Contents

What is Xash3D? Compatible to what extent?
What's the point in using Xash3D if you can play the same games on GoldSource?
Seeing as the GoldSource source code is not freely available, how did Xash3D come about? Did you steal the sources from Valve?
The engine sources used to be closed. What brought you to publish them?
What's the latest version of the engine at the moment?
This is a interesting project; can I make a game based on your engine?
What if I want to sell my game based on your engine?
This is an interesting project; how can I help?
Will Xash3D support GCF archives?
What tools do you use to work on the engine?
Why the name Xash? What's the meaning of this word?

 

What is Xash3D?

Xash3D is a game engine that is compatible with Valve LLC's GoldSource, which powers Half-Life, Counter-Strike and a lot of other games.

 

Compatible to what extent?

The engines are 85 percent mutually compatible. This means that most mods and games based on GoldSource should work correctly on Xash3D without any adjustments, out of the box. This doesn't apply to games designed for the Steam version of GoldSource, because they rely on undocumented engine features, and this makes it considerably more difficult to adapt them. However, I hope that by the time the final version is out, this will be resolved.

 

What's the point in using Xash3D if you can play the same games on GoldSource?

There are a few reasons:

  1. Recent changes that Valve made to the GoldSource engine have been known to break compatibility with some mods. Xash3D, however, makes a point of maintaining compatibility.
  2. Xash3D addresses lots of issues found in the original GoldSource, where they might not be fixed.
  3. Xash3D is optimised better, which results in a higher framerate—think netbooks.
  4. The engine is not tethered to Steam, which is often more trouble than it's worth.
  5. The engine is moving ahead, and you are in a position to ask for a new feature and, in all likelihood, get it in a future version. This is clearly not the case with GoldSource.
  6. The engine's sources are open and licensed under LGPL, so that you can study the insides of your favourite game and even modify it to suit your needs.

 

Seeing as the GoldSource source code is not freely available, how did Xash3D come about? Did you steal the sources from Valve?

Originally, compatibility with GoldSource wasn't planned. The intention was to use a similar model format and make the rest stand apart entirely. It was going to be yet another generic multi-purpose engine. However, three years' worth of development predictably showed the futility of this approach, because making an engine without a game for it to underpin may be a fascinating endeavour, but completely useless. There was no way to even test the gameplay for ten minutes (because no gameplay existed), so the code was gradually accumulating bugs, which could not possibly be found in the few test maps that were available. Meanwhile, many users who were noticing certain similarities to the GoldSource engine (primarily the model format) asked me to rewrite the code in such a way as to make it fully compatible with Half-Life and mods for it. So in late April and early May 2010 development of the engine took an entirely different course, with the aim of full GoldSource compatibility. The source code for GoldSource was not freely available, and this didn't help matters. Therefore, the recreation process relied on well-known facts about the origins of GoldSource, which is a combination of Quake, QuakeWorld and Quake II; the sources of all these engines have long been open and publicly available. The game code in the Half-Life SDK helped tie up some loose ends, and so did the sources of Half-Life 2 Beta. Finally, whenever all of this information was insufficient, the missing knowledge was gained through black-box testing of the original GoldSource. In short, the way to do it is to feed a certain batch of data into the engine, receive the processed result and analyse the input and output values to make assumptions about the operation logic. The validation of this approach came when some games started to look and work identically in GoldSource and Xash3D.

Note: Since version 0.75, the author of the engine has sometimes been unable to tell if he's running GoldSource or Xash3D :-)

 

The engine sources used to be closed. What brought you to publish them?

To a certain extent, I was influenced by one of the members of our forum, who kept gushing about how opening the engine would ensure its glorious future. Personally, I tend to take such statements with a grain of salt, but I still decided to open the engine sources, because it does have a lot of interesting solutions that might prove helpful, for example, for the Quake community or for porting Xash3D to other platforms.

 

What's the latest version of the engine at the moment?

Currently the latest version is 0.95. The engine will hit its final version when the full range of Half-Life's features has been implemented.

 

This is a interesting project; can I make a game based on your engine?

Xash3D has inherited its parent engine's lack of dependence on a preset game directory. Therefore, nothing prevents the creation of entirely separate games. The author of the engine has no objections to this and is ready to provide basic counselling regarding the engine's technical details and features.

 

What if I want to sell my game based on your engine?

This is a pretty tricky question. Xash3D is licensed under LGPL, so I am not entitled to any fees. However, the engine depends on the vgui.dll library, which ships with Half-Life 1.1.0.8 and is property of Valve LLC. If you create a commercial product, you must remove this part of the code from the engine and game libraries. That said, matters of this kind should be discussed with your company's legal staff.

 

This is an interesting project; how can I help?

For example, you can maintain the documentation, set up a Web site about the engine, translate the documentation into English, beta-test the engine. Alternatively, you can make a donation—the wallet number is
410011011597633
in the Yandex.Money system.

There is also the WebMoney wallet
R921161786039

 

Will Xash3D support GCF archives?

This is very unlikely. The truth is that I have never seen amateur mods packed as GCF, and on the other hand, Half-Life has moved away from the GCF format. In addition, Steam uses a sophisticated directory and archive hierarchy, and this can cause confusion.

 

What tools do you use to work on the engine?

Microsoft Visual Studio Enterprise Edition 6.0 + Service Pack 5 + Processor Pack. For source code editing, Asm_Ed.

 

Why the name Xash? What's the meaning of this word?

When I was considering a name for the future engine, I wanted to come up with a short word that defies translation, similar to “SONY”. I chose “Xash” over several candidates. It was only later that the name turned out to conjure up Georgian cuisine and Star Wars, but originally, I had no idea.