Counter-Strike:Source (CS:S) has been out for a day now. I have had a chance to set up a new CS:S server and try it out. I thought I might offer observations from two perspectives. Firstly, on the game itself from the point of view of someone who never really played the original Counter-Strike and is mostly interested in the Source Engine and what it will mean for other Source-based mods. Secondly, from someone who operates a game server.
As many people have observed elsewhere, the graphics are just awesome. Most objects and structures in the game look sharp, textured, and about the way you would expect them to in real life.
But it's not simply a matter of increased levels of detail or resolution. The whole virtual world is much more realistic. Things don't just look
realistic, they act
realistic. In the current version of DoD, when you shoot a barrel it makes a metalic sound. But the barrel doesn't move. Shoot a barrel, or bump into one, and it will move -- roll, topple, etc. -- whatever is appropriate to the action taken towards it.
A great example of the depth of realism possible with the new Source Engine can be found in the marketplace area in cs_italy (pictured at right). Bump into the table in where all the fruit is displayed for sale and you can knock the watermelon in the milkcrate off the table. When they hit the ground, the milkcrate tips over, and the watermelon rolls across the ground in exactly the manner one would expect an object of that shape and weight to do so
. Shoot the watermelon with your gun and it explodes, showering the area with pieces of watermelon with the red bits inside now visible.
Water is another thing that looks and acts much more realistically with the new engine. Check out the picture at left from the map de_chateau. Notice how the building outside the hole in the wall is reflected in the water in the bottom left of the picture. It is brighter outside, and so the building is reflected. Inside, on the right hand of the picture, you can see through the water.
The player models look very nice as well. They seem to move fluidly, and have lost the obviously angular look of HL1 models. You can't see any hard edges in the faces like you can with the old engine. And something someone has already mentioned in our forums is the incredible shadows that are dynamically generated as players move around -- very cool.
The new graphics engine seems to be reasonably efficient. I have a fairly up-to-date computer (AMD64 3400 CPU, nVidia 6800 Ultra video card) and I got better performance than I was lead to believe from my reading about Source elsewhere. I get framerates comparable to the current version of DoD with all the goodies turned on. I am sure there will be some people out there with older machines that will have difficulty, but I think some of you may be surprised at fps you can get with the graphics turned down a bit.
In short, as a player, I am very impressed with the Source Engine. Since I am not a big fan of CS, the chief result of seeing CS:S was to make me very eager for Day of Defeat:Source. The much more fast-paced and team-centric gameplay of DoD on the very cool Source Engine will be something to see.
Running a CS:S Server
In the run-up to HL2 I have been very concerned about the server load the Source engine would place on our game server. Of course, we at SunLit are very fortunate to have an excellent dual-processor AMD64 Opteron server with 2 GB of DDR and a fast connection from FrontLine Game Servers
. I knew our machine would run it. The question I had was how many instances could I run? Would we be able to run Source-based servers and still keep our older game servers as well? When we ran a Call of Duty server, the machine handled it OK but it used twenty to thirty percent of CPU time just by itself! All seven
of our HL-based servers used one-third that much! If Source-based games were similar to CoD, then we could run maybe two Source servers, and that's it.
Well, after some difficulty setting up the server (mostly due to my stupidity, but geez they could make the process a bit less convoluted), I have now had a chance to observe the CPU utilization levels on our game server first-hand. The picture at left shows a graph of CPU utilization with the new CS:S server running with 20 players. At the time that screenshot was taken, there were also about 4 players on SM, 10 players on the Annex, and 2 players on HL Rally. This represents a medium level load for us.
As you can see, the CPU utilization was hovering around an average of 5%. This is nearly unchanged to what it would have been with no CS:S server running at all, and the same number of players scattered around our other servers. This is very
good news. We will easily be able to keep most of our old servers based on the HL1 engine while we add some new servers for the Source-based games, as they come out.
From my particular viewpoint as a server admin, there are two things sorely lacking for Source at the moment. The first thing is some sort of administrative tool like Admin Mod or AMX Mod to allow our Enforcers to easily enforce the rules, and so we could add plug-ins for TK management, voting, etc. Unfortunately there are no such plugins available whatsoever right now. We'll have to wait for Valve to release the Source SDK to developers, and then for them to come up with all-new plugins. I think it may be a while.
The other thing I really wish we had was a Source plugin for a website application we use called "phpUA." PhpUA is the web app that allows us to show real-time server data on our home page and our server status pages (the current map thumbnails, number of players, etc.). The people at phpUA have not written such a plugin, and so we can't display real-time information on our CS:S server yet. I don't think this will take nearly as long as writing a whole new Admin Mod plugin, for instance, so hopefully we won't have to wait long.
As a server operator, I have to say I am very pleased with the Source Engine. Huge kudos should go to Valve for making a game engine which is extremely efficient in its use of server resources.
The SunLit Counter-Strike:Source server can be found at: