A thought with regards to general computer programming

So my co-workers and I were discussing all of the inherent problems associated with Beta releases, and technology in general. Most of them remember when I first got this game and the issues that I was having, not to mention issues that others were having, as they saw when I would be on this forum. Now our general debate has to do with programmers claiming that there is no "perfect" program, so to speak. The most common answer given to defend "shoddy" (and I use shoddy loosely, not implying that this game, or any other software is necessarily bad)programs by the programmers is that there is always going to be a glitch, error, or other issue at one point or another, and that no program is flawless.
The heart of the debate is this: Should software companies be allowed to practice business this way? To put out a product and then collect money, only to update or improve later, sometimes at the expense of purchasing an expansion, or purchasing internet access for patches seems like bad business practice according to some in the debate. Others justify this and say pretty much what I stated above, adding that there would be hardly any games out there at all if a company waited until the finished product was perfect, which it never could be.
Someone mentioned that if you bought a lamp and took it home to find that it didn't light, you would return it. If your exchanged lamp does the same thing, repeat said steps to return. Now let's say the salesman told you that the lamp works fine as long as you jiggle it from time to time to keep it lit. Would you still want that lamp? And if you contacted the manufacturer with your complaint and they told you the same thing as the salesman, would you be happy with your purchase? Obviously you would think that the lamp manufacturer had better go back to the drawing board and try again. Other people threw in comments regarding cars, TV's, just about any product that we are used to using. Said companies wouldn't be in business if they supplied "incomplete" products or items that didn't work as advertised, every single time.
I myself don't know my exact position on this one. Some of you in here chastised me so much for assuming that software should work right out of the box that I had re-evaluated my take on it and find that I sit right in the middle on all of this. I mean, on the one hand you should get what you pay for, period. On the other hand, from what I've been told, to make a computer program is difficult work, and there will always be a glitch or bug making it's way into the code. What do any of you think about this?
In some small way I would have to say that if computers and their programs are really that infamous for errors, and that no one can write code without one or two glitches, then maybe the product shouldn't be as mainstream as it is, or at least it should be priced accordingly, experimental. Now please, if you do take the time to respond remember, this is merely a debate, and sadly enough, it is of enough interest to us on this end to come to some sort of conclusion regarding all of this.
edit: The only reason I posted this here was because we are all going through "beta testing" right now and your opinions would be better received than some random thoughts from a ten year old.  
57,826 views 68 replies
Reply #1 Top
The problem is that any sufficiently advanced technology is indistinguishable from magic. To me, when you consider all the potential sources of error, I'm pretty much amazed when anything works at all.

I design hardware that often contains both software as well as synthesizable FPGA or ASIC "code". Most or all of this often goes through exhaustive simulation and qualification.

The problem is that any simulation or qualification can only check the cases it was designed to check. The purpose and need of a "Beta" is to get a wider sample base of machines, video cards, video drivers and most importantly, individual differences in play style. If Stardock had a dedicated set of testers (I’m sure they have some) that had to play all the different map sizes, racial choices and other options related to the myriad ways the game can be played, it would literally take years to get DA out the door. With a couple months of Beta testing by a bunch of avid (some might say rabid) fans, that process can occur much faster.

There are different levels of "mission critical" software that require different levels of qualification. For example the software the controls when an angioplasty balloon is inflated or deflated is under very strict FDA regulation, but that’s a matter of life and death. A bug in GC2 or DA is not so critical. The difference in the level of testing is also directly related to cost. What can be practical in medical equipment running into the millions of dollars isn’t quite practical in a $40 game or a $25 expansion pack. I think Stardock stands out in the gaming industry both for delivering one of the highest levels of initial quality as well as the willingness to provide free bug fixes and gameplay improvements. Just MHO.
Reply #2 Top
Mumblefratz is right on the money, as usual. I'm getting my degree in programming right now and I know how hard it can be to get a program to work. We have this saying "Do not doubt the power of the semi-colon," because a single semi-colon in the wrong place (or the lack of one) can prevent your program from ever even compiling into machine-readable code.

On-top of that, testing the code takes a very long time since your trying to factor user stupidity ontop of any reasonable mistakes. And in the case of game programming you have to worry about a nearly infinite number of hardware-software combinations.

