Brad Wardell's Blog


Demigod v1.19 gets updated

Published on Wednesday, October 14, 2009 By Brad Wardell In Demigod Journals

As some may recall, back in August we decided that v1.2 was going to be a much bigger project than originally believed and thus would be released in parts.

Those parts included (but were not limited to):

  • Replays
  • New AI options
  • In-lobby stats
  • Balance tweaks
  • Modding
  • Various bug fixes

Since then, the replays have been added, there’s been various balance tweaks, various bug fixes and today the in-lobby stats have been added.

That still leaves quite a bit of work left to be done before we’re ready to call it v1.2 – and that’s not including the two Demigods in development.  Modding still needs to be finished, the modding SDK is still in the works, there’s some balance and bug fixes that have been requested. Gas Powered Games is working on all of them and then some.

We have internally a beta with the new demigods but they are works in progress.  GPG is hard at work perfecting them.

In the meantime, I’m pleased to show the new Demigod in-game overlay with the stats.  Developed by Stardock, the Demigod in-game overay is designed to let us extend the in-game experience without having to change the actual game itself. To do this, I asked the WindowBlinds team to find a way to inject what would become the overlay into the game and then skin it so that it visually was compatible with Demigod. It’s not actually part of Demigod but looks like it.

Then, I asked my lead engine developer on Elemental to work with the Impulse team to get data about each player and display it inside Demigod as if it were part of the game natively.  The result is pretty cool I think and something that I think can be used on future games.

The overlay for gamers…

As a gamer, the overlay has some pretty significant benefits. 

First, you can make far more balanced teams online because you can see the winning percentages and number of games played. 

Second, you can tell what % of games a person completes. We make no judgment over why someone leaves a game early, only what % of the time it happens.

Third, you can see how familiar the players are with other players – how many of their recent games  have been played with other people in the game. This is a big deal since many players get frustrated to be randomly put together on one team and be facing 2 or 3 guys who are up on ventrillo as a pre-made team.

And last, you can read notes you  make on the player. You can enter notes about a player by clicking either on their profile on the Demigod forums OR going to the pantheon.  I make notes by going to the pantheon, finding my games and then making notes from there.

Screenshots:

image
If you click on the player info area in the lobby you will see this window come up.

 

image
If you click on the info button, you can see the stats on that player as well as how familiar they are with the other players and any notes you might have made.

 

image
From the Pantheon, you can look for yourself and games you’ve played and make notes on players for future reference.

 

image
The last tab on a player is where you can enter notes that you can then view in game for future reference.

 

We hope you guys like this update as much as we enjoyed making it.  I don’t have ETAs on the next updates yet but I am in regular contact with Gas Powered Games and new builds come into our internal QA process every few days.

Have fun!

Not having fun with Python

Published on Tuesday, October 13, 2009 By Brad Wardell In Elemental Dev Journals

Once hooked in, Python is very nice for coding.  Where it is NOT nice, so far at least, is the work having to expose new APIs to it.  I must be doing something wrong because it seems like there’s a lot of work to expose methods and such.

And worse, even once I do that, IDLE (the Python shell I’m using) doesn't seem to have any intellisense for the imported APIs and classes.

WindowBlinds 7: Old Skins get new tricks

Published on Tuesday, October 13, 2009 By Brad Wardell In Object Desktop blogs

Vector-Cell is one of my favorite skins of all time.

Thanks to WindowBlinds 7, it gets a new lease on life…

 

image

Texturing the title bar…

image
Look how good the start menu (this is the Windows 7 start menu) is even though this skin was made back in like 2003.

Show us your Windows 7 desktops

Published on Tuesday, October 13, 2009 By Brad Wardell In Personal Computing

image

Here’s my desktop.

Right now running very clean. Windows 7 64-bit, WindowBlinds 7 running a textured Vector-Cell skin, DeskScapes running with a texturized wallpaper, and Fences simply hiding all my desktop clutter for a nice clean desktop.

WindowBlinds 7: Skinning in an Aero world

Published on Tuesday, October 13, 2009 By Brad Wardell In Object Desktop blogs

WindowBlinds 7 (currently in beta on Object Desktop) is the latest version of Stardock’s flag-ship desktop enhancement utility. It is the program that introduced GUI skinning to Windows users back in 1999.

With each new version of Windows, the program has been updated to take advantage of the possibilities of that version.  Since the release of Windows Vista with its “Aero” UI, users have found Microsoft’s new user interface motif both beautiful and frustrating.  Beautiful in the sense that it’s a glass look and feel but frustrating in how inflexible it is compared to say Windows XP’s UI.

With that in mind, let’s walk through the common questions Windows 7 users might want answered:

Issue: Can my XP Msstyles work on Windows 7?

Yes.

