|
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.
|
|
|