Finally, offering free updates on-line is probably the greatest idea since WarCraft. And in all honesty, people should have some form of internet now-a-days. Be it dial-up, cable, broadband or what-have-you.
Reply #3 Top
Being a professional developer for the last 8 years, I've seen many examples of good and poorly written software. Games are some of the most complex pieces of software and to find every single possible bug can prove difficult. Anyone that has done any serious programming will know this. Bugs can result from human error, compiler/tool defects, errors in the testing process, hardware inconsistencies, etc. I think most gamers understand this and realize that bugs can make it through the QA process. Therefore, for the most part, I'm OK with companies that unknowingly[/B] release software with bugs and then later offer one or more patches. Companies that release software, knowing that it failed QA or one or more unit tests, should be held accountable and are the kind of companies that shouldn't be allowed to exist. The worst part is when the game developer/publisher refuse to acknowledge a bug or defect.

Unfortunately, it seems that in the game industry, publishers pressure development houses which in-turn rely on the patching process to meet deadlines. This leads to consumers receiving products that are unfinished or defective. In my line of work, this is practically unheard of - products are not released with [B]known
defects or deficiencies. There are processes in place to prevent this. If we overshoot a deadline, it comes off our bottomline.

Thankfully, there are companies like Stardock. I'm thorough impressed with Stardock's commitment and professionalism towards their products and customers. They produce solid products, aren't afraid to admit errors, and generally try to release bug free code. To ask more from a developer is a little bit much.
Reply #4 Top
Evil,

I am a professional code monkey. I build web applications. They are nowhere near the complexity of Dread Lords or any other strategy game. I can produce bulletproof software in a specific timeframe. I don't expect something like Dread Lords to be bulletproof.

I enjoy tactical squad strategy--either turn based or "real time with pause." Every game X-Com (UFO and Apocalypse), Star Trek Away Team and Silent Storm have broken my heart because the developers or publishers don't give a flying frak about the remaining problems. All were amazing games. They died because the developers stopped and the publishers wouldn't let go of their "valuable" licenses.

It's not about how ready the software is. PC games aren't console games. Your lamp has standards and simplicity that doesn't exist in the PC. I think it comes down to the dedication of a development house.

No developer opens themselves to suggestion and criticism like Stardock. I've been gaming on the PC for 20 years. I have a strong bias toward independent and foreign games. The small independent operations can have prima donna egos that dwarf EA or Microsoft so Stardock is virtually alone in the way they operate their company and interact with their customers. Large companies like EA pull jackass stunts like allowing only "compatible" controllers so I can't use the controller I _built_ myself specifically with football in mind.

If I find out that DA locks out my DragonDictate software, I'll be hurt. I'm sure it will work fine because I believe in Stardock to not waste time on irrelevant aspects of their game--like locking out accessibility software.

Vote with your dollars. If a software company screws up on support, don't give them money.

In the meantime...

Support Metaverse Scenarios
Reply #5 Top
I was waiting for a few replies and it looks like I've gotten some of the best ones around in my opinion. Thank you for responding with intelligent and well thought out answers, really. I do hope that no one construes this post as being malicious in any way, because it is not meant to be. Your answers have pretty much put a lull into the "piece of crap" crowd in our debate, and I thank you.  

Oh, and yes Wheeloffire, I most definitely support your proposition and am heading towards your link right now. 

And to defend those who are on the opposing side of my workplace debate, the main reasoning behind their logic is the almighty dollar. To them, the bottom line is if you paid for it, it should work, period. Nothing whatsoever to do with complexity of design or different hardware set-ups came into play, just the basic consumer driven mindset. 
Reply #6 Top
the main reasoning behind their logic is the almighty dollar. To them, the bottom line is if you paid for it, it should work, period. Nothing whatsoever to do with complexity of design or different hardware set-ups came into play, just the basic consumer driven mindset.


I think PC strategy and online players want things to work out of the box as well but there's always room for improvement with a PC game. Your lamp will never do more than what it does out of the box. Your console game will never, ever evolve. A PC game with a dedicated development team has potential perfection.

Because of this, I hate Activision, Electronic Arts, Atari, Microsoft... pretty much everybody with a market cap of over $1M. However, if Stardock gets to the $1M mark, it will be because they did things right and everybody recognized it.

I do hope that no one construes this post as being malicious in any way


I thought it was a troll from the get-go. I also thought it was time to help an evil brother out.
Reply #7 Top
pretty much everybody with a market cap of over $1M

You probably should change this to $1B. From what little I've looked into it, I would bet their market cap is closer to $100M than it is to $1M.

A market cap of $1M might be sufficient to support one or two employees at best.
Reply #8 Top
It's just like when John Hammond mixed frog DNA with the dinosaur DNA. He got baby dinosaurs, but it had the unexpected result of allowing them to change gender. You can't imagine all the possible things that can go wrong in such a complex system.
Reply #9 Top

