Brad Wardell's Blog


DirectX 11 vs. DirectX 12 oversimplified

Published on Wednesday, January 14, 2015 By Brad Wardell In PC Gaming

imageUnlike previous versions of DirectX, the difference between the new DirectX and previous generations are obvious enough that they can be explained in charts (and maybe someone with some visual design skill can do this).

This article is an extreme oversimplification. If someone wants to send me a chart to put in this article, I’ll update. Smile

Your CPU and your GPU

Since the start of the PC, we have had the PC and the GPU (or at least, the “video card”).

Up until DirectX 9, the CPU, being 1 core in those days, would talk to the GPU through the “main” thread. 

DirectX 10 improved things a bit by allowing multiple cores send jobs to the GPU. This was nice but the pipeline to the GPU was still serialized. Thus, you still ended up with 1 CPU core talking to 1 GPU core.

It’s not about getting close to the hardware

Every time I hear someone say “but X allows you to get close to the hardware” I want to shake them.  None of this has to do with getting close to the hardware. It’s all about the cores. Getting “closer” to the hardware is relatively meaningless at this point.  It’s almost as bad as those people who think we should be injecting assembly language into our source code.  We’re way beyond that.

It’s all about the cores

Last Fall, Nvidia released the Geforce GTX 970.  It has 5.2 BILLION transistors on it. It already supports DirectX 12. Right now.  It has thousands of cores in it.  And with DirectX 11, I can talk to exactly 1 of them at a time.

Meanwhile, your PC might have 4, 8 or  more CPU cores on it. And exactly 1 of them at a time can talk to the GPU.

Let’s take a pause here. I want you to think about that for a moment.  Think about how limiting that is.  Think about how limiting that has been for game developers. How long has your computer been multi-core?

But DirectX 12? In theory, all your cores can talk to the GPU simultaneously.  Mantle already does this and the results are spectacular.  In fact, most benchmarks that have been talked about have been understated because they seem unbelievable.  I’m been part of (non-NDA) meetings where we’ve discussed having to low-ball performance gains to being “only” 40%.  The reality is, as in, the real-world, non-benchmark results I’ve seen from Mantle (and presumable DirectX 12 when it’s ready) are far beyond this.  The reasons are obvious.

To to summarize:

DirectX 11: Your CPU communicates to the GPU 1 core to 1 core at a time.   It is still a big boost over DirectX 9 where only 1 dedicated thread was allowed to talk to the GPU but it’s still only scratching the surface.

DirectX 12: Every core can talk to the GPU at the same time and, depending on the driver, I could theoretically start taking control and talking to all those cores.  

That’s basically the difference. Oversimplified to be sure but it’s why everyone is so excited about this. 

The GPU wars will really take off as each vendor will now be able to come up with some amazing tools to offload work onto GPUs. 

Not just about games

Cloud computing is, ironically, going to be the biggest beneficiary of DirectX 12.  That sounds unintuitive but the fact is, there’s nothing stopping a DirectX 12 enabled machine from fully running VMs on these video cards. Ask your IT manager which they’d rather do? Pop in a new video card or replace the whole box.  Right now, this isn’t doable because cloud services don’t even have video cards in them typically (I’m looking at you Azure. I can’t use you for offloading Metamaps!)

It’s not magic

DirectX 12 won’t make your PC or XBox One magically faster. 

First off, the developer has to write their game so that they’re interacting with the GPU through multiple cores simultaneously. Most games, even today, are still written so that only 1 core is dedicated to interacting with the GPU.

Second, this only benefits you if your game is CPU bound. Most games are. In fact, I’m not sure I’ve ever seen a modern Nvidia card get GPU bound (if anyone can think of an example, please leave it in the comments).

Third, if you’re a XBox One fan, don’t assume this will give the XBO superiority.  By the time games come out that use this, you can be assured that Sony will have an answer.

Rapid adoption 

There is no doubt in my mind that support for Mantle/DirectX12/xxxx will be rapid because the benefits are both obvious and easy to explain, even to non-technical people.  Giving a presentation on the power of Oxide’s new Nitrous 3D engine is easy thanks to the demos but it’s even easier because it’s obvious why it’s so much more capable than anything out there.

If I am making a game that needs thousands of movie-level CGI elements on today’s hardware, I need to be able to walk a non-technical person through what Nitrous is doing differently. The first game to use it should be announced before GDC and in theory, will be the very first native DirectX 12 and Mantle and xxxx game (i.e. written from scratch for those platforms).

A new way of looking at things: Don’t read this because what is read can’t be unread

DirectX 12/etc. will ruin older movies and game effects a little bit.  It has for me. Let me give you a straight forward example:

Last warning:

Seriously.

Okay. One of the most obvious limitations games have due to the 1 core to 1 core interaction are light sources.  Creating a light source is “expensive” but easily done on today’s hardware.  Creating dozens of light sources simultaneously on screen at once is basically not doable unless you have Mantle or DirectX 12.  Guess how many light sources most engines support right now? 20? 10? Try 4. Four. Which is fine for a relatively static scene. But it obviously means we’re a long long way from having true “photo realism”. 

So your game might have lots of lasers and explosions and such, but only (at most) a few of them are actually real light sources (and 3 of them are typically reserved lighting the scene).

As my son likes to say: You may not know that the lights are fake but your brain knows.

image

You’ll never watch this battle the same again.

image

Or this. Wow, those must be magical explosions, they don’t cast shadows…Or maybe it’s a CGI scene..

And once you realize that, you’ll never look at an older CGI movie or a game the same because you’ll see blaster shots and little explosions in a scene and realize they’re not causing shadows or lighting anything in the scene. You subconsciously knew the scene was “fake”. You knew it was filled with CGI but you may not have been able to explain why.  Force lightning or a wizard spell that isn’t casting light or shadows on the scene may not be consciously noticeable but believe me, you’re aware of it (modern CGI fixes this btw but our games are still stuck at a handful).

Why I’ve been covering this

Before DirectX 12, I had never really talked about graphics APIs.  That’s because I found them depressing.  My claim to fame (code-wise) is multithreading AI programming.  I wrote the first commercial multithreaded game back in the 90s and I’ve been a big advocate of multithreading since.  GalCiv for Windows was the first game to make use of Intel hyperthreading.  

Stardock’s games are traditionally famous for good AI. It’s certainly not because I’m a great programmer. It’s because I have always tossed everything from path finding to AI strategy onto threads.  The turn time in say Sorcerer King with > 1000 units running around is typically less than 2 seconds. And those are monsters fighting battles with magical spells and lots of pathfinding.  That’s all because I can throw all this work onto multiple threads that are now on multiple cores.  In essence, I’m cheating.   So next time you’re playing a strategy game where you’re waiting 2 minutes between turns, you know why.

But the graphics side? Depressing.

image

That magical spell is having no affect on the lighting or shadows. You may not notice it consciously but your brain does (DirectX 9). A DirectX 10/11 game would be able to give that spell a point light but as you can see, it’s a stream of light which is a different animal.

 

You don’t need an expert

Assuming you’re remotely technical, the change from DirectX 11 to DirectX 12/Mantle changes are obvious enough that you should be able to imagine the benefits.  If before only 1 core could send jobs to your GPU but now you could have all your cores send jobs at the same time, you can imagine what kinds of things can become possible.  Your theoretical improvement in performance is (N-1)X100% where N is how many cores you have.  That’s not what you’ll really get. No one writes perfect parallelized code and no GPU is at 0% saturation.  But you get the idea.

GDC

Pay very very close attention to GDC this year. Even if you’re an OpenGL fan.  NVidia, AMD, Microsoft, Intel and Sony have a unified goal.  Something is about to happen. Something wonderful.

AI coding as a platform

Published on Wednesday, January 14, 2015 By Brad Wardell In GalCiv III Dev Journals

Well the party is almost over for you humans.

I’ve never hidden the fact that I consider human beings playing my AI a necessary evil.  I need your money to fund my AI work. Smile

This time around, I’ve got a talented young developer working with me.  He makes me feel old. Very. Very old. 

A lot has changed over the past 20 years.  It is still technically C++ but it’s all very different from what it used to be.

Example code

//GalCiv III:  Example code tags a planet as a potential target.

if(atWar)
        {
            FixedDecimal militaryPower = GetInterface<IStat>(*it)->GetStat(StatTypes::FactionPower, StatUsages::Actual);

            CBasicGameObject* pClosestPlanet = NULL;
            ULONG closestDistance = ULONG_MAX;

            const ObjectPtrList& ownedPlanets = GetInterface<IGC3Player>(*it)->GetOwnedPlanets();
            for(auto planetIt = ownedPlanets.Begin(); planetIt != ownedPlanets.End(); ++planetIt)
            {
                TilePair planetPos = GetInterface<IBasicGameObject>(*planetIt)->GetTilePosition().tile;
               
                BOOL isPlanetInRange = CGalaxy::GetInstance()->GetRangeSystem().IsWithinFleetRangeValue(m_pPlayer, planetPos.posX, planetPos.posY, rangeToUse);
                if(isPlanetInRange)
                {
                    ULONG planetDistance = CWorldSpace::HexDistance(capitalPos, planetPos);
                    if(planetDistance < closestDistance)
                    {
                        closestDistance = planetDistance;
                        pClosestPlanet = (*planetIt);
                    }
                }
            }

            if(pClosestPlanet && militaryPower < weakestPower)
            {
                weakestPower = militaryPower;
                pWeakestPlayer = (*it);
                pTargetPlanet = pClosestPlanet;
            }
        }

 

 

  //GalCiv II: I wrote this to control a transport

//*****************************************************************************
//* AIFindTransportDestination
//* Purpose:
//* Find a planet for a transport to go to
//*****************************************************************************
BOOL classCivilization::AIFindTransportDestination(PclassStarShip pShip)
{
 
   if(pShip->IsInFleet() && !pShip->IsFleet()) return false;


   //Preliminaries: Wait for escorts
   if(pShip->HasDestination() && pShip->IsOrbiting() == FALSE && !pShip->GetAttack() && !AIHostilesInSector(pShip->GetSectorID()) &&  g_pGalaxy->GetDistanceFromFriendlyPlanet(QueryID(),pShip->GetTileX(),pShip->GetTileY())<SECTOR_SIZE && pShip->ulTransportWaitTurns<5)
   {
      pShip->CancelDestination();
      pShip->SetMovesLeft(0);
      return false;
   }

   //Preliminaries: Wait for escorts
   if(pShip->IsOrbiting() == FALSE && !pShip->GetAttack() && !AIHostilesInSector(pShip->GetSectorID()) &&  g_pGalaxy->GetDistanceFromFriendlyPlanet(QueryID(),pShip->GetTileX(),pShip->GetTileY())<SECTOR_SIZE && pShip->ulTransportWaitTurns<5)
   {
      pShip->ulTransportWaitTurns++;
      return false;
   }

   //Step #0: Let's see if there are hostiles near by..
   if(AIHostilesInSector(pShip->GetSectorID()) && pShip->GetAttack()<10 && !pShip->IsOrbiting())
   {
      PclassStarShip pEnemy = pShip->FindClosestLocalEnemyShip(0);

      if (pEnemy && pShip->GetTurnsAway(pEnemy->GetTileX(),pEnemy->GetTileY()) < 2 && pEnemy->GetAttack() > pShip->GetAttack())
      {
         pShip->AITakeEvasiveAction(pEnemy->GetTileX(),pEnemy->GetTileY());
         return TRUE;
      }

   }

   //Step #1: Let's see if there's another undefended planet in sector.
   PclassPlanet pPlanet = AIFindUndefendedEnemyPlanet(pShip->GetSectorID());

 
   if(pPlanet && (!AIHostilesInSector(pPlanet->GetSectorID()) || pShip->GetAttack()>8))
   {
      pShip->CancelDestination();
      pShip->pPlanetDestination = pPlanet;
      return true;
   }

   //Step #2: Let's see where they're currently going.
   pPlanet = pShip->pPlanetDestination;
   if(pPlanet && ulIntelligence<40)
   {
      if(pPlanet->IsDefended() == FALSE && GetRelationsWith(pPlanet->GetOwner()) == AT_WAR)
         return true;
   }

   if(pPlanet)
   {
      if(pPlanet->IsDefended() == TRUE || (AIHostilesInSector(pPlanet->GetSectorID()) && !pShip->GetAttack()) )
         pShip->CancelDestination();
   
   }

 

   //Step #3: Let's look at our primary sector focus and use that.
   if(this->AIulSectorFocuses[0] != INVALID_SECTOR_FOCUS)
   {
        ULONG ulSectorsToFocusOn = this->GetNumSectorFocuses();   
        for (ULONG ulIndex = 0; ulIndex<ulSectorsToFocusOn; ulIndex++)
        {
           ULONG ulSectorID = this->AIulSectorFocuses[ulIndex];
           pPlanet = AIFindUndefendedEnemyPlanet(ulSectorID);
           BOOL bHostilesInSector = false;
           if(pPlanet)
           {
               bHostilesInSector = this->AIHostilesInSector(pPlanet->GetSectorID());


               if(this->ulIntelligence<50 || pShip->GetAttack()>5 )
                  bHostilesInSector = false;
           }
           if(pPlanet && pPlanet->ulAIInvadersAssigned[QueryID()]<4 && !bHostilesInSector )
           {
              pShip->CancelDestination();
              pShip->pPlanetDestination = pPlanet;
              return true;
           }
        }
   }

   //Step #4: Let's see if there are other planets to deal with.
   //Note that we won't go over to sectors with undefended planets
   //IF there are enemy ships in there
   pPlanet = pShip->FindClosestUndefendedEnemyPlanet(0);
   if(pPlanet && (AIHostilesInSector(pPlanet->GetSectorID() == FALSE || pShip->GetAttack()>0)))
   {
         pShip->CancelDestination();
         pShip->pPlanetDestination = pPlanet;
         return true;
   }

   //Step #4: We're AT the Rally Point
   PclassRallyPoint pOnRallyPoint = this->FindNearestRallyPoint(pShip->GetTileX(),pShip->GetTileY());
   if(pOnRallyPoint && pOnRallyPoint->GetDistanceInTiles(pShip) == 0)
   {
      pShip->GoHome();
   }
  
   //Step #5: What if there are hostiles here? Let's retreat
   if(this->AIHostilesInSector(pShip->GetSectorID() && !pShip->GetAttack()))
   {
      pShip->GoHome();
   }
 
   return false;

}

GalCiv II: Community update status

Published on Tuesday, January 13, 2015 By Brad Wardell In GalCiv II News

imageThe GalCiv community has been working on an update for GalCiv II: Twilight of the Arnor.   You can find the discussion here.

It’s really quite a thrill to be able to work with the community on a new update to the game.  I originally came from the modding community as did the VP of Stardock Entertainment (Kael – aka Fall From Heaven).  So being able to integrate the ideas, fixes, and improvements into the official game made by the fans is quite a joy.

Some of the changes necessary are requiring some code changes. Luckily, the IT team got me set up with a Windows XP VM so that I can load up Visual Studio 2003 to make those changes.

Stay tuned!

Gamergate: Through My Eyes

Published on Monday, January 12, 2015 By Brad Wardell In PC Gaming

Notice:

This article was written by Elizabeth Fogarty and originally published on Buzzfeed.  I have reposted it here with permission.

This post does not represent Stardock or its affiliates or its partners.