In fact, there’s a program that will convert XP msstyles to WindowBlinds:

Direct link - https://www.stardock.com/spencer/misc/MSImport.zip

Here’s a copy of Thallos by Kol, one of the most popular msstyles of all time…

2009-10-13_1830

This is running on Windows 7.

 

Issue: I don’t like WindowBlinds skins, they’re “ugly”. Aero rulez!

I’ll side-step the debate on what determines “ugly” and focus on Aero.  WindowBlinds 7 introduces a new format called UIS0. The idea is to be able to apply different types of textures and skins to Aero itself rather than completely remake the UI.  There is also a new feature in WindowBlinds 7 that allows users to texturize existing skins. 

As a result, even if you just like Aero or Aero-like skins, you can take those and turn them into whatever you want:

image 
Changing colors in Aero skins.

image

Changing textures in Aero skins.

image

As a result: Even if you don’t even use the thousands of other skins available to WindowBlinds, the new features in WindowBlinds 7 give you an infinite number of possibilities.  The Start button can be raised or centered.

In fact, let’s compare the above screenshot to trying to do the same in Windows 7 using the included options:

image

The above is the best one can do with the built in customization options in Windows 7 when trying to make Aero “dark”. 

 

image

Obviously something like the above is impossible with the built in options in Windows 7.

Issue: What about new skins for WindowBlinds 7?

There’s lot’s of new skins in development specifically for WindowBlinds 7 too.  Here are 3 that are already done.

image
WindowBlinds: Altitude

image 
WindowBlinds: Corporate (texturized)

image
WindowBlinds: Zenith (texturized)

 

As the release of WindowBlinds 7 gets closer and additional skinning features come online, more skins will be released both by Stardock Design and the community.

Getting WindowBlinds 7

If you want WindowBlinds 7, right now the only way to try it out is via Object Desktop (www.objectdesktop.com). 

Stay tuned!

Object Desktop: Like getting the next version of Windows today

Published on Tuesday, October 13, 2009 By Brad Wardell In Object Desktop blogs

Object Desktop has been on the leading edge of desktop technology since its initial release in 1999.  Features that are considered “standard” today showed up on Object Desktop first – often years in advance.

Years ahead…

Here are a few examples of innovations that showed up first on Object Dekstop:

  • ZIP files behaving like folders
  • alpha-blended shadows under windows
  • desktop widgets and gadgets
  • GUI skinning
  • scripted desktop automation
  • animated wallpaper
  • desktop icon organizing
  • digital distribution clients
  • changing all the windows icons
  • and much more

Some of the things mentioned above probably seem impossible that one program suite could be where so many common technologies first showed up.

Example 1: digital distribution clients

For example, digitral distribution clients.  Today, with programs like Steam and Impulse, not counting all the other programs these days that update themselves (Windows Live updating, Windows update, Adobe updater, etc.) that the first program suite to do this was Object Desktop back in 1999 with “Component Manager”.  It led the way in showing how you could release software that could be continually enhanced seamlessly.

Example 2: Shadows, Widgets, and more

While Macintosh users were claiming Microsoft “stole” the idea of gadgets from Apple or MacOS developers, it was Object Desktop that first introduced users to user-created scripted objects (widgets) back in 2000 – 3 years before it showed up elsewhere. In addition, such basic cosmetics as shadows under windows first became available to Object Desktop users back in late 1999 – years before it was available elsewhere.

Example 3: GUI Skinning

Windows has come a long way since the look of “Windows classic” but even on Windows 7, the mechanism for “skinning” the Windows GUI was modeled after Object Desktop’s WindowBlinds technology.

…And much more…

Of course, there are also plenty of technologies that remain exclusive to Object Desktop users.  For instance, the ability to change all your Windows icons on Windows XP, Windows Vista, or Windows 7 remains exclusive to IconPackager (part of Object Desktop).

The ability to have animated wallpapers on Windows XP, Windows Vista, and Windows 7 remains something that only DeskScapes can do (part of Object Desktop).

And of course, the recently released “Fences” program (part of Object Desktop) is the first and only program for Windows that enables users to organize their windows icons conveniently or simply hide them all in a quick double-click on the desktop.

Seeing is believing

To see why power users have made Object Desktop the first thing they install on their PCs you have to look at some of the things it does today:

 

image

With WindowBlinds 7, you finally gain full control over the Windows GUI.  There are literally thousands of free skins available for download online that can customize Windows a bit or completely transform the GUI to look like another OS or something completely different.

 

image

DeskScapes 3 isn’t just about animated wallpaper anymore. Now, you can take your existing wallpaper and apply a variety of effects for it. This kind of obvious enhancement to Windows is why Object Desktop has remained so popular. Object Desktop isn’t simply about doing cool stuff to your computer but extending Windows in ways that seem obvious in hindsight.

 

