Brad Wardell's Blog


Why does Elemental need a cool looking world?

Published on Monday, April 6, 2009 By Brad Wardell In Elemental Dev Journals

Kingdom_LowLevelBuilding_1 Midleavel_Farm_Test2

We mentioned in a previous entry that Beta 0 of Elemental will be able to be played on a cloth map.  Now to be clear, not all of the game elements will be able to be handled so abstractly. But enough will be that the basic game could be played on the cloth map.

But some users have emailed me asking why even bother having the zoom in map? And the answer is that a game, in our opinion anyway, is greater than the sum of its parts.  What we hope to make special about Elemental is that each game is YOUR world.

What do we mean by that? Well, at the cloth map level, you’ll be able to label the world as you see fit. Give deserts and swamps and forests names. It’s purely cosmetic but it’s about making the world yours.

When you zoom in, you’ll be able to see the effect you’re having on the world.  At the start of the game, the world is dead. You (and your competitors) are bringing it back to life after the Cataclysm. And how that world evolves depends on your actions.

The way we explain Elemental to some people is to ask if they’ve ever played Dungeons and Dragons. If they say yes, then we tell them that Elemental is the world you played D&D in except instead of being a party of adventures, you’re the sovereign of the kingdom that those adventurers were playing in – but the world is still just as rich and interesting as it was before. And to convey that, we have to let players get in close to see and care about that world.

SUPPORT: Solving Connectivity Problems

Published on Monday, April 6, 2009 By Brad Wardell In Demigod Technical Support

Most PC games are client/server. That is, someone creates a game and others join that game. The data then goes from you to the host (the server) and then back to the other players.  Sins of a Solar Empire is client/server.

In Demigod, it is peer-to-peer. This was necessary because it needed to have the least amount of latency possible since your moves are directly sent to the other players rather than to a server first.  Because the action in Demigod focuses a great deal on Melee in the third person (i.e. players can see their hits) a lot of traditional methods to mask latency aren't possible. Peer-to-peer reduces the problem of "lag".

The downside of peer-to-peer is that everyone has to be able to connect to each other. In a client server game, many people have heard someone say "I can join games but I can't host them."  In a peer-to-peer game, everyone is technically a host thus greatly increasing the challenge of connecting players.

The solution developed is known as CVP NAT, a new feature of Stardock's Impulse Reactor development library.

So what problems can people have?  Below are the most common issues:

 

  1. Windows may fail to create a local socket. There's a million reasons for this unfortunately and your options are to try to rejoin a game or try hosting the game instead. It's not terribly common but feels very common when it happens to you. It will be more common if you have an older router as we have learned that older consumer routers are more likely to be problematic when opening sockets.
     
  2. Your ISP is sending your messages with different IP addresses. This is common in Europe where people have DSL lines that have multiple IP and the router picks and chooses which IP to send things.  It can also happen for people who have multiple Internet connections going.  For instance, I have a Verizon 3G Internet connectiont that's always on. I also have a Comcast line on.  If I'm trying to play a game, turning one of these connections off will likely help.  At Stardock, we have a thornier issue -- we have 2 comcast lines in which our router picks the one with the most available bandwidth to send out a particular packet.  CVP NAT has been designed to deal with a lot of oddball issues like this but it's not infallible.
     
  3. Firewall. If youre firewall is blocking TCP or UDP packets, you won't be able to connect.
     
  4. Windows failed to configure a local socket.  This is another one of those annoying issues that can come up. It's similar to item #1.  The best way to reduce these kinds of problems is to use Skirmish or the Pantheon.  The "Custom Game" setup in Demigod is the most likely case this will come up since it requires multiple sockets to properly connect players.
TIP:
If you know what you're doing (and only if you know what you're doing) you can load a program that's in the bin directory of Demigod called ImpulseReactorOptions, set up the options there and then seperately go to your router and make sure those ports are port forwarding to the right machine.

To learn how to port forward, see this website: http://www.portforward.com/

To learn more about what ports to open see this document provided by the Monk (THANKS MONK!)

http://themonk.ca/Monk/Networking_and_DEMIGOD.pdf

 

Demigod: Inside the box

Published on Monday, April 6, 2009 By Brad Wardell In Demigod Journals

image

Pictured here are the contents of the Collector’s Edition which includes The Rook miniature (Collector’s Edition also includes the Demigod Desktop, and the Demigod soundtrack by Howard Mostrom) and the Demigod poster.

On the left you can see the standard retail Demigod box.  Now all we need is the gold DVD to go in there.