I will use the comments section to discuss what I agree/disagree with personally.  If you agree/disagree with what Ms. Fogarty has posted below, you are free to comment below. If you feel it is inaccurate, feel free to comment. We welcome all points of view here.  Please be aware that our forums are a diverse environment and we strictly enforce our policy of no personal attacks. We expect people to act like adults here. Our moderators are also very diverse so don’t expect any special treatment because you’re pro or anti something.

 

Gamergate: Through My Eyes

by Elizabeth Fogarty
January 2015

Corruption. Politics. Nepotism. Sex. Moral panic. Adam Baldwin. No, this isn't a Hollywood film. Rather, it is the very real saga that is the video game world's current controversy, known as Gamergate. While the consumer revolt has garnered a large amount of press between small game publications and mainstream media outlets, a majority of this coverage has failed to include a complete and honest picture of both sides of the controversy, rather selling conjecture as indisputable fact. My name is Elizabeth Fogarty, and for the past 4 months, I have actively fought for the key goals behind the Gamergate consumer revolt. And they are not what you think.

But Seriously, What IS Gamergate?

The Gamergate controversy is the result of a combination of separate, yet related, issues. Firstly it is a call for ethical reform in the games press, primarily in the form of disclosure of either personal or financial conflicts of interest between a journalist and a subject they are reviewing or reporting on. Secondly, it is a response to ideological manipulation of the gaming industry, and the censorship that has occurred as a result of this. These two things are, in fact, related, because we are seeing the praise of this manipulation by members of the gaming press, as well as praise of the censorship of discussion by members of the gaming press. This combination of the lack of objectivity and fact checking with the desire to adjust or omit truths in order to appeal to a particular "group" is in no way exclusive to games journalists, but rather is indicative of a larger, more universal issue in how we all receive news.

Ethics

You hear the phrases “right wing news” and “left wing news” quite a bit nowadays, yet the truth is, news should not have a wing because facts do not have a wing. Facts are facts. We do not expect journalists to be unbiased. Everyone has bias, we’re human beings who are designed to think and feel. However, when you are in position of power, such as in the case of a journalist with incredible reach, you should put your personal bias and politics aside in the interest of being honest, fair, and neutral. In gaming many articles, particularly reviews, are indeed a combination of fact and opinion. If a journalist knowingly agrees to write a review on a game or company that they have a personal or financial tie to, it is highly unlikely they would be able to position themselves neutrally enough to cover it fairly, and they should either recuse themselves or disclose the conflict.

One of the largest issues people take with Gamergate is the origin. Gamergate did in fact initially begin with the Zoe Post. A game developer’s ex boyfriend wrote a blog post detailing the end of his relationship, which had indications of being emotionally and mentally abusive. He outlined the alleged infidelity of his girlfriend throughout the course of their relationship. Several of the names included in the post drew attention to a potential conflict of interest in gaming journalism, most specifically Nathan Grayson of Kotaku (and formerly of Rock, Paper, Shotgun). Many people feel everything that has resulted was a reaction to a female developer having sex. In reality, the developer was a character backstory, and most of those involved in the discussion were interested in the plot of the film. The first use of the hashtag #Gamergate was by actor Adam Baldwin, who has actively spoken on the matter.

Stephen Totilo, Editor in Chief of Kotaku, claimed to have conducted an investigation, and stated that the relationship between Grayson and the developer, Zoe Quinn, began after he covered her game (an assertion that has since been disproven.)

When this potential conflict of interest was brought to light, two other undisclosed conflicts of interest were exposed at essentially the same time (Kotaku’s Patricia Hernandez and Polygon’s Ben Kuchera)

When we, as consumers, began questioning these conflicts, over a dozen articles declaring the “death of gamers” were published within a 48 hour period, from competing sites, some more vitriolic than others. It was later revealed that these journalists were part of a private email list, where discussions took place regarding what to report on, as well as attempted censorship of forum discussion of the topics surrounding the controversy. Ben Kuchera of Polygon is seen in leaked emails repeatedly chastising journalists from competing publications for allowing discussion of the topic on their forums.

In addition to journalists halting, and attempting to halt, discussion of the topic on gaming publication forums, third party sites such as 4chan and Reddit began deleting threads which pointed to potential journalistic impropriety. This occurred to such an extent that even Wikileaks joined the fray.

Many of the journalists involved have installed the GG Autoblocker, which is a program for Twitter that immediately blocks anyone following two or more accounts which were classified as alleged "ringleaders" of the leaderless consumer revolt. This has limited the ability to engage in any productive conversation about the issues.

Although several publications willingly updated their ethics policies, many were resistant. Supporters of the revolt began organized email campaigns, contacting advertisers on the websites of the publications and providing evidence of wrongdoing. Multiple advertisers have pulled ads on the sites in question as a result.

It's unlikely that this call for disclosure and ethical reform appears extreme, or unreasonable, to many of you. Why then, has this become one of the greatest controversies within the industry?

When you accuse someone of doing something wrong, one of two things will happen. They will admit they were wrong, apologize, and change what they are doing. Or, they will accuse you of something much worse. That banal response is what we have seen with Gamergate. Instead of addressing the claims head on and responding to our evidence, the very press we were fighting against painted us as misogynist harassers, intent on keeping women out of the industry. And because they had not only pen and ink, but an audience, they were believed without question.

Ideology

In recent years, people have been more willing to view video games as a form of art. As a result, there has been an increase in critiques of games, most notably with the Feminist Frequency web series. This series has been accused of "cherry picking" examples, out of context, in order to argue a sexist epidemic in games and their portrayals of women. To be clear: They have every right to say what they are saying, whether I agree or not. However, those involved in the discussion of Gamergate, as well as neutral parties within the culture, have expressed concern over the amount of clout and influence the creators of this series have.

Since the series rose to fame, the industry has seen one title pulled from several stores in Australia for perceived sexism, and Sweden is currently discussing adding additional labeling to games which are found to be sexist, despite a rating system for games already existing. The standards by which this will be measured are currently unclear. Additionally, after Jonathan McIntosh, writer and producer of Feminist Frequency,  began publicly speaking out against the game, Hatred was temporarily pulled from Steam Greenlight (it was later reinstated, and shortly after was Greenlit).

There is a demand for the evolution of the industry to leave behind "offensive" tropes and characters completely. However, offense is taken, not given. Games are not sentient beings. They are incapable, on their own, of acting with volition or prejudice. This interpretation happens in the mind of the individual player. It is a widely held belief by those involved in the revolt that artistic and creative freedom should be protected without exception.

A majority of the "other side" of the discussion oppose the goals surrounding Gamergate from an ideological standpoint. Many disregard the call for ethics, some openly mocking it. It's easy for them to draw an incorrect conclusion because they don't care about games journalism, and can not fathom how, if they don't care, anyone else could. They focus on the ideological debate, which essentially boils down to those who support creative freedom, versus those who want specific universal representation of certain types of characters.

As a result of our push against the politicization of the industry, we were minimized to the singular demographic of "white cis male."

#NotYourShield is a “sister hashtag” to #Gamergate, and was started as a response to this characterization that all gamers were white nerdy man-children. Female and minority gamers spoke out in support of both ethics and creative freedom, while also largely condemning both artistic and spoken censorship. We were met with accusations of being fake, or of internalizing our own self hatred - be it "internalized misogyny" or "internalized racism." In addition, many of us have been called tokens, shields, gender traitors, and “uncle toms.”

In 1968, Supreme Court Justice John Marshall Harlan II spoke on behalf of free speech: “One man’s vulgarity is another man’s lyric.” Works of art evoke diverse and deeply passionate responses in people, be it positive or negative, and as a result, have been the target of numerous censorship efforts throughout history.

Claims of the Harassment of Women