My car has a long host of little glitches with it.

  • The keyless entry isn't working.
  • The engine light comes on for no apparent reason and then turns off (I've had it checked).
  • I've had the power windows not work for some reason.
  • It's forgotten my seat settings.

My wife's mini van suffers from its own set of bugs including:

  • The adaptive cruise control sometimes just brings up an error code when engaged
  • The automatic sliding doors don't always work for some reason

In a casual discussion with other people I know, their cars have similar glitches and these are products that we pay tens of thousands of dollars for, not a $40 piece of software that had to be written from the ground up.

The more complex the thing, the more glitches you're going to have. This is especially true with computer games in wihch the hardware it's being run on isn't known.  Take the most significant GalCiv II issue when it first shipped -- video card overheating causing lockups. How could that have been tested for? People building their own machines and not adequately venting them and it only affected (as a practical matter) a specific set of state of the art video cards.

Nowadays, we have to deal with hardware ranging from quadcore CPUs to video cards that have been overclocked to brand new versions of Windows.  All it takes is the right combination of hardware and voila, you have a glitch. 

A modern PC game is hundreds of thousands of lines of code.  GalCiv II: Dread Lords is probably close to a million lines of code. One mistake and you have a glitch. 

Given that many of the people I see screaming about "bugs" can't even write a 3 paragraph post without spelling and formatting errors, it makes me wonder if they are even aware of what software development involves.

Reply #10 Top
Given that many of the people I see screaming about "bugs" can't even write a 3 paragraph post without spelling and formatting errors, it makes me wonder if they are even aware of what software development involves.


Is it even possible to expand on this point?
Reply #11 Top
It's just like when John Hammond mixed frog DNA with the dinosaur DNA. He got baby dinosaurs, but it had the unexpected result of allowing them to change gender. You can't imagine all the possible things that can go wrong in such a complex system.


You have no idea how badly I want to do this.
Reply #12 Top
Well, I never anticipated Brad jumping in on this one, but I appreciate the input Brad. As far as your vehicle problems, I know. I work for Dodge, so again, I DO KNOW!   I agree with all of you, despite my early on rantings, and couldn't ask for a more supportive development crew, as well as the players themselves. Like I said, my co-workers may not have all of the facts, but again, it was a harmless debate to kill an otherwise dead day.
Reply #13 Top
Change gender?!

We'll support you no matter what, Marc.

Reply #14 Top
Remind me to kill you with sporks, should I ever get the oppurtunity.

I borrowed the computer Bill Gates taxes are worked on. It now keeps track of people I need to kill.

With sporks.

Playing God with genetics = win. Also, dinosaurs = win.

Dinosaurs.

With sporks.
Reply #15 Top
Also, it is helpful to consider economics (after all, these companies exist to make money). One of the most basic financial truths in existance is that money you receive now is worth more that money that you will receive in the future. The reason for this is that the money you receive now can be reinvested to earn future profits. If you don't receive the money now, you have to wait to reinvest and your returns on the reinvestment are delayed. The way compounding works, once you have lost time in the beginning, it becomes very difficult to make up ground. An example is often given by financial planners that a person who starts investing in their 20s, then stops in the forties will earn more than someone who starts in their 30's and adds larger amounts until they retire.

So how does this affect a game company. Take Stardock, for example. They have 2 choices. 1. release GalCiv 2 when they did, or 2. Wait until more bugs were fixed. If they had waited, their return on investment would have been slower (or maybe never come). Assuming that return in investment from GalCiv 2 was needed for DA, the release of DA would have been delayed even past February. This in turn would delay Society, which would delay the Fantasy game, which would delay the next game, and the next, and the next... Eventually, so much potential profit would be lost the the management may well conclude that the game division of Stardock simply was not economically feasible.

Therefore, there is a certain point at which any company must conclude that the cost of further development time for a product outweighs the cost of shipping with some problems remaining.
Reply #16 Top
Except you dont judge success on how much money you didn't make. The fantasy game wasn't even being made, and society has been on development hiatus, which nullifies those points.

Also, gc2 was, if I remember, deliberately delayed to work out bugs. Hence the rack of awards in 1st week. DA has also been delayed. And I personally expect a repeat perfomance.
Reply #17 Top

I borrowed the computer Bill Gates taxes are worked on. It now keeps track of people I need to kill.


I'm glad to be on the list.

you dont judge success on how much money you didn't make.


When money = success, the operation has failed. Success should equal money. Success should be defined by creating a good product, supporting it and improving it.

We already know that money does not equal success. Making a lot of money can kill credibility if the product sucks. You have your valuable money today but nobody trusts you tomorrow.
Reply #18 Top
Given that many of the people I see screaming about "bugs" can't even write a 3 paragraph post without spelling and formatting errors, it makes me wonder if they are even aware of what software development involves.


Hey, I resemble that remark!

That's why they have those flashy IDE's for us people who are prone to mistype.
Less than sign three code completion on silly verbose languages like java.

However, sometimes I do wonder how I manage my perl stuff since I can't type half the time...


But really? Millions of lines? Talk about finding a semicolon in a haystack
Reply #19 Top
IMO stardock is doing beta too early. They still have tons of things to do with DA from what I've read, and I just don't see the point of starting the beta here.

I'd rather take part in a beta where the software was 95% done and all that was left was catch bugs and balance. From what I've read major portions of the AI haven't been done yet. What are they beta testing ? (I geuss they're just looking for crashes)