image

The Tweak series of utilities (TweakVista and Tweak7) give users streamlined access to underlying capabilities of Windows that normally would require scouring the net for registry secrets.  For example, Object Desktop users were able to alter their UAC behavior on Windows Vista in ways that are now only now coming to Windows in Windows 7 (which means in Tweak7 we’ve upped the features further).

 

image image

Impulse is the descendent of Component Manager (right image).  While most people were updating programs by sifting through websites looking for “patches” Object Desktop users simply loaded up Component Manager to see what new cool stuff Stardock had developed.  Impulse has been steadily building on to these possibilities (which we’ll talk about more at the end of this document).

 

image

Fences, possibly the hottest new desktop utility to be released in the last couple of years.  Screenshots don’t do it justice.  Fences Pro, available only for Object Desktop users right now, has an additional set of amazing features such as auto-fences and more.

 

image

IconPackager is another program that seems so obvious that one wonders why there aren’t dozens of programs like it.  But it remains the only program that can take a package of icons and apply them to any version of Windows.  The IconPackager format has become the defacto standard for users to pass around sets of icons.

The latest version of IconPackager (always on Object Desktop) lets users change their Windows 7 icons and modify live folders.

 

image

WindowBlinds can apply skins that were made for one version of Windows onto Windows 7 and it will automatically adapt the skin on the fly.

 

image

The latest version of WindowBlinds can also add textures to the UI.  Aero never had so many possibilities.

 

image

WindowBlinds also lets you have explorer backgrounds

image

SkinStudio is the only program available that lets users create their own GUIs for Windows XP, Windows Vista, and Windows 7.

The Future…

Meanwhile, with the release of Windows 7, Stardock’s labs are full of new features to be added to Object Desktop to take it even further into the future.  Power users will soon be able to greatly extend their windows experience in all kinds of ways that will extend their capabilities.  With more and more users having high end 3D hardware, multiple PCs they have access to, higher resolution monitors, the possibilities are endless and you will find them on Object Desktop.

To learn more about Object Desktop visit www.objectdesktop.com.

Elemental Modding: Maps, Continents, Environments and Terrain

Published on Monday, October 12, 2009 By Brad Wardell In Elemental Dev Journals

Having spent the weekend modding up Elemental I was able to find some weaknesses in our data driven system that I think we need to address sooner rather than later. 

This technical blog will discuss how worlds are made using the Elemental engine.

Maps

Map data in XML (e.g. mapsizes.xml) defines:

  • Name of the map type (e.g. “Really big”)
  • Map size in tiles (100,25)
  • A default amount of land vs. water ratio (that can be adjusted by the user) as a % (e.g. 75% water).

Map Style

Map Styles (e.g. mapstyles.xml) determine how land is prepared for the map and includes:

  • Name of the style (e.g. “islands”)
  • Seed range (e.g. 5 to 7) to determine the number of seeds to start from
  • Number of continents range (e.g. 5 to 7) to determine the number of total continents there should be at the end.

Environments

The environments (e.g. coreenvirnments.xml) controls where different types of terrain will ultimately be placed.

Examples would include arctic, temperate, tropical.

Environments would include where in the map they can exist (i.e. between 20% from the top to 40% from the top for temperate).

Terrain

Terrain is where things start to get very interesting and complicated.  Mountains, Swamps, Desert, Grasslands, Plains, Hills, and lots of different iterations of these would be types of terrain.

One would imagine inside of a coreterrains.xml things examples like:

Arctic_Hills which includes these controls:

  • What environment(s) it can be placed in
  • Its defensive value
  • Its movement value (1.0 for normal, 0.5 for 50% movement penalty, etc.)
  • Its Influence Type (e.g. “neutral”, “good”, “evil”, “smurfy”, whatever)
  • Its cloth map icon
  • Its 3D tile image (taken from tile editor)
  • Its rarity value (0 to 100%) – what % of the tiles are going to be seeded with this.
  • Its growth rate for N, S, E, W, NE, SE, SW, NW (i.e. growth.se 33.0  which would mean there’s a 33% chance that the tile to the SE of this seed will also be given this terrain type).
  • Its classification (forest, mountain, etc.) if there is something notable about this tile you can classify it (normally you wouldn’t need to do this but forests can be logged and you might want to have 20 different types of forests that all can be logged).

When two terrains compete for the same tile, the rarity value determines which one “wins” the tile.

Now, the reason all this is important is because we (Stardock developers and you guys) as a team are going to want many many months of monkeying around with this data.  We want people to be able to come up with not just “forests” in the generic sense but redwood forests, pine forests, deciduous forests, etc.  We don’t just want “plains” but a zillion different types of plains. 