The primary assumption regarding those involved in the Gamergate revolt has been that we are a harassment movement intent on keeping women out of both gaming and the game industry, through threats and targeted harassment. I am not disputing that people have received threats and harassment, because that has happened - on both sides. I myself have received quite a few threats, regular harassment, and I’ve been doxed. Most recently, someone printed out my picture from Twitter, masturbated onto it, and tweeted an image of this publicly.

A vast majority of the threats and harassment on both sides have been the result of online trolls. They target both sides in order to further tension and get deranged laughs out of what is happening. And the truth is, this has happened to both men AND women. I would never claim that my harassment is because of my gender, rather as a result of both my stance on the Gamergate controversy and my involvement in the discussion. Should the threats be taken less seriously? Absolutely not. All threats should be assessed, reported, and monitored. But to place blame on an entire group with no evidence is not only dishonest and unfair, it's also potentially dangerous to the person who has received them.

People who actually care about the key goals of the Gamergate revolt often speak out against threats, harassment, and doxing. Yes, there are women involved of whom we are critical - Zoe Quinn, Anita Sarkeesian, Brianna Wu, and Leigh Alexander, for example. We criticize posts, we dispute and debate points that they make. Yes, this is happening. No one is denying that. However, I will deny until my last breath these two points: 1) that we are disputing what they are saying because they are women, and 2) we are only disputing the words and opinions of women. That is untrue. We have regularly criticized Jonathan McIntosh. We have regularly criticized Ben Kuchera of Polygon, and Stephen Totilo and Nathan Grayson of Kotaku, and Arthur Chu, who actually does not care about video games, as well as many more. The idea that we are simply “targeting women” for just being women is asinine and often dishonest. But if someone were to actually share all of this information, they’d have to leave the “they’re just woman-haters” narrative behind, and they aren’t willing to do that.

We have questioned the actions of many people, yet are widely portrayed as only criticizing women. The idea that women should be exempt from criticism is insulting and, frankly, meets the criteria for sexism.

In Summation

Ethics matter. If you believe in the right to trust the news you receive, regarding anything, then you must constantly demand more neutrality. Personal biases shaping the delivery of facts only serves to hinder  progress, not help it.

Creative Freedom matters. If you believe in the right to think, to feel, to discover, to play, and to create, then you must support and defend the right for others to be able to do the same.

The only proven fact of "offensive" material is whether you personally find it offensive or not. What offends you may not offend me, and vice versa. As long as we have options in games, you have the ability to participate in the hobby comfortably. Removing any of these options helps no one. When you allow things in life to be censored, censorship becomes life.

More diversity in games is a good thing. Developers should be open to this. They should not, however, be pressured into creating a checkbox character in an attempt to please people who will likely never be content.

There are real people on the other side of your computer screen. It is possible to treat others kindly while still asserting your stance.

To learn more about the Gamergate consumer revolt: Talk to some of us.

Note: This article was originally posted to Buzzfeed.com, at 7pm EST on January 11, 2015. It was removed at some point during the morning of January 12, 2015.

You can follow here at https://twitter.com/lizzyf620

They sure showed that strawman who’s boss

Published on Wednesday, January 7, 2015 By Brad Wardell In Game Development

imageAt CES Intel unveiled a program to spend hundreds of millions of dollars to try to get more people into technical fields, particularly women and minorities.  This is great news! In fact, I can’t think of anyone who would be against this.

During the event, Intel even featured the Feminist Frequency logo which, to me, implies that she’s either compromised her position or surrendered it outright if she’s now in favor of more people getting into game development rather than arguing how bad games are for society.

The more diversity in the people who make games the more diversity there will be in the types of games being made. I hope. If that happens, maybe there will be less pressure on people like me to insert socially conscious robot wizards into my space ship games.

Meanwhile…

What I found particularly strange is how some in the media have covered this. The Verge has made a very odd article literally entitled “Intel opposes Gamergate as part of $300 million effort to fix diversity in tech”. I’m not sure what that has to do with GamerGate one way or the other.

Last time I checked, the issue GamerGate had was with journalists choosing who and what to cover based on their politics and personal relationships along with misrepresentation their critics as misogynists.  Getting more people to become engineers instead of say, communications majors, would be something I suspect most people who identify as supporting GamerGate would want.

If someone else wants to show their opposition to GG by giving hundreds of millions of dollars to something everyone wants then please, do so. I’ll build the strawmen myself to help.

Sorcerer King: Beta 4 Change log

Published on Sunday, January 4, 2015 By Brad Wardell In Sorcerer King Dev Journals

**Updated 2/4/15**

Hey folks, this is Island Dog making an update to Brad's original post.