For me 1.0 of GC2 was HUGELY disappointing. Seriously go back and look at it. For me, 1.0 might have well been where the beta testing should have started.

Look at the forums, they're a mess with DA issues. As a developer is that what you want ? Won't you lose focus on what's going on, since you're not even done yet ?

Couldn't 5 or 6 full time testers find this stuff pretty fast ? I would think they could find issues faster than can get fixed at this point at least. So why go to beta if internally you find enough problems to keep coding ? (and I don't see hardware problems being an issue for an expansion.)
Reply #20 Top
They still have tons of things to do with DA from what I've read, and I just don't see the point of starting the beta here.


Yes, they're testing it to catch bugs as they're developed. That's kind of the point.

I'd rather take part in a beta where the software was 95% done and all that was left was catch bugs and balance


That's a release candidate, not a beta. You don't want a beta, because you can't be bothered with crashes.

For me 1.0 of GC2 was HUGELY disappointing. Seriously go back and look at it. For me, 1.0 might have well been where the beta testing should have started.


That's a moronic thing to say, and shows you have no understanding of how software works. 1.0 was a pretty stable release, and it got there via beta testing. The beta testers had confirmed it as release ready long before stardock were happy with it.

Look at the forums, they're a mess with DA issues. As a developer is that what you want ? Won't you lose focus on what's going on, since you're not even done yet ?


That's due to the famous "stupid people dont know what the frak a beta is" bug, which occured on pretty much every previous beta. The difference is know, half of these threads are actually filled with helpful bug reports.

Couldn't 5 or 6 full time testers find this stuff pretty fast?


No idea of how software works at all.

I would think they could find issues faster than can get fixed at this point at least. So why go to beta if internally you find enough problems to keep coding


Because that's the entire bloody point of a beta.

sheesh, try thinking before posting.
Reply #21 Top
Given that many of the people I see screaming about "bugs" can't even write a 3 paragraph post without spelling and formatting errors, it makes me wonder if they are even aware of what software development involves.

Pretty much to a man, every post here was supportive of Stardock. Even the OP's phrasing of the topic was more suggestive of someone trying to understand the process, instead of one being overly critical. And if you know Evil Stormbringer (and I know that you at least know of him), that in itself was an exercise in restraint and tolerance.

Yes, I do realize that you hear a lot more complaints than compliments, particularly around the time of a new release, but the compliments exist nonetheless. Even the complainers, and I've been among them, only do so out of love for the game, otherwise why would they bother?

Anyway, the only point of this is that at least under the surface, most of your customers are both loyal and supportive.
Reply #22 Top
Well, I made that post before I noticed gallagher118's post. I guess I spoke a little too soon about every post being supportive. Let's just say he's the exception that makes the rule.
Reply #23 Top
With sporks.

Playing God with genetics = win. Also, dinosaurs = win.

Dinosaurs.

With sporks.

Not quite sure about dinosaurs and frogs, but sporks are indeed funny. I can't even say the word without laughing. Sporks.   
Reply #24 Top
You know mumble, if you filter it so that "everyone using more than 3 brain cells who posted in this thread" is what counted, then your first post still holds true.

Seriously, some people amaze me by defeating darwin.
Reply #25 Top
Ok. Stardock rules. They can do no wrong. There is no point of discussion on this forum with such undieing loyalty.

I know software. I personally can't stand folks testing my stuff when it isn't ready. I don't understand testing something that isn't close to what you're trying to deliver. For GC2 I understand working through hardware/system issues can take a while, and you need a good sampling of your users. But for DA I don't get it. Sorry.

I personally think it has more to do with Brad being a nice guy, and saying here, "go have some fun with this" than any real software process. (also making up for delaying the release)

Oh well. I didn't pay for it, and I won't until it's released because of the way the 1st release went. It really irks me to see goofyness in plain GC2, and be talking about beta testing the "big expansion".