7 EDM/2 - An Interview with Brad Wardell Feedback Search Top Backward Forward
EDM/2

An Interview with Brad Wardell

Written by Carsten Whimster

 

Introduction

Brad Wardell is the CEO and primary developer behind the company Stardock Systems, Inc., with such releases as Galactic Civilizations, OS/2 Essentials, Star Emperor, Avarice, Object Desktop, Galactic Civilizations 2, and Entrepreneur. Galactic Civilizations won the coveted Best Game Award on the Internet. The highly acclaimed Object Desktop has been tremendously successful and is currently being preloaded on new systems in several countries.

Background

Carsten To start us off, could you describe Galactic Civilizations in terms of developer-hours, rough number of developers seriously involved, code size, and effort?
Brad GalCiv was extremely frustrating to develop actually. First of all, OS/2 back in the 2.1 days was not up to speed in the multimedia arena despite what IBM marketing at the time said. Large portions of the multimedia interface were untried and untested. In terms of hours, GalCiv 1 had a project team of 3 programmers, 2 artists and a musician. It took about a year and a half to develop.
Carsten What is your personal background as a developer? What are your educational background and financial skills like?
Brad I'm an Electrical Engineer (focus on Computer Engineering) by degree, which means hardware. I took up software kind of as a hobby and found it more interesting (and less frustrating) to work with. Financial skills, well, I have no training at all there. Just try to do things via common sense. [grin]
Carsten What were some of the major non-developmental hurdles that you had to overcome while developing your products?
Brad Location has been kind of a problem. We're in Michigan and a lot of developers don't want to go to the "cold" north. Learning OS/2 wasn't too hard (programming wise), I used EDM/2 for much of my OS/2 education!
Carsten How many developers and other staff do you currently employ, and roughly how are they divided up among the projects? What is Mike Duffy doing? Who are some of your other major people?
Brad At first, I had Mike Duffy as one of the developer's on Entrepreneur. More recently, as the company has grown, I divided the company into two divisions - Corporate and Consumer. I made Mike Duffy the consumer software products czar so now he overseas all our gaming titles and such. The consumer side is largely via contracts. We either act as co-developers (as in the case of Master of the Empire) or just the publisher where we oversee the product to make sure it reaches its potential (as in Avarice: The Final Saga). I would say we have roughly 20 or 30 people developing OS/2 software under the Stardock banner.
Carsten What do you feel/hope that Stardock's future will hold, both short-term and long-term? What types of programs would you like to develop? What size of company do you prefer? Are you thinking of developing for platforms other than OS/2?
Brad If we're to expand, we'll have to take a cross-platform approach. We're too tied to IBM's actions. For example, IBM released Fixpacks that aren't even tested on third party software every few weeks and some new app will break or have problems. We can't handle having to constantly update our software to fix IBM's latest greatest bug additions [grin]. Having software on Windows 95, NT, Linux, and Macintosh is our long term goal (as well as OS/2 of course).

IBM is getting better about working with its ISVs. They have a new "big boss" there named Howie Hunger who really knows his stuff. I just wish he were around a year ago. So [while] OS/2 is definitely our focus, we want to keep an eye on other platforms.

As for size of the company, it's hard to decide. Small companies where you know everyone is kind of nice. On Fridays, going out to eat or playing Trials of Battle on the network for fun is great. On the other hand, large companies offer better security. If we had a few really bad months in sales, we'd be in big trouble, large companies can weather storms better.

Products

Carsten Could you describe the development process you go through for a typical product, if any such thing exists, from the initial idea to the final shrink-wrapped copy.
Brad Pretty standard stuff, concept, to interface design, to code design, to coding, to market preparation, beta testing, final code changes and then release.
Carsten Galactic Civilizations was your first program and game for OS/2. What do you feel were the major problems you had to solve before you could finally release the game?
Brad Well, this is actually a fairly long story. With GalCiv 1, we contracted a third party to "publish" it -- Advanced Idea Machines. We were actually finished with it 2 or 3 months before it got released because they didn't create the box until the last second. Other than that and working around OS/2 multimedia problems at the time things went smoothly.
Carsten Have any of these problems reasserted themselves again in developing later products, or has it mostly been new problems?
Brad For a while, IBM was releasing fixpacks that weren't tested with third party OS/2 products and that caused a major headaches as people would blame them on us. Even with the Merlin beta, users will blame a shipping product instead of a beta and this causes us a lot of pain. In the Windows world, you just make sure you run under Windows 95 and Microsoft doesn't release new versions very often. OS/2 has gone from 2.0 (1992) to 4.0 (1996) or nearly a major release every year and a half, plus dozens of fixpacks in between that we have to make sure we're compatible with.
Carsten For the games you have released, what do you consider to be the prerequisite background and required tools and computer equipment for this type of developer? And how would someone go about learning this? How about for Object Desktop?
Brad Learning wise, I literally used EDM/2 to learn much of my base OS/2 knowledge. Petzold's OS/2 Presentation Manager Programming was also a great help.