Here is the updated changelog for the upcoming Beta 4:
 

  • New Sovereign, Champion, & Sovereign Customization

    • Tinkerer sovereign – A master craftsman who wields the power of the Forge of the Overlord with great skill

    • Drogon the Dwarf champion – wields two axes, has the Beardsmith ability...what else do you need to know?

    • Sovereign customization unlocked – combine any sovereign skill tree, starting ability, champion, and spellbook loadout

  • Improved strategic map visuals

    • Claimed city tiles now have visible villages

    • Terrain has more elevation variation, texture contrast, and scattered props

    • Unique forest types for desert, shadow, burning lands, scrapyard, and blue fissure

    • Chasm terrain

    • Improved lighting and shadow appearance & values

    • Improved Fog of War appearance to better match art style

    • Polished appearance of Kingdom forests

    • New Frozen Realm capitol

  • UI improvements & additions

    • Auto Resolve Prediction – safely auto-resolve battles you’re guaranteed to win, avoid those you’re likely to lose

    • Animated Sorcerer King and minor faction interactions

    • Full screen quest UI (final art still WIP)

    • General UI polish and consistency improvements

  • Gameplay features, balance, and additions

    • Enchantment System – enchant crafted items to customize their buffs and abilities

    • Tactical Battle Rounds – Some abilities are locked by round now, like enemies that will summon a big bad if you haven’t killed them by round 4

    • Can edit owned unit and city names

    • Steam Achievements added

    • Hero quests now properly scattered throughout the world (and you can’t find duplicate heros)

    • Summoned unit spells added

    • Additional variation in monster lair battles

    • Lots of new sound effects for units, abilities, and spells

    • Lots of new visual effects for abilities and spells

      • Enchantment Sleep

      • Sleep

      • Enchantment_regeneration

      • Soothing Melody

      • Harvest Shadowland

      • FlameDart Projectile

      • Cloudwalk

      • Heroic End

      • Warriors Might

      • Guardian Wind

      • Gift Of Iron

      • Tutelage

      • Divine Protection

      • Withstand

      • Haste

      • Enchantment Confused

      • Celerity

      • Enchantment AttackBoost

      • Blood Rage

      • Blood CUrse

      • Blight

      • Blessing of Restoration

      • Boat particles (not hooked up)

      • Aura of Vitality

      • Aura of Might

      • Aura of Madness

      • (and more)

    • Lots of new icon art added

    • Tons of new quests

    • Additional balance to quest rewards

    • More quests are escapable and repeatable (e.g. running away does not always end a quest)

    • More idle animation variation and custom ability animations

    • Changed all references of “combat speed” to “initiative” for consistency

    • Camera can now be zoomed out a little farther before cloth map appears

    • New Map and Battle music tracks

    • Falcon unit art and animations

    • Storyteller camera mode advanced option added (free rotate for screenshots, etc.)

    • Smoother camera zoom behavior

    • New Spells:

      • Enhance Land (turns grassland into fertile land)

      • Restore Land (turns marginal land into grasslands)

      • The Drain Fertility and Harvest spells no longer cost doomsday points. Just mana

      • Bewilder (reduces enemy accuracy by 33)

      • Call Skeleton ability (special ability for summoning a skeleton)

      • Unearthly attack (15% splash damage)

    • Lowered Champion immobilization penalty to 3 (from 5)

    • Big update to the tactical AI to make units effectively use all these cool unit abilities intelligently

    • Tactical AI does positioning and enemy stat analysis to choose what ability and who to use it on (wait till you see this in action, it now plays better than I do manually)

    • Music choices greatly increased as the game goes on (very tired of hearing the same 5 songs early on)

    • Music playing during tactical battle takes more into account to get a better variety

    • Increased SK unit moves to 3

    • Rewrote the guardian spawning to support multiple, randomized wandering monsters. Supports XML

    • SK Strongholds are not seeded as much

    • AI good (arguably too good) at summoning monsters at the worst possible time for the player.

    • Added support to XML via AIPriority to nerf AI’s summoning if necessary

    • SK has more spells to use on the player.

    • If you haven’t met a minor race, it won’t declare war on you anymore. They now have to know you to want to murder you

    • Player Threat to SK now impacts how many monsters the SK can have (not by a lot)

    • General nerfing of the SK’s armies on lower difficulty levels

    • Monsters won’t attack cities unless their army size is at least 3 (very annoying being attacked by a lone bandit)

    • However a monster that is sufficiently powerful WILL attack a city, even if it’s alone (I’m looking at you Umberdroths)

    • Pikeman becomes trainable by the Barracks, does not require metal

    • Tons of tweaks to units to balance them better

    • Massive increase in the number of abilities units have

    • Warlock enemy unit has been redesigned

    • Lots of spells enhanced to make them more worthwhile

    • Coalstones cooldown increased from 5 to 7

    • Coalstones damage decreased from 2X level to 1X level

    • Despair now has a 20 turn cooldown and only removes 1X caster level HP from all units.

    • Divine shield mana reduced from 15 to 3

    • Inner Fire will summon a Flame Elemental

    • Nightmare casting time eliminated, now an instant

    • Shrink fixed to target enemy units

    • Lots of AI fixes to the targetworthy code

    • Lots of new items

    • Linguistics, Pragmatism, and Archeology are now sovereign traits (mostly for future modder use in quests)

    • Lots of new goodie huts and monster lairs created to provide more variety, especially early game (so sick of same 3 bandits)

    • Balancing of the various unit abilities, especially in terms of how valuable they are in determining the units actual combat rating.

    • City improvements made slightly less expensive

    • Official game year set to 651 AC

  • Bug Fixes

    • Improved performance on laptops – now defaults to high performance mode on dual-GPU laptops

    • Starting weapon recipes for all Champions

    • Removed outdated and broken items

    • Typo and phrasing fixes throughout

    • Fixed a crash where gfx code was being called from a thread

    • Fixed a game-within-a-game crash due to shard cleanup between games.

    • Fixed a warning about a function not always returning a value, which would cause unexpected behavior

    • Fixed a bug that caused the Allow Camera Rotation code and game option to not be synced

    • Minor faction quest items can no longer be equipped

    • Fixed Varda skill tree typo & bad prereq

    • Fixed issue where AI could potentially go on quests, collect goodie huts

    • Fixed broken post-process lighting

    • Dead SK units no longer visible after they attack a shard

    • Shards no longer occasionally invisible when initially attacked/revealed

    • Fixed bug where "next page" arrow button was being shown in the spellbook when there was nothing to show on the next page

    • Unnecessary “what do you do” lines removed from quests.

    • Fixed a crash with the "enemy in ZOC" or "resources in ZOC" notifications

    • Fixed bug where world props did not fade under exposed fog of war

    • Archer Sniper now plays particle on sureshot properly

    • Dwarf warrior crushing blow now plays animation and particle

    • Fixed bug where you could casts sov spells in tactical when it was not your turn

    • Fixed the really annoying “hourglass showing up when it shouldn’t” bug (lots of little code changes to do this, very annoying)

    • Fixed the really annoying tendency of the doomsday counter updating at the same time as a lot of things are going on resulting in choppy animation (still needs more work)

    • Fixed the slow, inefficient and often inaccurate tile yields displayed. So founding a city that claims to have 4 grain and 2 materials won’t happen anymore (it’ll display the correct amount). Also, this was called a lot and it was really really inefficient

    • Fixed bug that caused monster lairs to sometimes spawn with nothing in them

    • Fixed bug that caused the Sorcerer King’s fortress to be turned in weird ways with the gate floating off

    • Fixed bug (heh) where monsters could go on quests and thus make them unavailable to the player (forgot I had had that in there, seemed like a good idea at the time)

    • Fixed bug that was preventing AI from making use of certain types of combat abilities

    • Fixed embarrassing bug of mine where a minor race would still adjust its favor with the SK even after you were allied

    • Fixed bug that caused multiple trait quests to come up on the same turn




******************


This is NOT released yet.  Target release for Beta 4 is sometime this month. 

-- Change Log --

(or how Brad spent his Christmas break..)

Code

  • Big update to the tactical AI to make units effectively use all these cool unit abilities intelligently
  • Tactical AI does positioning and enemy stat analysis to choose what ability and who to use it on (wait till you see this in action, it now plays better than I do manually)
  • Music choices greatly increased as the game goes on (very tired of hearing the same 5 songs early on)
  • Music playing during tactical battle takes more into account to get a better variety
  • Fixed the really annoying hour glass showing up when it shouldn’t bug. (lots of little code changes to do this very annoying)
  • Fixed the really annoying tendency of the doomsday counter updating at the same time as a lot of things are going on resulting in choppy animation (still needs more work).
  • Fixed the slow, inefficient and often inaccurate tile yields displayed. So founding a city that claims to have 4 grain and 2 materials won’t happen anymore (it’ll display the correct amount). Also, this was called a lot and it was really really inefficient .
  • Increased SK unit moves to 3.
  • Fixed bug that caused monster lairs to sometimes spawn with nothing in them.
  • Rewrote the guardian spawning to support multiple, randomized wandering monsters. Supports XML.
  • Fixed bug that caused the Sorcerer King’s fortress to be turned in weird ways with the gate floating off.
  • Fixed bug (heh) where monsters could go on quests and thus make them unavailable to the player (forgot I had had that in there, seemed like a good idea at the time)
  • SK Strongholds are not seeded as much
  • AI good (arguably too good) at summoning monsters at the worst possible time for the player.
  • Added support to XML via AIPriority to nerf AI’s summoning if necessary
  • Fixed bug that was preventing AI from making use of certain types of combat abilities
  • SK has more spells to use on the player.
  • Fixed embarrassing bug of mine where a minor race would still adjust its favor with the SK even after you were allied.
  • If you haven’t met a minor race, it won’t declare war on you anymore. They now have to know you to want to murder you.
  • Player Threat to SK now impacts how many monsters the SK can have (not by a lot).
  • General nerfing of the SK’s armies on lower difficulty levels.
  • Monsters won’t attack cities unless their army size is at least 3 (very annoying being attacked by a lone bandit).
  • However a monster that is sufficiently powerful WILL attack a city, even if it’s alone (I’m looking at you Umberdroths).
  • Fixed bug that caused multiple trait quests to come up on the same turn

 

Campaign (bulk of work was in this, but won’t be released in beta 4)

  • Rough draft of SK-Kingdom campaign scenario created
  • Various recipes and items for the campaign created
  • Various new quests created for the campaign
  • Lots of new quest locations created (lots)
  • Lots of terrible terrible programmer art