On the cloth map, it’ll look pretty much the same.  But when we get to the 3D engine, this will matter because, over time, as people submit their own tile creations from the included editors, the worlds will continually get richer and richer and better and more interesting.

For example, in the beta you have right now, there are no hills.  As a modder, I should be able to add hills.  Hills are obvious.  I’m sure there are people reading this who have traveled and seen some great stuff that could be put into the game.

So that’s what’s been assigned out to get into by Beta 1D.

JoeUser traffic over time

Published on Sunday, October 11, 2009 By Brad Wardell In Blogging

image

You see the occasional spike here and there when we’ve gotten linked to on some story. I used to be a lot more aggressive about going out and getting linked to on some political article but now I’ve stopped doing that because people have become hyper-sensitive to political viewpoints (even my Facebook comments get turned into stories).  I suppose that’s the price of success – greater scrutiny.

JU used to get around 4,000 visitors a day (tiny) back in 2007.  Now it’s around half that.  So there is definitely a decline in JU traffic over time now that Stardock doesn’t promote JU anymore.

I mentioned back last year that I was going to focus more on JU as my personal blog site and catch-all for my articles to be filtered to the appropriate sub-site. So my Demigod journals or Elemental journals and such show up here but tend to be read more on say Demigodgame.com or SinsOfaSolarempire.com and such.

Modding on a Sunday night: Part 2

Published on Sunday, October 11, 2009 By Brad Wardell In Elemental Dev Journals

Our story so far…

Lest you think I’m some sort of shut-in. I really did go outside today. Cider Mill and then played with the kids.  So 2 hours spent moving around and the rest of the day in front of the computer.  That’s a ratio I can live with.

image
Only 2 broken bones…

Adding Technologies

Adding technologies to Elemental is still a work in progress because the research screen in Elemental is still a work in progress.

 

image
The UI needs some work…

So before we talk about modding the “tech tree” in Elemental we should probably talk about the concept behind researching in Elemental.

Elemental doesn’t have a traditional technology tree.  The idea here to have a lot fewer “techs”, each of which do something very very interesting in the game (as opposed to in GalCiv where you were researching “lasers IV”).

In Civilization IV getting a technology did something for you that changed the game and made it more fun but of course, once you have it, you have it.

So in an effort to have our cake and eat it too the idea here is that you get a technology and getting that technology does something “cool.”.  For example, researching “Adventuring” will unhide the dungeons on the map (well not right now, but it will eventually).  Researching mining will unhide metal ore you can mine. Researching education allows you to build schools in your cities, and so on.

But on top of that, once you have researched something, you can then keep focusing on that technology make it better than better.  So researching mining will let you mine metal. But you can also continue to research mining and will continually get tiny bonuses in your mining ability for as long as you want to research it. Hence, you get an infinite tech tree.

So here’s how it works right now:

image

We have a file called “CoreTechs.xml”

The file name is irrelevant though to the game – as mentioned previously, any XML file will be read in and parsed. It’s the keyword that matters. We could have made every technology its own file if we wanted (that would be a headache though for us).  But when the time comes and you want to start submitting your own mods, you’ll want to make sure you’re creating unique files and not uploading “coretechs.xml” or something.

Now, the highlighted parts are ones I have no idea what they do and no idea why they’re there.  I will ask about them next week.  The rest is pretty straight forward after a bit of experimenting.

First, you define the technology’s internal name. Then you have a display name and the image you want to use for it. 

Next, you then set up whatever types of pre-requisites you want for that tech. Right now, techs only require other techs as pre-requisites but eventually you could have all kinds of things required to research a given tech (maybe an ancient scroll you uncovered from an ancient ruin, maybe something your hero got on an adventure, maybe a random event, whatever).

The “value” part is how many research points it takes to get that tech.  By default (in beta 1B anyway) each citizen produces 0.1 research points per turn.  So if you make something cost 10 research points, it will take a down of 100 a single turn to get it (very easy).

Next is the tech bonus you define. This is your “infinite” research element.  It needs some work though still as this isn’t finalized.  But basically what it will do is define what sort of bonus researching that tech will provide your civilization.  So for instance, what it should do is that every 100 points you spend on “Farming” should give you a 1 percent bonus to your farming output.  But we have a “TechLevel” field that I suspect is going to go away and we won’t be displaying it as a “tech” on the screen since it’s not a tech, it’s a bonus.

More answers on modding

What will and won’t be possible in Elemental for modders is still really up in the air.  That’s why I’m planning on becoming an Elemental modder early on so that I can be making mods and push the engine early enough so that things can be changed in the engine.  A simple Temple of Apshai type mini-game using the Elemental engine and Python is going to be my test case (not for awhile mind you but hopefully before the game comes out).  That will give us all an idea of what is and isn’t possible.