May 082010

In response to my earlier rant about Valve doing tests before pushing out updates into production, I thought I’d do some research on the subject myself.

WARNING: If you’re not at all interested in game programming or just general programming, you may want to consider skipping this post.

Before I go too much further I highly recommend the series of articles titled Stepping Through the Looking Glass: Test-Driven Game Development by Noel, which I highly recommend anyone going into the software development industry as a career to read. I will be referencing this series throughout this post. Part One goes through what test driven development is and how it’s important. The meat of the series is Part Two where Noel goes into how to incorporate unit tests and more specifically how to incorporate them within games.

Now, the first thing I thought about when doing my previous rant was, “How can you test something that relies so heavy on graphics?”. Well, in part 2 of the series Noel states,

The best thing you can do is forget about low-level graphics. Wrap it up neatly at a really low level in a little library and push it aside. Then you can concentrate on testing everything that uses graphics instead of getting bogged down with the graphics themselves.

Very well put, I must say. Even though the game is driven on graphics to play it, there are still calculations that are being done to do all that and more. Now does Valve have unit tests? I’m not sure, but I’d love to know. I’m quite sure they do. Let’s be honest, they’ve done about 120 updates and nothing as critical as hit detection has been broken. Yes, they have broken quite a bit of functionality, such as rocket and sticky jumps, but nothing that totally cripples the game to where we can’t play unless they fix it.

In conclusion, unit tests, if done properly, can save not only maintenance time when the product first goes live, but as equally important it can save maintenance when new development goes on top of the product for new features.