Balance

  • Lots of new weapons have gone in. We are playing around with the idea of letting trained units get to equip weapons as long as they have the proper profiency to use it (rational is that while it’s silly that 1 sword can equip 3 soldiers, it’s just as silly that 1 chain shirt can equip them too and let’s face it, equipping units is fun)
  • Pikeman becomes trainable by the Barracks, does not require metal.
  • Tons of tweaks to units to balance them better
  • Massive increase in the number of abilities units have.
  • Warlock enemy unit has been redesigned.
  • Lots of spells enhanced to make them more worthwile
  • Coaltstones cooldown increased from 5 to 7
  • Coalstones damage decreased from 2X level to 1X level
  • Despair now has a 20 turn cooldown and only removes 1X caster level HP from all units.
  • Divine shield mana reduced from 15 to 3
  • Inner Fire will summon a Flame Elemental
  • Nightmare casting time eliminated, now an instant
  • Shrink fixed to target enemy units
  • Lots of AI fixes to the targetworthy code
  • Lots of new items
  • Linguistics, Pragmatism, and Archeology are now sovereign traits (mostly for future modder use in quests)
  • Lots of new goodie huts and monster lairs created to provide more variety, especially early game (so sick of same 3 bandits)
  • Wizard Sovereign has a skill that gives him a Yetti Hero
  • Priest Sovereign has a skill that gives her a Scoundrel hero.
  • Balancing of the various unit abilities, especially in terms of how valuable they are in determining the units actual combat rating.
  • City improvements made slightly less expensive
  • Official game year is set to 651 AC.

New Units

  • Sentinel. Requires Armory to be trained
  • Xeron the Warrior. New Champion
  • Netros the Mage. New Champion
  • Rygos the Ranger. New Champion
  • Darkling Shaman
  • Urxen Commander
  • Trog Commander
  • Trog Sniper
  • Rabid Dire Wolf
  • Bandit Sharp Shooter
  • Baby Black Widow
  • Skeleton Warrior
  • Syndicate Enforcer
  • Quendar Rebel Archer

Music (thanks to Mason Fisher)

Game/Layered Music/RaceTheme_SK.mp3
Game/Layered Music/RaceTheme_FrozenRealm.mp3
Game/Layered Music/MapTheme_Ambient_LateGame_5.mp3
Game/Layered Music/MapTheme_Ambient_LateGame_4.mp3
Game/Layered Music/MapTheme_Ambient_LateGame_3.mp3
Game/Layered Music/MapTheme_Ambient_LateGame_2.mp3
Game/Layered Music/MapTheme_Ambient_EndGame_1.mp3
Game/Layered Music/MapTheme_Ambient_EarlyGame_6.mp3
Game/Layered Music/GameTheme_SetupGame.mp3
Game/Layered Music/GameTheme_Credits.mp3
Game/Layered Music/BattleTheme_Medium_3.mp3
Game/Layered Music/BattleTheme_Medium_2.mp3
Game/Layered Music/BattleTheme_Medium_1.mp3

New Spells:

  • Enhance Land (turns grassland into fertile land)
  • Restore land (turns marginal land into grasslands)
  • The Drain fertility and harvest spells no longer cost doomsday points. Just mana
  • Bewilder (reduces enemy accuracy by 33)
  • Call Skeleton ability (special ability for summoning a skeleton)
  • Unearthly attack (15% splash damage)

New Quests: (Thanks to the Mod team! )

Game/data/English/Core Quests/Quest_Inn_34.xml
Game/data/English/Core Quests/Quest_Inn_33.xml
Game/data/English/Core Quests/Quest_Inn_32.xml
Game/data/English/Core Quests/Quest_Inn_31.xml
Game/data/English/Core Quests/Quest_Inn_30.xml
Game/data/English/Core Quests/Quest_Inn_29.xml
Game/data/English/Core Quests/Quest_Inn_28.xml
Game/data/English/Core Quests/Quest_Inn_27.xml
Game/data/English/Core Quests/Quest_Inn_26.xml
Game/data/English/Core Quests/Quest_Inn_25.xml
Game/data/English/Core Quests/Quest_Inn_24.xml
Game/data/English/Core Quests/Quest_Inn_23.xml
Game/data/English/Core Quests/Quest_Inn_22.xml
Game/data/English/Core Quests/Quest_Inn_21.xml
Game/data/English/Core Quests/Quest_Inn_20.xml
Game/data/English/Core Quests/Quest_Inn_19.xml
Game/data/English/Core Quests/Quest_Inn_18.xml
Game/data/English/Core Quests/Quest_Inn_17.xml
Game/data/English/Core Quests/Quest_Inn_16.xml
Game/data/English/Core Quests/Quest_Inn_15.xml
Game/data/English/Core Quests/Quest_Inn_14.xml
Game/data/English/Core Quests/Quest_Inn_13.xml
Game/data/English/Core Quests/Quest_Inn_12.xml
Game/data/English/Core Quests/Quest_Inn_11.xml

Game/data/English/Core Quests/NewChampion_Yetti.xml
Game/data/English/Core Quests/NewChampion_Scoundrel.xml
Game/data/English/Core Quests/NewChampion_Cleric.xml
Game/data/English/Core Quests/Campaign1_QuestLocs.xml
Game/data/English/Core Quests/Campaign1_QuestItems.xml
Game/data/English/Core Quests/Campaign1-TheHermit.xml
Game/data/English/Core Quests/Campaign1-TheExile.xml
Game/data/English/Core Quests/Campaign1-TheBazaar.xml
Game/data/English/Core Quests/Campaign1-SouthGate.xml
Game/data/English/Core Quests/Campaign1-SectionHQ.xml
Game/data/English/Core Quests/Campaign1-RockSlide.xml
Game/data/English/Core Quests/Campaign1-MerchantCity.xml
Game/data/English/Core Quests/Campaign1-Linquists.xml
Game/data/English/Core Quests/Campaign1-Garrison.xml
Game/data/English/Core Quests/Campaign1-FearfulFog.xml

 

Updated Quests:

Game/data/English/Core Quests/SK_Interaction_Threat0_03.xml
Game/data/English/Core Quests/SK_Interaction_Threat0_02.xml
Game/data/English/Core Quests/SK_Interaction_Threat0_01.xml
Game/data/English/Core Quests/SK_Interaction_CityBuilt_01.xml
Game/data/English/Core Quests/Quests-Pariden_01.xml
Game/data/English/Core Quests/Quest_SorcererKing_Gates_01.xml
Game/data/English/Core Quests/Quest_RandomEvent-10.xml
Game/data/English/Core Quests/Quest_NewHeroQuest_Slayer.xml
Game/data/English/Core Quests/Quest_MysteriousCave_06.xml

Game/data/English/Core Quests/Quest_Inn_04.xml
Game/data/English/Core Quests/Quest_Inn_02.xml
Game/data/English/Core Quests/Quest_Inn_01.xml
Game/data/English/Core Quests/Quest_DM_Fame_07.xml
Game/data/English/Core Quests/Quest_Battlefield_01.xml
Game/data/English/Core Quests/Quest_AncientTomb_09.xml
Game/data/English/Core Quests/Quest_AncientTomb_02.xml
Game/data/English/Core Quests/Quest_AncientTomb_01.xml
Game/data/English/Core Quests/Quest_AbandonedVillage_30.xml
Game/data/English/Core Quests/Quest_AbandonedVillage_08.xml
Game/data/English/Core Quests/Quest_AbandonedVillage_03.xml
Game/data/English/Core Quests/Quest_AbandonedVillage_02.xml
Game/data/English/Core Quests/Quest_AbandonedVillage_01.xml
Game/data/English/Core Quests/Quest-DM_Honor.xml

 

Stay tuned..this post will keep being updated…

Things my wife says

Published on Saturday, January 3, 2015 By Brad Wardell In Life, the Universe and Everything

My wife is a mathematician by training but her wit is second to none. In a different life, I think she’d been a good comedy writer.  So I’ve decided to start tracking some of her quips. Smile

This is all from this morning:

 

Me: You’re too good a cook. You’re making me fat.

Deb: And if I was a bad cook, you’d be complaining about that instead.

Me: And?

Deb: You’re like the Kobayashi Maru of food.

--

Deb: Every time we travel now we have to find people to take care of the chickens.

Me: Look, we’re chicken people now. And we’ll be chicken people until the day you die.

Deb: Oh, you’re definitely going first.

Me: Oh really?

Deb: How’s that coffee?

