Quote Originally Posted by voigtkampf
Thank you for your most informative and interesting post, bach01. Being an entrepreneur myself, I know well how important and sensitive the investment decisions can be, and how much it depends on them. Not being a programmer myself, I cannot possibly make any appraisal on how long this testing was actually conducted before the game was released.

The point is, the average user doesn’t care, and rightly so. If you have lurked these forums before, then you might have been here while we had that notorious “historical” debate. I was one of the rare people who has defended CA and their vast quantity of “unhistorical, fantasy” units. Today, I wished they had inserted twice as much to compensate for the small amount of available unit types to some factions.

This I write to stress that I am not a regular CA basher, and that I have supported them for a long time, wherever and however I could. Because this what I am about to say might easily be misinterpreted as CA bashing. It isn’t. These are plain facts.

Fact is; the regular custom doesn’t care and should by no means care for the costs and amount of time the developer takes to develop and properly test a game. If you and I engage in a consensual agreement, a contract where I oblige myself to build you a house, I can’t leave out some important segments like doors and proper ceramics just because it reduces my costs. I know, this is a contract, a casual gamer has none with CA, this was just an example. The point is, you shouldn’t care about my costs, I can have a lot of them or just minor ones, you want to see the job done. And I must deliver.

CA, in my humble opinion, didn’t deliver. The game is full of bugs, and friendly fire is definitely something they should have noticed right away; I used Greek phalanx and archers to counter a Roman attack, and I have suffered massive casualties from my own archers. It gets even more annoying when you send your archers to shoot down some non-missile units and then actually inflict a good share of damage on your own troops. This is one obvious bug, and suicidal generals are just alike. The inability to form proper formations and walk/run with your entire army is ridiculous, some will walk, some will run. No one can possibly tell me that it takes 7000 working hours to notice this!?

And don’t even get me started on the MP part… Failed to connect to host? No cheat protection? Lag ad infinituum?!? I don’t even need to go to those unpopular decisions like limiting game to 3vs3 players.

In short, the developer must ensure a good, playable game. Long away from bashing CA mindlessly, but I don’t care how much it takes them to make & test the game. I want a good product, for which I have paid good money. That’s it. I also write for a PC gaming magazine, reviewing games. I can’t tell people things like “oh, well, this game is loaded with bugs, but you shouldn’t object, don’t you know how much time gets wasted on testing the game?!? Don’t be so ungrateful!”

So, bach01, I thank you sincerely for your time and a better insight in the software process, but it changes nothing. Bugs still stay, and most definitely no one will ignore them with the warm feeling that CA and Activision has saved themselves 100.000 dollars on the production phase. Mind me, I addressed most obvious bugs. The customers, among them especially the old veteran TW elite, deserved a game that will be a t least a notch better then its predecessors, Shogun and Medieval. I have played the two games for months and years, while I have stopped playing Rome for more than a month now. I am not angry with CA; I am just incalculably saddened with this development.

I’m just plain sad, that’s all.
Now I'll blow everyone's mind as a software developer. I speak as an architect who is technical leader of a team that creates high performance software for financial services.

There have been two disturbing trends in modern software development.

The first is the 'glorification of youth'. In the last 21 years, especially in the entertainment industry, youth has been generally glorified over experience, much to the detriment of the software engineering function. There are certain things that you learn by living with and fixing your mistakes that you simply do not learn in school. I've been in the position of training many many engineers straight out of school.

Most folks out of college are big on theory and very very short on practice. And by practice I'll be VERY specific. Building software in a way that helps ensure quality requires a disciplined approach. Ideally you look at what you need to create, break that down into pieces, define those pieces well.. build them separately and test them individually, then test them in 'integrated groups', then test them when the entire mess comes together. But the statements made above by bach01 on risk for test areas apply equally to a software developers job. As a software developer you simply do not have the luxury of unit testing every single line of code you write. You invest where you have the most risk and take care not to disturb that which you know already works.

I've met programmers with 5-10 years of experience who still make very fundamental mistakes regarding ensuring future quality. One example from the past 2 months:

The software I work on has approximately 50,000 lines of code (much of it tested from a previous release, about 10,000 new). We caught this programmer making extensive changes to pre-existing code simply to reformat it. Although this may appear innocent at first, sometimes accidentally typing a character may not cause code to break during compile, but may induce a logic error. These types of simple situations with potentially horrendous results are very very typical for youthful programmers. Youth is worshipped in the entertainment development community, to the detriment of quality and speed of creation. I agree that youthful programmers tend to be creative, but creativity is not isolated to the young (many MANY old composers, architects, choreographers, etc.). And the hiring philosophy of many companies (not just game companies) tends to prefer youth and previous experience in a specific field to tried and true capabilities as an experienced engineer. This ignores a very important detail: An inexperienced programmer that has prior experience may indeed not have to learn (be trained) on a technology he is working on (say directX). So you've saved potentially 1-2 months of training by hiring him. But if that same programmer makes engineering mistakes that make your 1 year schedule 2 years (or worse), what have you traded away??

Which brings me to point two... Engineering discipline is not well understood amongst the majority of software engineers working today. For as many times as I've seen good engineering practice, I've seen 5x as much lack of such practice. Every programmer I've interacted with in the last 8 years, with ONE exception did not understand the basics of top-down design and how to apply that to the creation of programs that work. Given the typical amount of training a normal programmer goes through before getting his first job, the lack of that basic skill is abhorrent.. and it can have catastrophic consequences to time through a schedule.

If a programmer is 'writing code to prove a concept' or work something out while actually trying to build a working/releasable program, what happens if his entire idea just doesn't work out? Frequently in those circumstance some or most of the code must be rewritten. And what is the most expensive thing you do as a programmer? Write code! The more we understand things ahead of time, the better we write code with less errors. But so few programmers actually understand this!

Given what I see day to day, it gives me joy when I see consistently high quality products, because I know what a rare thing it is for a company to employ engineers that are both disciplined and experienced. I can only point to a few game companies that shows that consistent ability to deliver quickly, and with high quality. The names that come to mind:

Blizzard
Bioware
Ensemble

Quality, consistent delivery, excellence in product.

Make no mistake, go there and you'll see disciplined/experienced engineers, excellent testing managers, and producers that understand enough about engineering to guide the engineers without jerking them around.

Ensemble did a complete technology rewrite, a completely new game, and released the entire thing and just a few years. This is amazing give how much they had to do, how much had to be coordinated, and the inherent quality risks associated.

CA is experiencing the difficulties I expect for a 'normal organization'. So far their track record of deliverying customer satisfaction through patches has done them credit, and I expect more in the future. I can say that STW and MTW are very stable predictable products (post patches). And I've played em to death. RTW is a typical first release for an average engineering organization. The design (IMO) is inspired.. but the engineering is average. Based on past experience, they will stand by their product and fix things up reasonably well. The issue is whether we as customers are willing to deal with the quality issues whilst CA fixes them. I for one vote an big THUMBS UP. As one poster said, there are lots of games. I don't mind waiting to get a patch for things to work better, I can play other games while I'm waiting. The great game behind the slightly flawed code will only be better once things are fixed. And for only $40, how can I argue that good quality in the end is a bad thing?