EDIT: After talking to Sigma I learned that Valve actually did break hit detection…twice! He noted once when Ambassador came out it would always hit and another time demoman pipes would go through targets. Awesome job, Valve! This really lowers my confidence in your TF2 development team. :[

There are a few fairly new custom maps coming into the rotation for both ESEA and CEVO. The ones I’ll highlight today are cp_obscure (week 6 of CEVO) and cp_coldfront_rc2 (week 3 I think for ESEA).

The first map is obscure, made by Byte who plays for an European team, TCM (and used to play for FakkelBrigade). You can get the rc3 version HERE, or check his website for the latest releases. This is a map we will have to learn for CEVO. After Valve released the snowy themes for TF2, it feels like a lot of the custom maps use them now, which is sad because my frames drop horrendously on maps like koth_viaduct. Maybe it’s the weather (which I have to remember to turn off…), but in 24 player pubs I get maybe 10-20 fps.

The next map is cp_coldfront, which is on rc2. You can also download it here, or check the TF2maps thread for the latest updates. This came out fairly recently, but has already been approved to be in the ESEA rotation for this season. Comments are mostly positive for the map created by the same person who made cp_waste, a map that most people are iffy about because of how slow it plays out (similar to cp_well). Unfortunately, waste has been in the TWL rotation for 2 seasons now, maybe they’ll take it out this season?

Lazy Teammates!

Posted by Leia at 9:55 pm Random Ramblings
Apr 092010

Another issue that has surfaced for our team is keeping the blog updated. Everyone is lazy (lazy lazy lazy!), so no one wants to write daily mini-essays or even single paragraphs (I guess I’m the only one with a tendency toward verbosity). How do you get people to do things if you can’t directly physically assault them? The logical next option is positive reinforcement, but I don’t really have sufficient funds to send people brownies every time they write a post. So I guess for now I’ll just have to stick with constantly nagging them.

Apr 022010

So we all know that most TF2 teams tend to die within a few months, usually because people are impatient and selfish and those things tend to breed drama etc. etc. A couple of reasons for why teams (or at least, our team) become more difficult to maintain as they age:

The most recent issue that’s come up in the Orz world is scheduling. Though everyone has always had a few nights a week when they can’t play for one reason or another, when we formed back 7 (8?) months ago, it seemed like we would always have to have at least one person sitting out for each scrim. Now, getting 6 people to be online in the evenings has been difficult; I don’t think we’ve played one game this week without a ringer or two. It’s not necessarily a terrible thing, as it’s natural for people’s schedules to change as their lives change, but it does make getting people together more of a hassle. Everyone then has to work harder to perform as well in matches, because most of our practicing has to be done without our full roster.

Another issue that has always been present has been the struggle to improve as a team. Before long, the honeymoon period ends, as instead of seeing improvement with every scrim and beating teams this week that you struggled against last week, you throw yourself at the same group of teams over and over without feeling much change. Maybe your combo is always getting outspammed at mid, or scouts tend to be a problem when pushing spire, or you can never seem to cover all your exits and avoid getting backcapped. This issue is probably number one for why teams break up. If you’re not going getting any better no matter how often you practice, your players start to wonder if it’s worth the time and energy, and soon no one wants to get together and play because they just don’t want to get rolled again.

Soooo… how to avoid this stagnation problem? Continue reading »

Mar 202010

When for half the team has exams, is on vacation, playing FF13, or otherwise occupied with RL stuff, those of us who have free time generally mess around in pubs.

On cp_gorge, our favorite thing to do is set up 3 guns on the roof overlooking the first point, one gun covering each side.

To get up on the roof, you simply place a gun here, and then jump on it to place a teleport on top. Build dispensers first, teleports second, and finally guns. By the time the 60-second setup time is over, you should be able to have 2-3 engies up on the roof, with 2 dispensers and 2 teleports. You generally have another minute or so before the opposing team starts spilling onto the point.

If you can pull it off successfully, here’s what it should look like. Once your time starts coming through the teleports, its fairly easy to defend. Be sure to build teleports in a way you won’t have to stand on them to wack your sentry, ’cause that’s just asking to be telefragged. In the case that all your team are idiots, you’ll need to have one engy drop down and deal with any demos or soldiers spamming from beyond the guns range. You generally don’t need to worry about jumpers, because they’ll get pushed back by the 3 guns before they can do much damage.

Sometimes your team gets overly excited because they didn’t know engies could build on the roof, and this is what you’ll get. As a general rule, when your entire team goes engy, it will fail, and fail hard. The roof can actually be spammed relatively easily by a demo, so you need people on the ground not letting them get in position to sticky spam.

As a more difficult alternative, you can let them cap point #1, by building guns that don’t cover the point. Once the point is capped, blue team spawns on the roof, so your guns can spawn-camp them.  Though I suggest you don’t do this on servers you enjoy playing on regularly, because you’ll probably get kicked/banned from the server. :)

Mar 172010

Just my honest opinion about the current state of the TWL league. I’m not trying to be a whiny complainer, its just that I would really hate to see this league slowly die after gaining plenty of momentum. TWL was the first league we got into, and it has been a lot of fun for the past 2 seasons. But recently it feels like there are things that could be improved with the league, which should be changed IMO if they want to maintain themselves as a viable option to CEVO and ESEA but for lower-end teams.

Are we going to have to wait another month or more like last season for the admins to stop ‘being busy’ and ‘wait for the div1 teams’ before we can start? It would be nice to have a little more communication from the admin folks. I mean you guys have been doing a great job, I still remember TrainRiderJ himself joining our first ever TWL qualifier match in Season 4 to resolve some issues. The discussion threads about map choices and unlock bans are great too, but it’s been over a month since those were started. There was also talk about integrating TF2lobby for stat-tracking, but that discussion went nowhere as well. Just thinking that maybe its time to bring in some people to make the scheduling and communication a little faster and smoother.

It’s obvious you guys can’t compete with ESEA in terms of drawing in the top teams with prizes, but what you guys CAN do (and did do for a while back then) is making it a much more enjoyable process for all the teams by making sure everyone has fun, solid competition, and that everyone’s opinions (not just a certain few ‘admin friends’) are taken into consideration when deciding on league issues. As of now, no high-level team (and by this, I mean mid+) will consider joining TWL on top of the 2 matches a week for ESEA and possibly another one for CEVO because there is no incentive at all, despite all the complaints about ESEA scheduling, the client, and CEVO map rotation. Even among the lower-end teams I sense frustration with not having a clear answer on qualifier scheduling and team placements, with multiple threads and posts in the forums.

So what do I suggest doing? 1) Get new admins, or get more admins. You guys are too busy and don’t seem to care as much anymore, it’s the sad truth. Get people who are actually passionate about running a league, people who are involved with teams, who have played in the league before. 2) Putting out a schedule (even if it’s a rough estimate) on when the season will start. 3) Get all qualifier matches scheduled, NOW. 4) Place all teams from last season into their proper divisions, start preseason matches for these teams. 5) Get rid of Division 1. You aren’t going to attract any high level teams, and most mid teams are already in div2. Keep them there or call it div1 and change the division numbering for 3 and 4 as well.

