Brad Wardell's Blog


More betas coming tonight..

Published on Thursday, March 24, 2005 By Brad Wardell In Galactic Civilizations II

We are working on a couple more builds for tonight to put up based on initial feedback and our own experiences.

Here are the things we've found already:

1) Playing as certain races can cause crashes.

2) If you have DirectX 9 but not DirectX 9c, the game will crash on start-up (you WILL need DirectX 9C installed, but we need to provide a dialog to tell you that).

3) Ships not showing up in the start port thingy to launch (i.e. you build a ship, you can't see where to launch it)

4) Saved games not reliably loading (unitiialized error that in debug mode works fine naturally).

And a bunch of other little tweaks.

We just wanted to get things up there so that you guys could start downloading the stuff. Because of the new Stardock Central, you only have to update what's changed which should be quite small.

Beta 2: Documentation

Published on Thursday, March 24, 2005 By Brad Wardell In Bug Reports

We don't have a formal manual written on the game.  You can, however, still make use of the Galactic Civilizations I manual to get some of the basics: https://www.galciv.com/download/gcmanual_pdf.zip

Send SmartException reports to: [email protected]

Setting up a game: Beta 2

In Galactic Civilizations II you start a new game by choosing "New Game":

Most of the other options aren't in though we do have load and save games functioning in theory.

The next step is picking your galaxy size:

This second screen isn't really hooked up other than letting you pick the size of the galaxy.

 

Then there is picking who to play as.  This is a new screen over GalCiv 1. In GalCiv 1, you had to play as the humans.  Now you can play as anyone.  But it's still pretty primitive and playing as a custom race is untested and probably doesn't work.

The next screen is picking your opponents:

This screen really isn't doing much yet. You can double click on a portrait to select them. This screen will be going under the knife soon.

Once you hit next, you'll get the game creation dialog which can take awhile. There's a LOT more to generate this time than in the first one because your planets are unique for the most part.  In GalCiv 1, there were only 21 planets total. Now, there can be thousands of different planets.  The bigger your galaxy size, the longer it'll take.

You're in the game..

Once you're in the main game, you should get the background music (let us know if you're not). The default viewing angle is top down.  You can switch your viewing angles by hitting the F1, F2, F3, or F4 keys. For example, here's the same thing but having hit F2:

If you have a third mouse button you can mess around with the view by holding it down and dragging around the screen. You can use your mouse wheel to zoom in and out:

 

If you zoom out enough (mouse wheel or minus key) you will go into Strategic Mode.

 

You do start out with a single planet that is yours. It's the one with your logo on it:

If you double click on it, it will take you to the planet management screen.

The Planet Manager

On this screen, you can see the USEABLE parts of the planet.  This is one of the big changes from the first game.  In Galactic Civilizations II, the planet class determines how many useable tiles there are. An earth-like planet is now a class 10 planet (instead of 16 in GalCiv 1). 

How you produce things are different now too.  Population growth is limited to the amount of food. You have to build farms on the planet.  Unfortunately, this part of the screen hasn't been fleshed out in explaining what they do so here's the info:

The basic farm will feed up to 3 million people. The basic factory will provide up to 10 shields of production. The basic research center will produce 5 shields of research.  But that's their theoretical maximum. How much they actually produce has to do with your spend rate and what % of that spending is going towards military, social, or research.

So if my spend rate is 50% and 40% of my spending is going towards military spending, then the factory is immediately cut producing 5 shields and then 2 of those shields will go towards military production (building ships).

This screen will be undergoing some changes. Right now, it's a full screen, it may eventually be tweaked so that you can change spend rates and such right from the screen. We're still playing around with this.

When you choose to build something, it goes into the build queue and the selected tile will be changed to an unused one.  You can queue up all your building projects right away.  As new technologies come up, you will be able to upgrade your buildings to them.

Important note: We are tweaking the numbers and such on this a lot so please don't judge the "fun" level in the game yet as a tweak in build times and make a huge difference in the pacing of the game.

If you have a star port, you will be able to build ships by clicking on the button at the top right.

