|
I recently developed an mild obsession over Team Fortress 2. I know, I am about a year or two behind the crowd here, but I couldn't pass up a deal like $2.50 for such a high quality game. I've had my share of ups and downs with TF2 however.
Some of my best moments in this game have been unexpected experiences. I deeply enjoyed the little things they added to the game, like marking a player who has killed you repeatedly; giving you the drive to seek him out and crush him. I also enjoyed the little RPG-like bonus that players receive for playing extended periods of time or accomplishing impossible tasks. The whole game was put together very well, except for one thing...
The Source engine is an interesting beast. It is clearly a powerful piece of technology to have developed amazing games like Half-Life 2 and Team Fortress 2, but it is also an unwieldy creature that has been dragging a lot of baggage since 1998. You may be thinking, "but wait, I thought Half-Life 2 came out in 2004", and you would be right.
The problem however is that the Source engine was a sort of re imagining of the original GoldSource engine that was built off of id Software's own Quake 2 engine. Even though most of the Source engine is completely new; much of the same design paradigms linger throughout. When this happens; when you continue to build technology on top of existing frameworks, you get long load times, frequent crashes, data bloat, and much more. Basically you get Windows =).
Seriously though, I have never experienced more technical issues with any game more than one that was built from the Source engine. The long load times, the crashes, the 5GB game installations; it has all become very clumsy.
I am glad that Valve can continue to make great game experiences from the Source engine, but I do wonder how long it will last. There will eventually be a time when they are forced to re-invent their technology and when they do, I can only hope that they build something that leaves behind many of the painful problems that plague the current generation of Source.
[Reprinted from a November 1st, 2009 Blog on my website.]
|
The analogy isn't completely absent-minded if you just thought so - looking again at Valve, I absolutely can't jump on the whole L4D hype wagon. I look at my workmates playing it every day during lunch break and it repulses me how crude it is - almost no physics, no character model breakdown on body parts - you just basically mow down a crowd of - well yeah zombies - still people call it arcade, I call it the 90ties and a bespoke excuse.
Don't you get the feeling we're more making game according to a marketing monster's strict guidelines than our vision? Say a Senior Programmer at Valve, fed up one day with struggling with the spaghetti code he must bear with every day goes to his supervisor and says "look, the physics engine needs a re-write". The lead stares at him like its April Fools Day - after all the company policy to build on the existing platform should be burned on everyone's skull. It's not good marketing to forgo years of money and time when the next thing that comes out of the house will sell millions on the 1st day.
Will Valve build something new? Not anytime soon IMO, not when the bulk of their customers are people who can't squeeze in more than 30 - 45 min of quick, story free, dare I say zombie-level complexity game time into their day schedule.
Yeah Valve is going to have to move from Source at some point and I hope to use that set of tools as well. The sad thing is though with an increase in graphical fidelity ie moving to mesh based world structure rather than textured BSP you are going to see less mod and community levels. I'm not the first to say this but the asset creation side of modding is going to/has increase(d) the barrier to entry.
The developer in me will be a little sad to see the last dinosaur pass on, but the gamer in me will be happy to play through a session without constant hardware lock ups and hard reboots either. There is never a more nerve wrecking and gratifying experience than starting over.
But, say all the negative things about it, people are still buying "source powered" games by the butt load and there are more mod communities making mods/maps then any another engine. When I go back and play Half Life 2, I'm not noticing that the graphics are dated, I'm to engrossed in the District 17 to realize that.
Forget graphics, Half Life, Left 4 Dead, Portal, and Team Fortress 2, are great designed games and are fun to play (which go farther then graphics in my book).
Source is just one of the best engines for the community at this moment, nowhere else are there so much good mods available. From total conversion mods to skins and models, just great.
And the games Valve made are just top notch and very well balanced and produced. I think a lot of developers could learn from Valves designing and balancing process (you can go and hear the very interesting developer commentary for a glimpse of their process).
But I also think it's maybe time for a complete reboot of the Source engine. They have been updating it by every game they made, but a fresh start couldn't hurt I guess. One of the major problems they have is multi-threading, they have started to implement that since Left 4 Dead but on modern pc's multi-threading (and also GPU processing) is pretty important to get a fluent game out of it. But still, all their games run very good, they have made extensive surveys on hardware so they know the best target market for performance.
So yes, Valve is one of the best game developers out there, and graphics are less important than gameplay (and their games have not bad graphics and very good gameplay).
As for the huge game installs, it's partially because the Steam has certain files shared between games. So, Episode 2 may take up 3 gigs, and TF2 may use 5, but both, together, only use 6. Those probably aren't exact numbers, but you get the idea. If you have many Source games installed at once, it's a huge savings.
I will concede that the engine design is outdated. Having to spend hours baking lightmaps is frustrating. An engine heavily optimized for visleafs causes certain problems in highly destructive environments.
However, Valve has proved time and time again that you can make a better game on a technically worse engine. Using an "outdated" engine also let's you run well on "outdated" hardware. All their games run on DX8, and most of their pre-Orange-Box games will run on a measly DX6.
Most people don't care if the engine doesn't keep up with the latest trends. If the game runs, and is fun to play, it's a good game.
In any event that doesn't really relate to the topic, which is the more general idea that re-writing something from scratch is the way to fix problems.
"when you continue to build technology on top of existing frameworks, you get long load times, frequent crashes, data bloat, and much more."
I'm sorry Benjamin, but I don't think any of this is correct :$
What you get is experience, an enormous catalogue of fixes for specific issues on specific platforms, and a widespread knowledge of exactly how your technology will perform under a wide set of circumstances. And you get the stability born out of a decade of testing and fixing. Yes, you have to adapt and constantly re-write individual components, but you must be careful not to throw the baby out with the bathwater. Re-writing, from the ground up, a vast piece of technology - especially one with such enormous community adoption - would almost certainly be a pretty big mistake.
The idea that Source games are less stable than others in general is I guess a fairly subjective, setup-dependent assumption. Even if this is the case - and don't get me wrong, it may well be - it's certainly not because it's 'old'. It's not a car.
Check out Joel Spolsky's ancient but still incredibly relevant piece on the subject: http://www.joelonsoftware.com/articles/fog0000000069.html
@Andrew, you make some solid points, but I do still feel that a compound architecture leads to judgment calls based on what is already available and not what CAN be done. For example, Valve's choice in multi-threading was to break up the client and server code into threads; effectively separating the game logic from the image generator. This will work perfectly fine for at least a couple more years, but it's not exactly a solution, more like a band-aid while we wait for 4+ core hardware to be adopted. Many modern engines have taken a more task-based design to prepare themselves for a future with an ocean of processors. I think that this is going to be a major barrier for Source in the coming years.
The use of lightmaps with solid BSPs and visleafs was a staple of the late 90's and is still the primary architecture for Source. This leads to environment files that can grow in excess of 50 to 100MB of compressed geometry alone despite the fact that some of the HL2 environments could have been handled more gracefully using other spatial systems. I can only imagine that this also imposes some interesting limitations in geometry batch sizes due to BSP eccentrics. Some of their choices may even have prohibited them from implementing background streaming techniques to avoid the sluggish loading between areas.
The list goes on but my point is not to bash Source, I'm just saying that it's not perfect. No, Source is not a car but does still suffer from aging as the hardware around it changes. Maybe not for Netscape or Excel, but games are a different kind of beast. A lot has happened in the world of PC's since 1998; I admit, mostly in the graphics department and the recent rise of widely adopted multi-core.
It is entirely possible that through the past 5 or so years and multiple hardware swaps that I am simply the most unlucky guy on earth to get incompatible hardware configurations for Source, yes. But I'm also the guy that can't get the Steam website to stop talking German on his Vista box, so there is no telling what's going on =). I don't deny that a fresh start will ultimately impose it's own share of bugs but sometimes it takes more than incremental changes to make the generational leap. If Valve can continue to keep Source relevant for 10 more years on incremental changes then I say, good for them. I'll probably still buy the game, and play it with two fingers crossed and one on the quick save key.