[We use] Visual Age and don't use the Open Class libraries (they're great for application development but too slow for games). You should have a graphics package like [SPG] ColorWorks or Photoshop. Another good product but very old is Deluxe Paint Enhanced which is what much of our graphics are done in.

On the app side, Visual Age with Openclass. Kurt Westerfeld, our chief technical officer, would be a better person to talk to regarding WPS development.

Development Environment

Carsten What equipment do you use in your company, from servers to developer work stations?
Brad GalCiv was written on a 486DX2-66, but since then, every developer machine at Stardock is at least a Pentium 75 with 16 megs of ram.
Carsten If you don't mind me asking, what tools do you use for the various products? What tools do you find lacking, and which are excellent? Which tools would you buy if they existed?
Brad Hmmm. That's hard to say. Visual Age C++ on the development side. I still haven't found a dialog editor (including the universal resource editor) that I like as well as Borland C++'s dialog editor. Visual Slick Edit for editting (though Rimstar is good too). Generally speaking, the quality of many of OS/2's tools is quite good.
Carsten How important do you feel that it is for a developer to know his or her tools in intimate detail, as opposed to just knowing how to use the major functionality of them, and why?
Brad I don't think it's too important. To this day, I don't know how to make a MAK file for example. I write the C (or C++ code) and compile it. The only tool that I think is extremely important to know very well is the debugger. The debugger can save you hours of work if you know how to use it right.
Carsten What development practices do you swear by, and which do you eschew (and why)? Here I am thinking of things like revision control, documentation standards, and so on.
Brad Revision control is critical. Unfortunately, not every project uses it but PVCS is my favorite one (though pricey). We argue constantly on the proper way of C-coding but we generally allow two types of C/C++ coding:

void function()
{
        if()
        {
                printf("");
        }
}

or

void function()
        {
        if()
                {
                printf("");
                };
        }

I, and most of Stardock uses the first style, Mike Duffy and his group uses the latter.