The Star Port & Ship yard

The star port screen will allow you to choose which type of ship to build. This screen still needs quite a bit of love.  But essentially what you do is pick the ship you want and press the build button.  You can ignore the purchase buttons as they aren't working quite right yet. Purchase will allow you to spend a bunch of money right away in order to get the ship build immediately.

On this screen there is a Shipyard button. This will take you to a screen where you can design your own ships:

On the Shipyard you can design your own ships or upgrade existing ones.  Eventually, what will happen is that if you upgrade ships, existing ships will be upgraded to them as long as they're in your territory but there will be a refit time and cost.  Ships not in friendly territory will not be upgraded and will be given a legacy class name based on the previous class.

Let's try building a new ship.

First, you have to decide what size ship you want.  By default, most races can only build Tiny, small, and medium ships.  Some races can't even build medium ships to start with. This screen will be undergoing quite a bit of changes over the months btw.

Each race gets 3 types of hulls for each category of size. Let's try building a small fighter.

So I have picked a small hull.

Now I'm going to add some "Extras" to it. Extras are essentially eye candy so that you can make your ship look really unique.  They don't take up any space, they're just aesthetics.  You can add as many as you'd like to any of the "hard points" (the red dots that appear).  You can hold down the right mouse button to rotate around the ship to get a good look at things.

Just click on the item you want and move your mouse (you can drag and drop it or just select it and move your mouse over without holding the mouse button down, up to you). If you make a mistake, just go to the list of add-ons and drag it off:

Besides being able to use the right mouse button to rotate the ship (and the mouse wheel to zoom in and out) you also have a control panel to do that:

The next step is to add engines to your ship. At all times you can see the current status of your ship in terms of cost, hit points, speed, range, etc. Engines make your ship go faster. There are various kinds of weapons that affect 3 types of attack: Beam attack, missile attack, and mass driver attack.  To counter these types of attacks there are shield defenses, anti-missile defense, and armor.   The hull sizes determine how much space the ship has and the things you put on the hull use up that space.

You can also double-click on a component and the game will attempt to intelligent place your part onto the ship.

Make sure you add sensors and some life support to your ship or else it will not be able to see very far and won't be able to go very far from friendly territory.

So I now have a fighter:

Press the Save button and it will bring up a dialog for you to name your ship and from then on it'll appear in your ship list.

Colonizing

Ships with colony modules and colonize new worlds. Players start out with a single colony ship and a single survey ship which can explore anomalies.

You can put your mouse over a planet and a tool-tip will appear to tell you what class planet it is.  You can also select the planet and it will also tell you what class planet.  Most planets are class 0 which means they cannot be colonized at all. But some planets are class 1 through 9 which means they're pretty awful (i.e. THIS IS SETI ALPHA V!) but you can colonize them at least.

So to recap: Class 0 planets are bad. Class 10 planets are good.  Once you colonize, you'll start up with relatively little in resources. You'll want to beef up what the planets do.  As you discovery new technologies, you'll find there are all kinds of cool things you can build on your planets.  Of course, those cool things are naturally not available in the beta.

Blowing stuff up

Okay, remember the fighter we made? Now it's time to build it and launch it. I just need to wait for the crappy AI (ahem) to build something to blow up.

In Galactic Civilizations II, your weapons are divided into 3 types of attacks and 3 types of defenses.  When a ship attacks another ship, each weapon type will fire for a random amount from 0 to its rated value. The defender will then roll between 1 and its rated defense type if it is the corresponding defense (beam weapon vs. shields for instance) plus it will add the other two types of defenses and divide them by 2 and then select a defense value between 0 and that reduced defense value. Eventually the hitpoints on one of the ships will drop below 0 and the ship is destroyed.

Invading new worlds

You can build transports pretty early on.  Since the AI doesn't really do anything at this point, invading planets is a fairly straight forward thing. You just take your built transport, send it to a defenseless planet (a planet without a shield in front of it which at this point means any alien planet) and put the transport on it (i.e. right click on the planet).

What's next

Over the coming weeks we'll start to flesh out some of the game play, fix bugs, and update these docs.