Me: Er..Almondy.

--

More to come..

The end of year musings: 2014 edition

Published on Wednesday, December 31, 2014 By Brad Wardell In Personal Computing

Naturally I’m waiting until the last day of the year to finally write this.

If you’re looking for a drab, properly edited, PR approved article, this is not that article.  So hang on as we do a skim through of the hyperbole of awesomeness that’s been going on this year.

Let me get this part out of the way: If you’re a gaming journalist, we’re going to be at GDC with a suite. In that suite will be Soren Johnson (Civ IV), Bruce Shelley (Civ, Age of Empires), Dan Baker (co-author of the DirectX shader language, engine lead on countless games), Dave Pottinger (Age of Empire series), Dorian Newcomb (art director on countless games), Tim Kipp (system lead on countless games including Civ V and industry expert on touch UI integration). And we’re going to be showing a lot of never before seen things and reacting to some of the upcoming industry announcements that aren’t currently public.  If you’re in the media and want to cover any of this, contact our PR manager, Stephanie Schopp ([email protected]).

Now, let’s talk about this past year:

Here’s a brief recap for those of you in the Stardock community:

The new game studios

Back in 2011 when Stardock sold Impulse to Gamestop we were asked what we were going to do with all that capital.  At the time, I said we would set up an investment fund to help fund startups. 2014 was the year when we unveiled the first of these new companies.  It’s been a real challenge keeping the things we’re working on under wraps.

Oxide Games

imagewww.oxidegames.com was announced early this past year and unveiled a tech demo called Star Swarm.  Someday we’d like to do a full on game of it but the purpose here was to show Mantle (and while we couldn’t say anything at the time, how a future DirectX 12) could dramatically change the way games are made.  Right now, as we speak, any games you’re playing are communicating with the GPU via 1 core.  You have 4 cores? 8 cores? That’s nice. They’re doing little for you in terms of improving your gaming experience.  But Mantle and DirectX 12 will change that.  This will be a very big deal in the coming years.

Oxide is making a new type of 3D engine that will take advantage of this which will allow us to make new types of strategy and role playing games into the future.

The Oxide team is led by what was essentially the Civilization V engineering leads which includes one of the developers of the DirectX shader language. 

Mohawk Games

imageMeanwhile, acclaimed designer, Soren Johnson and I founded Mohawk Games together.  Soren is best known as the lead designer of Civilization IV. He has assembled an amazing team from around the industry and they’re currently working on a game called Offworld Trading Company.  And the good news is that this game is expected to go into Steam early access around this February. 

OTC has been a mixed blessing. I kid you not that this game is banned from being played outside of lunch hours now.  Even though it won’t ship until 2016, it’s been being played multiplayer for a long time.  Don’t worry single player fans, Soren has you covered. Even now, it’s single player AI is remarkably good (did I mention it’s still a year away from release).  Once released, its addictiveness will no doubt result in arrests and investigations. I’ll be in Belize by then.

Stardock: Towson

We also opened an office in Towson Maryland.  We’ve been lucky enough to recruit some amazing talent including Civilization V art leads (terrain, models, etc.), sound and music leads and some Big Huge Games veterans.  We are very fortunately to be located down the street from Firaxis, the world’s #1 strategy game studio (imo) and we share the building we’re in with Brian Reynold’s Big Huge Games (though they managed to get the lead graphics dev we wanted for Star Control! Winking smile)

The studio out there is working on Star Control.  Right now, it’s just the underlying game systems (which uses Oxide’s Nitrous engine).  The main game is expected to begin development this year once we’ve recruited a lead designer for the game.  Unfortunately, Paul Reiche, one of the best game designers in our industry’s history and the creator of Star Control 1/2, is pretty busy on Skylanders these days. 

We’ll be talking a lot more about the new Star Control in 2016.  Not too much will happen this year other than saying that while we will continue to support and promote the original Star Control classic series (www.starcontrol.com) the new one will be a reboot and have a different set of lore from the classic series.

Mothership Entertainment

Meanwhile, down in Texas, industry veteran Paul Tozour and us have founded Mothership Entertainment.  They’re working on a game that we expect to announce this year but won’t be released until 2016.  I can’t even hint at it right now. Smile

Stardock: Austin

All the new games, including Galactic Civilizations III and Sorcerer King will be using a new meta game service we internally call Tachyon.  The simplest way to describe it is that it’s Battle.net built on top of Steamworks.  So in case there’s any question on this: As far as Stardock is concerned, Steam is the PC game platform and Steamworks is its API.  I could write entire articles on how impressed we’ve been with Valve.  They run Steam in a way that only a privately held company could run it.  But I digress.

We want our new games to be able to have a meta experience like you see with Battle.net (which we love).  Luckily, we were able to recruit one of the original Battle.net architects, Adrian Luff from Blizzard to run the new studio. 

Other cool stuff coming up

BonusXP

imageEnsemble Studios created some of the best games of all time including Age of Empires and Age of Mythology.  When Microsoft closed Ensemble, many of its key leads went on to form a new company called BonusXP.

In 2015, their first major PC game will be announced.  The new game, whose developers include Dave Pottinger and Bruce Shelley is expected to be unveiled before GDC in 2015.   One of the reasons we feel very certain this game will become very popular is that after playing it, its game mechanics seem so obvious in hindsight.  In fact, I expect we’ll see a lot of games…borrow from it in the future.  I’m a fan.

Windows 10

We have a lot of things coming up for our non-game software (Object Desktop).  Still, if all goes well we will be in the position that in 2015, more than 50% of our revenue will come from games.  Most of our customers know us from our non-games.  

imageUnfortunately, since our programs tend to end up part of the OS, we tend to not talk about what we’re coming out with until the new version of Windows is far enough along that something won’t get integrated. Which isn’t to say we mind if Microsoft incorporates our OS ideas into Windows. Anything that makes Windows better is good for us all.   But we have some new things in development that are so obvious that once you see them in action you’ll know they’ll be part of the OS at some point.

Galactic Civilizations III & Sorcerer King

I can’t forget GalCiv III.  The beginning of 2015 will start out with us releasing the types of games we’ve been traditionally known for: 4X strategy games.  Both of these games excite me for very different reasons.

GalCiv III is being built on a brand new, 64-bit platform. It’s a custom engine designed to be built on for the next decade.  This matters because it will allow us to create, what we hope, is a true living breathing galaxy with amazing depth over time.

imageSorcerer King, is exciting because the game lends itself to third-part modder expansions in a way nothing we’ve made before does.  It was remarked by one of our modders that you could remake Baldur’s Gate with the Sorcerer King engine.

The people on the other end of your screen

I just wanted to end this with a mention of how much we appreciate you.  There are very few independent tech companies from our generation left.  And I can tell you, it’s a pleasure being able to talk to our customers and our friends in the media as openly and plainly as possible.

I believe this transparency has been crucial to our success over the years.   We are techies. We make no bones about that.  We love what we make and I say this without reservation, we love making this stuff for you. 

“They’ll eat you”

Published on Tuesday, December 30, 2014 By Brad Wardell In Blogging

image

He is referring to “GamerGate”.  Now, full disclosure, as a game developer, I don’t even consider it possible to be part of GamerGate.  Historically, the games media was there to protect consumers from evil, greedy bastards like me.  But at some point in the past few years, some of them decided they really didn’t like gamers.  I find it odd. It’s like a sports reporter not liking the fans of the sport he reports on.  Finding this situation odd makes me “part of a hate group”. But I digress.

Being eaten

The experiment of being eaten by a hate group has already been performed.  Let me walk you through the experiment:

Women in gaming

In 2006, Stardock released Galactic Civilizations II, its third game mostly developed by a female game developer at Stardock (GalCiv I, GalCiv II and LightWeight Ninja).  She was the lead on it because she was the best at it. Her gender had nothing to do with it. 