Tentative Elemental Development Schedule

Published on Saturday, April 4, 2009 By Brad Wardell In Elemental Dev Journals

For those of you who have been through the development of a Stardock developed or published game, much of this will be familiar.  For those of you aren’t, welcome!

Early next year we plan to release a new turn-based PC strategy game called Elemental.  Our games typically have 3 betas and then a private “gamma” and then release.  We use the beta to mean truly unfinished, not feature complete but playable (we also use the term “alpha” for truly unfinished but not playable before we move into beta).

Beta 1 is typically the engine test. Beta 2 is the connectivity/multiplayer test. And beta 3 is the balance/fun test. Gamma is where it’s done but we’re doing final bug testing on it.

For Elemental, we want to add a 4th beta that’s earlier than we normally start betas. The reason for this is because we plan to do some pretty radical stuff with Elemental from a game mechanics point of view. Some of these ideas may look good on paper but not be remotely practical.  So for Elemental, we’re going to add a beta 0.

Here is the tentative schedule:

Beta 0: June 2009.  This won’t be fun and will only play on the cloth map.

Empire_Cloth_City_Wide

The idea being, if the game is fun, it should still be fun without fancy graphics. Finishing Spring and over the Summer, we’ll be trying out all kinds of game mechanics, listening to people in the beta (anyone who pre-orders has the option to participate in the beta) to see what ideas they might have, etc.  It’s a lot cheaper to implement an idea or concept when we only have to represent it with icons on a cloth map.

Beta 1: August 2009. This is the engine test where we insert the actual graphics engine. The cloth map will still be there for zooming out but now you’ll be able to really play in the world and we’ll start to build onto this.  The game still won’t be fun at this stage but you’ll be able to give feedback on the look, UI, and other game engine stuff.


Beta 2: October 2009. This is the multiplayer test. It still won’t likely be very fun but you’ll be able to suffer with friends on-line. Elemental’s multiplayer model is client-server (which is the opposite of Demigod which is peer-to-peer). In Elemental’s case, Impulse will host the actual games which means that (in theory) there should be no such thing as “connection issues”. If you can connect to a web page, you should be able to play people on-line in Elemental. 

It will be at this stage when we decide whether Elemental will make its ship date.  We have February 2010 or August 2010 set aside for Elemental based on player feedback (we prefer February but we don’t want to feel rushed).  Right now, we’re running slightly ahead of schedule.

One nice thing about Beta 2 is that the multiplayer features we’re adding into Elemental will also be made available in updates to Demigod for multiplayer users and anything else that uses Impulse Reactor (our development platform).

 

Beta 3: December 2009. This is when the game better start getting to be fun. This is where we balance things, etc.

 

Gamma: January 2010. This is often called a “release candidate” by other developers but these are private builds where we think everything works but expect there to be some last minute bugs that need to be fixed.

 

Release: Mid-February 2010.

 

If you have any questions, let us know. We’re always around.

PLEASE READ: Some notes on beta 3F

Published on Saturday, April 4, 2009 By Brad Wardell In Demigod

We just released Beta 3F of Demigod to the public.

A few important things to note:

1. This build comes off the Beta branch. So this isn't some "near gold"

2. It has a changed connectivity dialog that we're in the process of getting rid of.

3. The new Skirmish  matchmaking is in this build but has not really been tested yet so it'll be hit and miss.

4. There's a bug in the lobby where the slots are all messed up looking. It's fixed in the main branch but we wanted to get this beta out to you so that we can try out the new, faster servers.

 

Some thoughts on being an Entrepreneur

Published on Thursday, April 2, 2009 By Brad Wardell In Business

The other day I got my social security statement in where it shows how much I have made each year since I started working. The amounts are all over the place, especially after I made Stardock my career.

There is something truly unique in the personality makeup of the entrepreneur that founds his (or her) own company from scratch to execute on some new idea and then builds it up to something that involves hiring employees and dealing with significant amounts of revenue.

For one thing, I think it requires a little bit of insanity. Seriously. Let me explain: An entrepreneur’s fortune (or poverty) is based on living off their wits. How much money an entrepreneur makes isn’t dependent on how long they worked or how hard they worked. In fact, many an entrepreneur sees their dream die and their fortunes turn to ash despite working amazingly hard and long. Few people understand “life isn’t fair” better than an entrepreneur.