Sending Feedback

Participate on the forums here: https://www.galciv2.com/Forums.aspx?ForumID=274 to give us feedback.

Galactic Civilizations II: Beta 1 Notes

Published on Thursday, March 24, 2005 By Brad Wardell In Bug Reports

Galactic Civilizations II: Dread Lords

Beta 1 Notes.

Introduction
The goal for this first beta is largely compatibility.  Galactic Civilizations II has a very new 3D engine that takes advantage of the latest features in 3D hardware. While we have attempted to test it on a wide range of video hardware, there will be video cards that it won't work on.

In addition, we are looking for general performance feedback. For most people, Galactic Civilizations II should play vastly faster than Galactic Civilizatiosn I did on the same hardware.  Our base test machine here is a Pentium II 600Mhz machine with a Geforce 2 MX card. And on that machine it was much faster than first game was.

We are also testing the content delivery system -- TotalGaming.net via the Stardock Central app.  THis beta will allow us to see how well the updated system works and force us to clean up what files we include (though there will probably be a lot of GalCiv 1 junk in there).

We will also be looking to see if beta testers will be able to successfully change the screens on their own.  In the GalCiv2\Screens directory there is this:

And in there are a bunch of .dxpacks.  These are read in by DesktopX which you can download at www.desktopx.net.   Next month we will be building up the Downloads are so that you guys can upload your own takes on various screens.

Special Screen Feedback
There are a few screens we do want to get some feedback on:

  • The Ship Design screen. We have struggled on this screen because we want it to be powerful but we don't want it to be hard to use.
  • The new technology screen. Same sort of thing.
  • The new colony screen.

 

Notes for Galactic Civilizations I players:
Currently we require planets to build a star-port in order to build ships.  We haven't decided whether we're going to keep this mechanic or not.

But it does have the effect that building ships is no longer an intregal part of the planet screen. Instead, ship building is its own screen. 

We will be working on finding ways to improve usability.  We don't want people to have to click too much on things so we will try to find ways of being able to quickly build things without having to click on various screens.

 

What Beta 1 is not about
This beta shouldn't be used to judge the "fun" ness of the game.  Or even the graphics of it.  For instance, we intentionally took out the textures on ships. 

Game balance isn't in there and there are lots of features not in.  Examples:

  •  The AI doesn't really function yet.
  • There's no star bases.
  • The technology tree is only at the very start
  • There's hardly any planetary improvements
  • There's no diplomacy or trade
  • The setup screens are not really hooked up yet or fully designed yet.

In short, the beta isn't really playable as a game yet. It's purely to see how we're doing in terms of compatibility, performance, and some of the UI concepts we're working with.

This game state is basically where we were 6 months before we shipped Galactic Civilizations I. Except this time we have 10 months to polish.  So those of you who were in the Galactic Civilizations I beta will hopefully be pleased with how far along things are given how much time is left.  Those of you who haven't been in one of our betas yet will likely be horrified at how much is left to do and that this would even be called a "beta" instead of an "alpha".

We're very excited to hear what you guys think about it. We hope you like the direction we're going.

Hours away..

Published on Thursday, March 24, 2005 By Brad Wardell In GalCiv II News

Sometime between now and midnight EST the beta of Galactic Civilizations II will be available via Stardock Central. 

Those of you who have pre-ordered the game will receive an email with the appropriate download links and serial number to install it.

Linspire vs. Windows

Published on Wednesday, March 23, 2005 By Brad Wardell In WinCustomize News

While Novell is arguing that it's next desktop Linux will be better than Windows, Linspire, the user friendly version of Linux, is available and early reviews look promising.

That said, one has to wonder if Linux advocates were asleep during the 90s when IBM's OS/2 Warp wasn't just slightly better than Microsoft Windows 3.0, 3.1, and 95 (i.e. undisputeably) but massively better but still lost.  OS/2 lost because IBM couldn't get major PC vendors to pre-load OS/2 instead of Windows.  And it's unlikely that Linux will ever have the superiority over Windows that OS/2 of 1994 had over Windows at the time.  But good luck..