PMPrintf is a daily part of our lives (though GalCiv doesn't use it!).

General

Carsten Which product do you feel is your best release so far?
Brad Object Desktop is probably the best written piece of software we've created so far. It has a very advanced internal exception handling system.
Carsten How has IBM been with respect to support, marketing and so on? How have other companies been that you have worked with?
Brad IBM means well, but when it comes to technical issues, they fall flat on their face, unfortunately. For example, in Fixpack 17, there is a new bug introduced with OS/2 with regard to WinSetMultWindowPos (I forgot the exact API but it's the one for moving multiple windows at once). If you call that command and a window is created at the same time, OS/2 will hang hard. When we tried to get help with IBM, we ended up in the same boat as any other "user". "Well, have you checked your SIMM chips?" type questions.

So users with Fixpack 17 and Object Desktop will get these hangs and blame us. This required us to create a special CONFIG.SYS setting to turn this off so that they don't run into this problem.

But in terms of overall support, IBM does pretty well. We've had great success in getting sneak peeks at new versions of OS/2 (such as Merlin) and they take our input very seriously. For example, we were concerned with how Merlin would affect Object Desktop. IBM and Stardock worked together on splitting the enhancement world in two. IBM would enhance OS/2 in ways only the O/S maker could and we would add the enhancements a third party could do. As a result, Merlin and Object Desktop will have no overlap. This sort of partnership really helps. I doubt Microsoft takes its ISVs as seriously.

It's a pretty inconsistent picture, but overall we're pretty happy.

Carsten What have some of your biggest setbacks been, and how did you solve them? How would you avoid this type of setback in the future?
Brad The biggest setback we've ever had was actually an issue every developer faces -- a bad publisher. When we developed GalCiv, our publisher not only creamed the GalCiv marketing/packaging, but they didn't/haven't paid us most of our royalties on GalCiv 1 (and as you can imagine, it's a lot of money). When looking for a company to publish your first product, we were like most developers, just focused on the code and took the word of others since engineers (as Bob Cringely says) are amazingly honest and straight forward. We mistakenly believed everyone else was this way too and have paid for it dearly. Once we took back the marketing/publishing rights from the publisher, we were able to set up a ton of pre-loads with GalCiv which really helped.

But the important thing we learned is that developing the product is only half the story, carefully choosing your business partners is just as important, if not more important than writing the software.

Carsten Looking back, what would you do differently, if you could, with respect to starting up the company and getting things going?
Brad [grin] Well, with the above said, one change would be to have gone right into publishing as well as developing. Beyond that though, I've been pretty happy with how things have progressed. I probably would have made some changes in how we distribute our software. We have one distributor that is often many months late on paying and this causes heart ache. I don't know if I would have pushed channels that required a distributor as hard with Object Desktop had I known that it would be so difficult to get paid for it by distributors (not all distributors are bad and in fact, none of them are, it's just that their profit margins are razor thin and so it can be difficult getting paid on time from some of them).
Carsten What are some of the best moments you had, looking back? What achievements are you proudest of?
Brad When GalCiv hit #1 on the Internet Top 100. That made everything worth it for me. Knowing that people enjoyed the game we wrote that much was wonderful.

When Object Desktop went gold, and just playing with it, we were very proud of what had happened. After all, here is a product that adds more features to OS/2 than IBM has added to OS/2 since 2.0. Early on, it seemed insane that we'd consider trying to write a "third party upgrade" to OS/2 based on internet user wishlists, and seeing it actually completed and working as designed felt pretty good.

Carsten What advice do you have for up-and-coming developers hoping to create minor or major success stories for OS/2? I am thinking both of what tools to choose, what procedures and habits to get into, and how to get going on a new project.
Brad 1) Choose an editor you can live with. 2) Make frequent backups up of all your code on an ATAPI/IDE or SCSI tape drive (i.e. not QIC80 and its floppy controller type). 3) Get involved in the DAP program and make sure you get the developer's connection. 4) Choose from the onset whether you want to do shareware or commercial software. 5) If you choose commercial software, decide early on whether you have the financial resources to take it to market alone. If you decide to get a business partner to work with, take a very close look at them before signing on the dotted line. 6) Use normal work hours. Waking up at 2:00pm and writing code until 6:00am may seem like you're doing a lot but in my experience (and I'm a very late riser naturally), the best code is written between 9am and 5pm. 7) Design your code very carefully -- both in code design and how you want it to look. We didn't do the code design well in GalCiv 1 and it ended up taking a lot longer because of that.
Carsten What is your take in the Mac vs. OS/2 vs. Windows 95 vs. Windows NT vs. UNIX debate? Where are OS/2's strengths and weaknesses, and why are these particular points significant in your mind?
Brad Mac vs OS/2: Other than horizontal software support, the Mac has no advantages over OS/2 for us.

Windows 95 vs OS/2: Perception of success is with Windows 95. Microsoft has literally hundreds of people dedicated to promoting just Windows 95. IBM has roughly a half dozen people (though very dedicated) in Austin promoting OS/2 to the media. When everyone reads about Windows 95, people think OS/2 is dead. I have been told time and time again that OS/2 is dead and that we'll never go anywhere writing for OS/2 even though we already have succeeded. If I wasn't contantly reinvesting revenue from our products back into making more OS/2 software, I could have retired. How's that as a statement on the health of the OS/2 market?

NT vs OS/2: Same as above and the marketing here is amazing. NT has roughly 800,000 users but gets more press than OS/2 -- a lot more. NT is, however, a better development system than OS/2 and has much better tools and is stabler. On the other hand, OS/2 works much better on large networks, has a better UI to work with, and is a lot more flexible and backward compatible.

Carsten Where do you feel that OS/2's major challenges and strengths are in the present and in the future, both in the field of catering to developers, and also with respect to new technology and directions?
Brad IBM needs to make the case that you can succeed with OS/2 software. A major challenge for OS/2 developers is to find a way to overcome software piracy. I would venture that OS/2 piracy is higher than for any other platform other than maybe the Amiga. OS/2 is, ironically, most popular in countries where "intellectual property" is not well protected. Ultimately, piracy may spell doom for more ISVs than any other issue.

OS/2's biggest strength is that it works. No matter how much attention and mindshare NT and Windows 95 has, when corporations try to migrate to them and fail, OS/2 will be there ready to capitalize on this. NT's biggest problem is that on a very large network, there are real serious performance issues. You can connect tens of thousands of OS/2 machines together with little fuss. No one (including Microsoft internally) has ever (to my knowledge and I'm sure it would have been in the trades) successfully connected a huge number of NT machines together successfully.

Eventually, Microsoft will fix this. The challenge therein lies in IBM's ability to capitalize on this hidden strength. Most large corporations don't realize it but OS/2 IS the only choice for large-scale client/server connectivity.

Carsten Thank you very much for taking the time out to do this, Brad, and continued good luck in the future. I am sure we will see many more great programs released for OS/2 from Stardock.