The media didn’t seem very interested in covering the fact that the #1 highest rated space 4X game in history (and btw, STILL the #1 space 4X according to Metacritic) was mostly programmed by a woman at the time.  And I would argue, why should they? In my experience, women code just as well as men.

Go ahead to Metacritic.com and see if there are any games above GalCiv II that were primarily programmed by a woman. Go ahead. I’ll wait. BTW, if you liked Fallen Enchantress: Legendary Heroes the plurality of it was written by a woman too, a different one. How about its amazing random map generation? Also a woman. Yet a different one.

The lack of acknowledgement of this isn’t a bad thing because we shouldn’t give coverage to things based on who made them but rather based on the merits of the game. But then again, apparently me believing this makes me part of a hate group.  

The point is, for 20 years, simply by not discriminating other than on talent and hard work, we’ve been a destination for a number of talented female game developers and artists.

Copy protection

We also were pretty outspoken in our contempt for copy protection on games. I don’t like paying customers being inconvenienced and we got a lot of coverage for this. 

Gamers Bill of Rights

We also came up with http://gamersbillofrights.org/ because many games at the time were being shipped that wouldn’t even work on people’s machines (remember Star Force?). The idea was that people should be able to get their money back if the game doesn’t work for them.

Point being, we were very vocally and unapologetically pro-consumer as a business model.  We believe it’s good business to treat your customers fairly.

Elemental

This was the first time I saw our openness used against us.  We made a game that was buggy on release. We didn’t realize it was buggy on release. In fact, so certain we were of its readiness that we released it early to those in the beta program.  We messed up.  So we gave the subsequent two games in the series to players for free to people who have pre-ordered it and gave refunds to those who bought it after who had technical difficulties with it. 

Again: treating your customers well and rewarding them for their loyalty is a long-term smart business decision.

.

The hate group eats you

So at this point, we had worked hard to establish ourselves as a forward thinking, fair minded, honest, transparent company that didn’t just talk the good talk about creating a good work environment for people of all sexes, races, orientations but we were walking the walk.

It didn’t matter

One day in 2012, a young woman sued us for hostile work environment, battery, sexual harassment.  When we didn’t pay her off, she and her lawyered talked to the press. Anyone who looked at the details honestly knew it was ridiculous. But it didn’t matter. 15 years of good deeds and being painfully honest publicly meant nothing.  Even though I publicly stated, early on, that we did nothing wrong and that the claims were frivolous we didn’t get even the slightest benefit of the doubt from the so called “social justice warriors”.

Instead, I was subjected to two years of hell. And even after we won the case and the plaintiff issued a public apology, we still have people who consider the mere allegation to be enough to undo decades of actual deeds in support of women in game development and providing a good working environment.  None of that mattered.

And you want to talk about death threats? Try getting ones that include a picture taken by someone from the street in front of your house with an explicit promise to sodomize your child.  My crime? Oh that’s right, being falsely accused of sexual harassment. That’s all it took.

And people wonder why I have such a militant attitude. 

So you tell me, who’s the hate group?

Update:

Ever noticed no one brings up the “battery” part when they discuss that lawsuit? That’s because that was so absurd that no one would even mention it because it was so credibility destroying. And they were right. But by not mentioning the “battery” charge they didn’t give the full story. Imagine how people would have viewed the credibility of the suit if were were accused of “battery. I suspect people would have taken the whole thing with a few grains of salt.

Ideology free hiring takes care of itself

Published on Tuesday, December 30, 2014 By Brad Wardell In Business

Our company is relatively small in size.  In total, we have less than a hundred people. And yet, our software is used by millions of people and we produce many new pieces of software a year.

When we do press tours of the company, it inevitably comes up, how do we do it?  The #1 answer is: Very low turnover.  It’s absolutely essential.  Someone whose been at their job for 10 years is far more productive than someone who is new, even if that person has industry experience.  There’s just no substitute for low turn over when it comes to a successful, productive company.

What are some ways to get low turn over?  Here are a few things we’ve done:

#1 Ideology free hiring

While we do care a lot about how well people will get along with each other, we otherwise strenuously make sure that there is no discrimination in how we hire.  This is one of the reasons why I am very skeptical about people who talk a good talk about “social justice” yet work in offices of all white males. 

As someone who is quite vocally critical of “social justice warriors” a lot of my contempt for them is the hypocrisy.  I am amazed at the glass houses some of these guys throw their stones from.  It’s been mighty tempting to out some of these places where they rail against “misogyny” and yet can’t seem to hire a diverse staff.

Let me give you Stardock’s senior staff:

  1. Me (male)
  2. COO (female)
  3. GM (female)
  4. VP: games (male)
  5. VP: bizdev (male)
  6. Controller (female)
  7. Dir: Platforms (male)

That’s a 4 to 3 ratio.  But it doesn’t stop there.  Whether you walk into the game studio or the software studio, you will find a diverse environment of people (men, women, all races, all orientations, etc.). 

And mind you, we don’t try for this.  This is just what happens when you hire without caring about about pigment and parts a human have. 

The reason this is important is because everyone knows they’re there because they’re the best and brightest we could find.  It’s not because they went to the “right school” or because they were “buddies” with the right people or have the “correct” politics.  People knowing that merit is how they got there goes a long way to helping morale.

#2 Make it a healthy environment

We have an on-staff nutritionist and separate fitness trainer.  Now, if you’re in your early 20s, this might not seem like a big deal.  But as you get older, people become keenly aware of how unhealthy our type of work can potentially get.  Plus, it sends a definitive signal to the team that they matter to us. A lot. 

I don’t give much credence to slogans like “Our employees are like family”. I hate that kind of empty rhetoric.  People make judgments based on deeds, not words.

 

#3 Job Security

We really really don’t like to let people go.  We have laid people off before and we will lay people off in the future. It’s inevitable. Projects fail. The economy changes. 

However, knowing that your company will do everything in their power to avoid it means people are willing to make long term commitments to that company which reduces turn over.

One of the things Stardock did in the past couple years was created what is called a PEO (Professional Employment Organization).  What it is, in effect, is a company within a company.  Multiple Stardock partners now use this PEO (so it’s not just Stardock, it’s Mohawk and Mothership and Oxide and other companies as well).  If a project finishes and the next one won’t be starting right away those resources can be shared with another company. This largely eliminates the issue of hiring up and firing down when projects finish.

Companies that make job security a priority will inevitably retain staff better.

 

#4 Mutual respect

I offend people online all the time. I always have.  I don’t intend to. But there is an expectation that CEOs will behave “professionally” when interacting online.  This is a foolish expectation because it just means the CEO is lying to you about what they really think. 

The same is true internally.  No one ever doubts my opinion on anything.  That’s not to say I’m rude and blunt in person. When talking to people, we have the luxury of back and forth and the opportunity to have a little tact. Winking smile 

Transparency vastly reduces miscommunication internally. Now, understand, written communication is a trickier thing. When someone gets offended by something I write online it is often the result of interpreting words that might have been intended differently. Hence, when people talk to each other, in person, the intent is much clearer and thus feathers are rarely ruffled.

The same holds true the other way. People talk to each other, their managers and myself in an open environment.  That doesn’t mean people always get along, of course, but it greatly reduces office politics when people feel comfortable and safe speaking their mind.

I consider it my job to make sure people’s concerns are met.  That might mean making sure someone gets a lamp for their desk or that a new server gets expedited. 

As the CEO, my job is to serve my colleagues.  I don’t do this out of any sense of morality or ethics. I do it because that’s my job.  To put it another way, it’s also my job to serve our customers because they pay my salary.  I can’t do that without the effective support of my team.

Final thoughts

If I could sum this up it would be this: I trust rational self interest to create a good working environment and fair hiring practices far more than I trust self-serving rhetoric.

739 pages 81 82 83 84 85 86 87 88 89 90 Next