Bullies have to be confronted

Published on Wednesday, March 23, 2005 By Brad Wardell In Parenting

My second-grader son is having bully problems. He came to me tonight crying that this kid in school keeps punching him, sometimes in the head.

I asked him if he had gone to the teacher about this yet? He said he had and that the teacher made the kid apologize for hitting him. But the next recess, the bully was back at it, hitting my son.  He just didn't know what to do.

So I told him: If he hits you again, you need to be prepared to beat the tar out of him. Don't start the fight. But make sure you finish it.  The nose is a tender area on a small child. If the bully is hitting you in the head, you hit him back in the face. Punch him hard in the nose until he's not able to hit you anymore.

His reaction was that he didn't want to get in trouble. That in school, teachers send anyone in a fight to the principal's office.  I told him, "That's right. They will send you there. And they will call us and then your mom and I will tell him that we told you to beat the tar out of this kid. And we will remind him that if the school can't control the bullies, then we will teach our son how to defend himself effectively."

We also assured him that as long as he is defending himself -- not starting the physical fight -- that we will stand by him.  He's a good boy. A gentle, sweet, kind boy. But he has to learn that bullies aren't to be placated. They are to be confronted.  If the bully is too big for him to handle, then he needs to bring it to a teacher's attention again or bring it to us and we will intervene. But we won't intervene if he isn't willing to defend himself from bullies that are his size or smaller. He has to fight his own battles. And we will support him on it, regardless of what the school says.

Anyone who says that if you pretend the bullies attacks don't bother you you will be fine is a fool. Bullies are not to be ignored. They are to be confronted and defeated.

Opinionated CEOs

Published on Wednesday, March 23, 2005 By Brad Wardell In Business

Recently there's been an interesting discussion on WinCustomize.com about Stardock and PR. Simply put, Stardock's software is outstanding, but my outpsoken nature creates a lot of detractors for the company.

If you think I'm in your face in politics or whatever here on JoeUser.com, you should see me in the "customization community".  I'm very opinionated and vigorously defend our software.

Long ago, when Stardock was just a few people, the "customization community" consisted of just a couple of tiny websites. That is where I hung out.  I was part of that community.  It was a tiny group.

But as changing the way Windows looks and feels has grown into a market of millions of people, my "omnipresence" has irked some people.  Someone on some site trashes one of our programs, I'll challenge them.  To me, it's natural, I've always done that.  But now that it's a big market, new people find this off putting that the "CEO" of a company is out there in the trenches slogging it out with some troll.

And that's putting me at a cross-roads.  On one such site, I'm the oldest active user on the site. New users don't realize that once upon a time, these websites were just a few guys hanging around debating various things.  Now these same sites seem huge and entrenched and so my presence seems heavy handed.  So do I continue to hang out on such sites, defending our products, slogging it out with the trolls, or do I hang out purely on our sites and let the "PR" people gently defend our stuff and participate?

Not that I'll give up my opinionated, off-putting, arrogant, obnoxious blogs on non-business related things here on JoeUser. I consider that part of my compensation package.

DesktopX: Scripts that create and clone objects

Published on Wednesday, March 23, 2005 By Brad Wardell In DesktopX Tutorials

Alberto Riccio, lead developer of DesktopX, has written this tutorial. DesktopX 3 has the ability to create and clone objects.

Dynamically create and clone objects

  • Start downloading the demo object here and import it as objects inside your theme.

  • You'll see two buttons and another textured object with two text children inside it.
  • The green button adds a new object (including its children) and stacks it below it.
  • The red button removes the last added clone.
  • This shows the preferred method to clone or "create" object. It can be seen as "creating" in that you are basically providing a "template" objects+children you want to create at runtime. This is a "template" in that it can well be hidden (Visible = No in Relation panel), but is used as prototype to create the actual object. It is much simplier and faster than actually create each object, children and all its state properties at runtime via code (and it is not currently possible).
  • The prototype object is the first one in the picture and it is left visible for simplicity.

Cloning the prototype composition

