Sunday, January 15, 2012

The difference between Source and UDK communities

As my legions of avid fans and readers may be aware, I have started to fiddle with UDK. A big part of working in an engine is the support you get from its community. For Source I have been predominantly lurking and sometimes posting on Interlopers.net and I have found the community to be open, honest and violently dedicated to mod/game dev. Since using UDK I have been lurking in the WIP section of the Epic Games forums. The community there is quite different.

A community is defined

by the thing it envelopes. This stands to reason really, but you wouldn't expect such a wide gap in the attitudes of two essentially neighbouring communities. Whilst Lopers are generally cynical, critical and somewhat cranky people, their spats of good advice are worth a world of wisdom. They routinely destroy newcomers hopes and dreams through giving them a non-euphemised point of view about their suggested projects. These harsh comments are deserved the majority of the time, as the suggested projects are usually suggested within the foundations of a paragraph and offer no actual content or assurance as to the suggesters commitment. Most Lopers have been led on wild goose chases by clueless ideas men leading unplanned mods that were destined to fail, and they ward off similar future experiences appropriately. Despite these often violent outlashes, they offer real advice for new modders.

The UDK forums are a bit different. New projects that look destined to fail are given the benefit of the doubt and often congratulated for otherwise benign achievements. This community may be more supportive, but it tends to produce a smaller volume of really top quality content. The community is mainly comprised of two distinct groups. People with lots of experience working on good projects and people with very little experience working on destined-to-fail projects (and posting way too much about them). I think this is because of the engine uses and support.

While source has little to no (read: pitiful) support for its modders and engine users, UDK has ongoing community development programs and active feedback into its users. Source is generally used by Valve behind shut doors while Unreal is often advertised about. The source engine is able to be licensed, but there isn't any real push for licenses to be bought, whereas Epic often advertises for people to use their engine. So why are they so evenly regarded?

Difficulty breeds determination

Source modders are hard. They have to trawl through some of the crappiest support, badly documented functionality and backwards coding there is in a commercial engine. Working with source it is boundlessly evident that valve made the engine for valve. In order to get something small working in the engine you have to go through quite a bit of effort, which makes the reward all the more satisfying. Source modders develop a tenacity to fight through horrid setbacks and convoluted design and their work is better for it. For a first time modder it's somewhat of a baptism by fire.

UDK, on the other hand, has been developed for ease of use across a wide audience. Its editor is up to scratch with modern program conventions, the interface is easy to use and everything has a gui. UDK developers don't need to fight the system and bend it to their will, it is already there. They can concentrate instead on producing content and getting work done on their game. For a modder to move from source to UDK, it's fucking hard to go back.

Let's look at an example: materials

Source relies on VMT files, text files that outline the materials appearance. It's a sound approach but in order to use something as simple as specularity you have to research the command and its parameters. UDK has the material editor, in which you drop your texture file (which is a bit confusing at first) and then connect it to a shader output. It is much easier and all done through a nice GUI. This is a textbook example of valves expertise-requiring confusing approach, and UDKs relative ease.

But the engines communities are fundamentally even more different. Source has fantastic games made by its parent company. The popularity of valve games cannot be downplayed, thanks, somewhat, to their flagship distribution service. Epic have some damn good games too, but they aren't as virulent as the valve ones. The audience is also far better targeted by valve. Valve make games predominantly for PC, and PC users appreciate that. Epic make games more for consoles, and console players are largely nonplussed by game development. Valves demographic, the PC users, are more likely to try modding and less likely to pay for games. Epics demographic are more likely to never think about games development and pay for their games. This raises a split in the attitude towards money that either engines community has. Source modders don't want money for their mods (nor are they really entitled to it without licensing the engine), whereas UDK users are looking to cash in on the paying consumers.

This creates the basic difference in the two communities. Interlopers is all about modding, Epic forums are all about making games.

Interlopers create their mods with no expectation for money, and create them purely out of the urge to create something good and to better their skills. Some Lopers have even been snaffled by developers. Epic forums create games because it is what they are good at, it's what they want to do, and they have a very real chance of turning a profit. A lot of them are already developers.

So if you're tossing up between the two, UDK comes heavily recommended, with a supportive community that may or may not just let you go down the entire wrong path but at least you have the opportunity to get some work done. However if you want to run the gauntlet, choose Source, with a harsh community that will either break you or force the best of your work out of you by hook or by crook.

1 comment:

  1. Well put sir, this gives me a ton of insight towards defining the engines and their communities apart.

    ReplyDelete