and lastly what I think is the most important: 6) ADVERTISE. Talk to commFT people, post on GotFrag, tf2f, other community forums and websites. There is an explosion of low/mid teams right now, as well as low teams just starting out, and you could easily fill 5 divisions of them if you wanted to. Get people to cover the leagues, post the coverage on the forums or on other community sites – not everyone in the community only cares about ESEA-I, just like how people care about college and high school football too. The thing is, you have get the word out, and to give these low/mid teams a reason to stick around and stay interested.

So today I found this article (courtesy Sesquipedalian) about the Spy’s backstab mechanics. It’s an interesting read, though I do wonder how the author figured out the hitboxes and “hulls” mechanics, as it seems like something that would be impossible to determine precisely through in-game testing. Does it show such things in Hammer or other programs?

Something that the author says at one point is that “the angle calculation [for backstabs] has nothing to do with the player model, and everything to do with where the victim’s crosshairs are pointing at the moment the spy attacks”, which makes a lot of sense in terms of keeping as many players happy as possible, as it lets people not worry about what they look like in-game (their player model) and focus on their playing. Just a little thing that came to mind when I was reading. Another issue that came to mind is Valve choosing to use the hull boxes for melee hit detection as opposed to using the usual bullet hitboxes. Is this a good idea? It doesn’t make a ton of sense visually, but then again, if the player collision detection is being decided by these hull boxes, then the weapons that function by colliding with enemy players should also depend on them, right?

On a completely unrelated note: If your parents ever say that they’ll buy you a laptop under the condition that you don’t take your desktop home with you during fall and spring breaks, consider carefully the pain that those long weeks without TF2 will bring. :( What am I supposed to do, homework? Pshhhh

Hey! There hasn’t been an update in a few days! I know, I’ve been sad too. But it’s kind of hard to come up with awesome TF2 article ideas in between Spanish essays and Coulomb’s Law labs and Humanities midterms. I can’t wait for spring break!

So I was browsing Reddit tonight in a fit of procrastination and I found this awesome little story thing (courtesy programzeta). It reminds me a lot of my first couple months of TF2. This game was my first FPS, so I had to learn all the basics of movement and such as well as the metagame. I literally thought in the same way as that story was told, focusing on each individual movement and having little brainpower to spare for thinking ahead and devising strats. I was the most pro suicidal pyro ever, though.

I need to get back to writing about “naturalismo y La cuestión palpitante“, but you all (what’s left of you, tiny reader base <3 ) hang in there. Thundeer will be back in a day or so with some hot chocolate and interesting thoughts, I’m sure.

Mar 082010

So, among other useful things, SteamCalculator.com will tell you your SteamID when you put your Steam username in! So you don’t have to start up TF2 or hunt through your steam.log file.

I’m sure some of us have our SteamIDs memorized or saved in a .txt somewhere, but I figured that this is a useful method in case you ever need to find it quickly. It sure beats having to log in to your CEVO or TWL page to track it down.

Mar 062010

Note: I kind of got carried away and wrote a mini-essay here. Have fun!

A few days ago, Hyperdreams brought to my attention an article (“Dear Gamers [...]“, by Michael Drucker) that requests that people stop blaming video games for their problems. The article is an entertaining read and also presents an good argument by giving quite a few examples of situations in which video games are often wrongly blamed for someone’s real-life problems.

In his article, Drucker references another article, written by Brian Schmoyer, that describes Schmoyer’s journey to break an “addiction” to games. In referencing Schmoyer’s article, Drucker is using him as a prime example of a person that refuses to take responsibility for his actions. This denial of responsibility is epitomized when Schmoyer claims that at one point in his life, he “didn’t have enough strength to quit or even cut back on video games”. (Personal opinion) It does not make sense that it is possible for someone to “not have the strength” to do something (anything) nonphysical. Your mind is what controls your body, thus your mind has complete control over whether or not you perform certain actions. You have control over whether or not you grab a cookie or watch another episode of House or double-click on TF2. We even have control over whether we perform actions that are essential to life: people who undergo hunger strikes are an example of this concept.

It all leads back to what Yoda said on Dagobah: “Do or do not. There is no try”. You only stop “trying” to do something when you decide that you’re not going to do it, thus “trying” often turns out to be an exercise in how not to do something (If I try and fail to solve a physics problem, that means that in “trying” all I did was (1) found out the wrong methods to apply to the problem and then (2) stopped applying methods). When people give up on doing something, they often claim that they do not have the strength, that they “can’t” do it. But unless the situation is physically impossible, then doing it must be possible.

Continue reading »

© 2012 orz|TF2 Suffusion WordPress theme by Sayontan Sinha
Better Tag Cloud