The interesting part is inside the green button script:

Sub Object_OnLButtonUp(x,y,
If b = False Then
  Dim i, strname
  i=0
  Do
    i = i+1
    strname = "clone_base" & i
  Loop until DesktopX.IsObject(strname)=False

  DesktopX.object("clone_base0").Clone strname, DesktopX.object("clone_base0").left, _
        DesktopX.object("clone_base"&(i-1)).bottom+10
  DesktopX.object("clone_child_A").Clone "clone_child_A" & i, _
        DesktopX.object("clone_child_A").left, DesktopX.object("clone_child_A").top
  DesktopX.Object("clone_child_A" & i).Parent = DesktopX.Object("clone_base" & i)
  DesktopX.object("clone_child_B").Clone "clone_child_B" & i, _
        DesktopX.object("clone_child_B").left, DesktopX.object("clone_child_B").top
  DesktopX.Object("clone_child_B" & i).Parent = DesktopX.Object("clone_base" & i)
End If
End Sub

The first piece of the script searches for an available "name", it just calls DesktopX.IsObject to know what existing clones already exist and find a "free" name.

Then, the steps are basically:

  • Clone the parent
  • For each children
    • Clone the children
    • Assign the newly created parent to the newly created children

Hopefully, the next DesktopX versions will provide handier methods for cloning complex compositions in one shoot, however this is the clean way to do it now.

Destroying clones

The code for removing a clone is similar and is inside the red object:

Sub Object_OnLButtonUp(x,y,
If b = False Then
  Dim i, strname
  i=0
  Do
    i = i+1
    strname = "clone_base" & i
  Loop until DesktopX.IsObject(strname)=False


  If > 1 Then
    DesktopX.object("clone_child_A" & (i-1)).delete
    DesktopX.object("clone_child_B" & (i-1)).delete
    DesktopX.object("clone_base" & (i-1)).delete
  End If
End If
End Sub

Again, it is first searching for the last created clone.

The second part of the code deletes it:

  • First it deletes each child, then it deletes the parent.
  • If objects are nested in a more complicated way, the script should first delete the most inner children, to avoid that one remains unparented in the process.

 

DesktopX: Creating a simple clock widget

Published on Wednesday, March 23, 2005 By Brad Wardell In DesktopX Tutorials

Alberto Riccio, the lead developer of DesktopX 3 has written this great little tutorial on how ot create a simple clock widget for DesktopX.

How to create a really simple clock widget

  • Make sure DesktopX is in authoring mode. Right click the DesktopX systray icon. If you see "Switch to Authoring mode", then select it.
  • Right click again the DesktopX systray icon and select "New Object".
  • A new object is created and the Properties panel for it is opened.
  • Go to into the States tab and changes the Appearance type to Text as shown below.

  • Tweak the font and text options as you wish.
  • Go back into the General tab and click New in the Script section.

  • The DesktopX Script Editor opens.

  • Now copy and paste the following code into the editor:

'Called when the scriptis executed
Sub Object_OnScriptEnter
Object.SetTimer 444, 1000
End Sub

'Called when the script is terminated
Sub Object_OnScriptExit
Object.KillTimer 444
End Sub

Sub Object_OnTimer444
Object.Text = Now
End Sub

  • Close the editor. Click Ok in the Properties panel.
  • The object should appear similar as this one:

  • Sure, there is more work to do regarding the formatting, but this is only a simple tutorial.
  • You want now turn it into a widget.
  • Right click on it and select Export...
  • Choose "Export as a widget". Click Next.
  • Enter some basic information like Widget name, Author and Accessibility.
  • Click Next and browse the Save as File name, then click Finish.
  • The beauty of Widgets is that they are stand alone applications, so they can be run without DesktopX running in background. You only need to have DesktopX installed. Plus they can be optionally accessed via System tray or Windows taskbar.
  • Close DesktopX now.
  • Run the newly created EXE.
  • You can see the widget appearing in the very same location.
  • You can right click and access widget options.

  • Most options should be pretty straightforward, however they are fully covered into the DesktopX documentation.