Most people (as in, nearly all people) go to work and do a job in which they are, at some level, told what to do. Even the recently fired CEO of General Motors was merely a guy working a job.  By contrast, an entrepreneur has to invent their job in the first place and then, later, invent the jobs for others to take.

If anyone takes what I wrote above as “bragging” on behalf of entrepreneurs, don’t. It takes a certain level of mental illness to motivate oneself to do what I just described.

I have a friend named Jeff Schader who ostensibly is a competitor of ours to a degree. Every several months we have a horrific flame war with promises of utter destruction on the other. Then, some months later, we start talking again as if nothing had happened.  It drives some of my coworkers nuts. Why the hell am I talking to this guy?  And ultimately, it’s an answer few can understand. He’s an entrepreneur. He has nearly an identical personality as I have (different skill sets, I’m an engineer, he’s a creative). At some instinctive level, we are always going to be kindred spirits.

As companies get larger, the wise entrepreneur will start to shield external partners, customers, and furry animals from himself (or herself) by hiring other people who aren’t as hyper-aggressive as they are. And in my experience, entrepreneurs tend to be hyper-aggressive to the point of self-destruction.  There has been many a time where had I been the the one talking to a major (>$1M) partner after they did something to piss me off I would have told them to kiss my butt.

I remember one time, after dealing with some translation issue in one of our programs loudly promising (in our offices) that “Europe can suck it!” Luckily, cooler heads prevail around me and it’s not anything personal against the target, it is that the mental illness in most entrepreneurs that I’ve met (and including myself) is the requirement for personal freedom even at the cost of money. Because it’s not about the money, it’s about the freedom to do whatever the heck you want.

Elemental & Civilization 4

Published on Thursday, April 2, 2009 By Brad Wardell In Elemental Dev Journals

Those of you who know me and the GalCiv team (who are now all on Elemental) know we’re huuuuge Civilization IV fans. If you don’t have Civilization IV, I’m not saying you’re a bad person for not having it.  But I’m not saying you’re not a bad person either.  Though, wait until it shows up on Impulse next month before buying it if you haven’t already.

Anyway, at GDC, Soren Johnson (designer of Civ IV), myself, and Paul “Mormegil” Boyer) had a long lunch together and talked about the challenges we’ve been having in Elemental random map generation.

One of the big challenges we’ve been having has to do with rivers and roads – how do you make them look good in a randomly generated map?  Soren was nice enough to walk us through some of the algorithms they used in Civ IV since they ran into the exact same problem. It’s a real pain in the butt.

We also talked about the challenges of doing big maps.  This is where Civ and Elemental are fairly different largely because of the differences in the engine being used.

In Elemental, the strategic zoom feature lets us have much bigger maps since it’s very easy for people to manage much larger areas because the Elemental map turns into a cloth map where players can instruct units and cities and the like from afar.

Another advantage Elemental’s engine has is technology.  That is, the hardware is just a lot faster which means we can easily create a lot more “stuff” that players can automate without it slowing performance.

One result of that is world size.  In Civilization 4, the largest default map size “Huge” is 104x64 tiles. There are custom maps bigger (138x96 for instance).  But in Elemental, the map size is 224x160.  To give you an idea of that:

CivToEle_HugeMapComparison

And that’s on the 32-bit version of the game.  Assuming Intel gets us a 64-bit Havoc, the 64-bit version of Elemental could be even bigger.

Of course, we also have map sizes that are ridiculously small too (one called “wee” even). 

Having a big map, of course, is pointless if you don’t have the UI and automation in to keep micromanagement from being a pain and of course, like I mentioned, you have to have hardware fast enough to be able to navigate quickly and seamlessly through such a map (A Civilization V would no doubt have maps on the same scale as Elemental for instance).

Demigod: Top 10 Beta Testers On-Line

Published on Thursday, April 2, 2009 By Brad Wardell In Demigod Journals

We are going to be clearing the on-line stats for the Demigod beta in preparation for a very short on-line Tournament with some prizes prior to release as a kind of “Thanks!” to the beta group. That will start with the release of beta 3F in the next couple of days.

However, we want to give kudos to the top 10 players in terms of minutes played on-line during the beta before we reset the stats.

Rank. Minutes Played. Player

  1. 7772       HorseRadish
  2. 7680       Zirjin
  3. 7100       Micah71381
  4. 6826       Flurus
  5. 4704       sivizpacemparabellum
  6. 4679       WarlokLord
  7. 4488       Labradoraki
  8. 4440       Bier_Kanonier
  9. 4333       chaos40
  10. 4332       Hellrazior

Congratulations!