Stardock

0.77 Development blog

By on January 29, 2012 9:30:57 PM from JoeUser Forums JoeUser Forums

Frogboy

Join Date 03/2001
+1100

Warning: If you’re not into game development, you will probably find this entry very boring.

While I wait for my items to sell on the Galactic Trade Market in SWTOR, I am also working on Elemental: Fallen Enchantress.

At this point, we have the largest beta group any Stardock game has ever had.  Tens of thousands of you now have in your hands the first beta of Fallen Enchantress.  The goal of this is to help us eliminate instability, identify late-game performance issues, find out how people play the game and evaluate balance, user interface quirks, and overall “fun”.

Introductions

To get started, I should introduce some of our key players. 

Myself, I’m Brad Wardell. My day job is President & CEO of Stardock Corp. which has two entities attached to it – Stardock Software (which makes our consumer software and enterprise software which has historically been what pays the bills) and Stardock Entertainment (Which makes the games).  A year ago, there was a third business unit called Impulse, Inc. which took care of digitally distributing our games and apps as well as those for third parties. We sold this unit to GameStop last year and as a result, I have enough available time to be talking to you and actually being involved in the game development process.  While Stardock has been actively looking to recruit a lead developer (hint hint), it was decided internally that as of November 1, 2011 I would step in to take on the role of Lead Developer on Fallen Enchantress.  My particular specialty is multithreaded software development. 

The true key to Fallen Enchantress’s fun factor has been Derek “Kael” Paxton. He was the author of the well known Fall From Heaven mod for Civilization IV.  He is the one that has brought design discipline to the team.  That means making choices. Fallen Enchantress is first and foremost a strategy game in which the world itself is your first enemy to be dealt with before you can even think of dealing with your other foes.  Besides being the designer, he is also the Project Manager (in game speak “Producer”). Nothing goes in without his approval and this disciplined approach is main reason that the beta you see before you is as good as it is.

We also have a number of Stardock veterans from Galactic Civilizations II on Fallen Enchantress.  My friends Jesse “CodeCritter” Brindle, Cari “Elf” Begle, and Paul “Mormegil” Boyer are all well known to our community.  Jesse and Cari didn’t get to have much time on War of Magic as they were mostly involved on Impulse related projects.  I’ve asked Jesse to take the lead on graphics performance and Cari is helping across the board on game play coding.  The amazing art you see in the game is a combination of Leo (no cool handle) and Mormegil.  They’ve been asked to enliven the world environment (i.e. eradicate the “blah” remnants from WOM).

That’s just a few of the people involved, there’s another dozen+ others but these are the people who get to hear my whining and complaining the most. Smile

Whining and complaining

My job is to try to execute as best I can on Derek’s design.  On some things, I take care of directly.  On other things, I have to complain to Jesse or Cari or Paul (mostly poor Paul). 

So what are some of the things we complain about?

Examples: Why do the mountains not look that distinct? The interface requires me to move my mouse too much around. It takes too many clicks to add improvements. The late game turn performance is slow. The AI needs better units to choose from. The land needs more variance. The world needs more distinction between things I care about and background. The quests need more hand holding. The sound effects are repetitive and horrible. The music doesn’t seem to progress in tempo. I need more spells. And on…and on….and on…

Which brings us to this blog

If you’ve managed to survive this long into this entry, today I’m going to play on a large map with a gazillion players. I am going to play at Normal difficulty and I’m going to try to make the game get as slow as I possibly can.  I am going to try to crash the game.  I am going to wreck this game. That’s my job.

And you, the victim of this blog, will get to see the crashes, the stupid mistakes I find in my code, and my griping on balance, user interface, music, etc.).

A word of caution

If you aren’t in the beta, please understand, my job here is to criticize the game.  My critique of Galactic Civilizations II, which I designed, was that it was essentially a soulless piece of crap with shoddy AI, terrible carpal-tunnel UI, mindless clickfest. And that’s a game that got a 93 metacritic score.  So you can imagine what my critiques of the beta of this game are.  

A key lesson learned from WOM is that if you get too close to the project to the point you’re playing it non-stop and making a lot of the content is that you lose objectivity. I actually thought WOM was a great game when it shipped. Then I took a short vacation, came back, played it and went “Oh, Dear, God. What hath we done?”  Lesson learned, don’t do 100+ hours a week for 3 months and don’t confuse the fun you have making the game with the fun playing the game.

Anyway, point being: I’m going to be flaming the game throughout this journal. The goal is to make the BETA version better so that when people get the final version it is the awesome game people are looking for.

Let the Butchering Begin…

First, I’m going to see if I can cheese up a custom sovereign and faction…

image

Like all good hearted people, I wish that all races were Smurf-Like…

I’m going to play 18 other players…

image

Expert Tip:

Fallen Enchantress defaults to running at your desktop resolution. If you are going to be playing a long game, I recommend lowering your desktop resolution to maximize performance.

The Game Starts

image

I am already regretting choosing deep blue as my color.

Complaint 1: Champions vs. Everyone else

It’s a fine line. You want champions to matter but you don’t want to make it about collecting champions and steam rolling. The basic problem I see is that champions have too much base HP imo.  We used to have it a lot less but then they were pointless. So it’s something we’re placing with.

Complaint 2: UI of the research window

image

If you don’t actually click on the graphic, it won’t switch tabs. This creates a little fatigue after several hours.  The graphic itself is transparent so I go code hunting…

image

Complaint 3: Long end game turn lengths

There is an inncoulous check for city contiguity that gets very expensive late game which I’ve changed to only care about if it’s humans since the AI just uses the auto place system anyway. This little tweak just reduced the turn times by 75%.

Complaint 4: Frame rate when lots of stuff on screen

This might as well be a complaint about reality. You want to see lots of stuff but you don’t want to pay the price.  Well, I don’t want to pay the price but I still want to see lots of stuff.

But the human eye is easily tricked.  It’s just a matter of giving the illusion that the player is seeing the same lots of stuff as they zoom out.  Unfortunately, I know zilch on DirectX programming. So I’m just kind of going through the code and trying to learn it on the fly to see if I can help in this area.

image

My first attempt at reducing the number of things being painted.  On the one hand, the frame rate is really high…

Too extreme. Now, I’m learning this with you right now (on a weekday, I’d just bug Jesse or someone).

image

So there is our start. 25fps.

image

Reducing the number of children to 1 gives us..1fps. A dead end. Oh and I lost my UI.

Trying to crash the game: Tips and tricks

Under the covers, the game revolves around having a ton of things going on at once. I hate “Please wait…” screens. To eliminate that, we use threads. Lots and lots of threads. And it can be tricky with so many different hardware configs. 

The best way to get the game to crash is to have it autosave every turn and try clicking on the UI everywhere. That’ll expose if someone accidentally tried to directly update the UI rather than sending a message request to update the UI.

That is, you can’t just say MySoldier->SetMovesLeft(defaultamount) and in that call have it update the UI right there. It needs to send a message to the UI and then be processed.

The best testers for this are people with crappy computers and terrible OSes (single core, Windows XP users).  We don’t officially support single core CPU’s because they’re so old but their terrible performance helps us find bugs.

Complaint 5: The world needs more…umph

This is one of my main gripes.  A long time ago, the goal of the look of the game was a kind of cell-shaded look. This evolved into Illustrated look. But illustrated doesn’t need to mean desaturated and brown.

Now, mind you, I’m no artist. But just playing around with Photoshop I got this (barren land):

image

So in the above picture, I took the dullest looking area and tweaked it.  Tell me what you think. I don’t have an artistic eye.

image

Here’s a starting location.

image

 

image

Desert

image

Fallen lands

image

Like I said, I’m not an artist so I just messed with the textures. But I’ll pass these ideas on to the art team to see what they think.

image

Here I messed with the color of the water.

image

Sunday

I went through the comments. My work on FE revolves around coding, not game design – other than making suggestions. I did pass on ideas to Derek.

I kind of went off track by playing around with the art stuff for fun.

I rewrote one of the city functions to hopefully improve performance. There is that little…stutter I see when I place an improvement.  I also made it so that you can double click on an improvement in the build menu and have it auto place it.

Champion Stacking

One of the things humans do in the game is they just toss all their champions in one stack. This isn’t surprising, it is a good strategy with the way the game is currently set up.

One of the things on Derek’s list has been to split experience up amongst the units in the group (rather than all the units simply getting all of it). It was supposed to be in Beta 1 but just didn’t get done. In hindsight, I wish I had gotten this in sooner because the champion stacking combined with this creates a real imbalance.

image

It’s in now though.

image

More playing around with the art.

Trying to figure out why sounds cut out.  The state of sound drivers on the PC is deplorable (outside the really mainstream brands – that is what you’re really paying for, quality drivers).  But we can program things to work around driver issues.

Debugging

Why does god hate me?

image

Yea, I know how that feels.

117 Replies
Search this post
Subscription Options


Reason for Karma (Optional)
Successfully updated karma reason!
January 28, 2012 12:58:04 PM from Elemental Forums Elemental Forums


Derek & the Stardock team are doing a very good job of reworking this game based on our feedback.

I think your AI coding is making a big difference in how much fun potential the game has.

 

Reason for Karma (Optional)
Successfully updated karma reason!
January 28, 2012 1:13:42 PM from Elemental Forums Elemental Forums

I just take all the lections on https://www.ai-class.com (Stanford Engineering about AI Development) to learn more about AI Devepment (Unit 9 in moment). My plan is to make a Civlike Sandbox game (<- very easy version on start) game with a self learning AI in ruby. I also plan to use this learned stuff to balance the game. But its all on start and hopefully get some progress over time

 

Would be nice to get some technical AI Developing insights from you Brad, just how it works in FE and how you plan to implement different strategies. Also maybe  some  ideas how TBS AI could be improved in future. 

 

I assume this would be very intersting for a lot of people here. At least what I see from the numbers of AI threads poping up regulary.

Reason for Karma (Optional)
Successfully updated karma reason!
January 28, 2012 1:15:16 PM from Elemental Forums Elemental Forums

First Complaint: Champions vs. Everyone else

It’s a fine line. You want champions to matter but you don’t want to make it about collecting champions and steam rolling. The basic problem I see is that champions have too much base HP imo.  We used to have it a lot less but then they were pointless. So it’s something we’re placing with.

 

I guess, to me, it depends how you view champions. Are they meant to be army killing death machines (see- Sauron in the Fellowship of the Ring movie opening), or are they just supposed to be men of above average ability? If its the former, they should be pretty rare and hard to recruit. If it's the latter they should be common and easier to find. Could there be two tiers of champions?


Also recruiting being limited by research feels rather manufactured to me- I understand not wanting people to recruit high level champions easily, but why not make it about difficult quests rather than attaining a research level. For example, I lost my sword fighting a fearsome dragon- kill the dragon and retrieve my sword and I'll follow you forever.

Reason for Karma (Optional)
Successfully updated karma reason!
January 28, 2012 1:21:50 PM from Elemental Forums Elemental Forums

Thanks for continuing to take the time to do stuff like this. So far the beta is going great, and I feel like the team has been responsive to most of the major, fixable issues that have been talked about.

 

I already like FE, and there is hope for it actually being a great game that can really stand up to other genre favorites.

Reason for Karma (Optional)
Successfully updated karma reason!
January 28, 2012 1:25:09 PM from Elemental Forums Elemental Forums

Where is Jon Shafer? Isn't he lead designer?

Reason for Karma (Optional)
Successfully updated karma reason!
January 28, 2012 1:47:22 PM from Stardock Forums Stardock Forums

Jon is lead designer on a different game that's in development.

Reason for Karma (Optional)
Successfully updated karma reason!
January 28, 2012 1:51:37 PM from Elemental Forums Elemental Forums

Hi

Limit the hero units that can join together into an army. In the beginning just two heroes plus some mundane troops, if you want. Then, each tier of research in "hero-gathering-whatsoever" gives you not only more powerfull ones but also let an additional hero join an army(group). This would reduce doom-stacks in the beginning (the must level separatly - more stacks - and with mundane support). In mid-game the AI can simple research and recrut level 9 heroes - it has must not bother with leveling..... 

Reason for Karma (Optional)
Successfully updated karma reason!
January 28, 2012 1:59:01 PM from Elemental Forums Elemental Forums

I thought I saw a Lord Frogboy run by me the other day en-route to the Galactic Market.    Id ask what you think of SWToR, but that prolly belongs in a different thread. 

Love the fact, though, that you do these, and even though im not into designing, I work in the oil fields, I find these very awesome and informative.  I always had wondered if back in HS if I had gone into computers, which was 1989 and I had just taken BASIC and PASCAL, where would I be now?  Im sure alot of younger people are like WTF???  What are those man? 

Reason for Karma (Optional)
Successfully updated karma reason!
January 28, 2012 1:59:53 PM from Elemental Forums Elemental Forums

Interesting read, Brad. Love how after WOM all your posts start with a disclaimer.

You guys should be very proud of where you've taken FE. This has been a pleasure to beta test. Sure, there are a number of things that need attention, but I have faith that you guys will deliver.

Regarding the champion issue, 0.77 has improved the problem some-what by making it more difficult to recruit. I don't know though if the answer will be to nerf the hit-points (this sounds like a WOM-style decision tbh).

The problem for me is the number of high level champions together in a stack.

Look at it this way. When you start developing your champions and levelling up it is quite a lot of fun. Quite soon each of the champions have a 'personality' and a role. Some charge in and take the brunt of the attacks. Others hover back and cast spells. So quite naturally, the stack becomes a 'fellowship' as such and other army unit stacks can't compete on the fun-factor scale.

What I think your goal should be is to find a way to transfer this personality from a 'fellowship' stack to an army stack. If you had one or two high power champions in an army stack then the army stack would have its own purpose and strengths.

I believe the best solution would be to find a way to encourage spreading champions around rather than just nerfing the champions themselves

Reason for Karma (Optional)
Successfully updated karma reason!
January 28, 2012 2:19:33 PM from Elemental Forums Elemental Forums

Quoting Das123,
Interesting read, Brad. Love how after WOM all your posts start with a disclaimer.

I believe the best solution would be to find a way to encourage spreading champions around rather than just nerfing the champions themselves

Maybe the champions could have bonuses that only buff the non-Champion units they are stacked with?

Reason for Karma (Optional)
Successfully updated karma reason!
January 28, 2012 2:39:40 PM from Elemental Forums Elemental Forums

Quoting scifi1950,

Maybe the champions could have bonuses that only buff the non-Champion units they are stacked with?

That would work well. If the 'Tactician' or 'Leadership' type bonuses were only applied to trained parties and the bonuses themselves were increased in power - as well as adding more of them and spreading them through the various paths - it would allow the player to choose if they wanted to create army stacks with generals or if they wanted to create a fellowship stack of champions. Great idea.

Reason for Karma (Optional)
Successfully updated karma reason!
January 28, 2012 2:51:08 PM from Elemental Forums Elemental Forums

Quoting scifi1950,
Maybe the champions could have bonuses that only buff the non-Champion units they are stacked with?

Yep, perhaps the sovereign and every champion should get one talent (+ 5 attack if only one hero is in the party, + 5 defense if only one hero is in the party, + 2 initiative if only one hero is in the party or + 2 move if only one hero is in the party) for free.

Reason for Karma (Optional)
Successfully updated karma reason!
January 28, 2012 3:02:04 PM from Elemental Forums Elemental Forums

I love dev blogs... :grabs popcorn:   

Reason for Karma (Optional)
Successfully updated karma reason!
January 28, 2012 3:10:15 PM from Elemental Forums Elemental Forums

Quoting ,


Complaint 3: Long end game turn lengths
There is an inncoulous check for city contiguity that gets very expensive late game which I’ve changed to only care about if it’s humans since the AI just uses the auto place system anyway. This little tweak just reduced the turn times by 75%.

That may solve my problems and let me play properly before going back to the PC that actually uses parts produced this decade. 

Reason for Karma (Optional)
Successfully updated karma reason!
January 28, 2012 3:52:50 PM from Elemental Forums Elemental Forums

Quoting ,


Complaint 1: Champions vs. Everyone else
It’s a fine line. You want champions to matter but you don’t want to make it about collecting champions and steam rolling. The basic problem I see is that champions have too much base HP imo.  We used to have it a lot less but then they were pointless. So it’s something we’re placing with.

Well, first problem is lumping all the Champions together. I dare you to play a game without any melee champions and tell me you think they have too few hitpoints. Non-melee champions are pathetic at lower levels, and only some of the mages really get better. It has nothing to do with hitpoints, and everything to do with the starting damage and gear of the melee champions (mage or archer champions have pathetic gear and damage).

Reason for Karma (Optional)
Successfully updated karma reason!
January 28, 2012 4:34:53 PM from Elemental Forums Elemental Forums

I love reading these blogs, it really gives an insight into the development world and process.

Anyways, the big challenge will be dealing with heroes. They are the most fun and enjoyable aspect of the game but they can easily be way to powerful or far to weak. There is also little uniqueness between the different "classes" or functions of the heroes that needs to be worked out.

Thinking of things like these I'm still glad you guys picked up  Derek Paxton, use FFH as a source of knowledge and guidance.

Reason for Karma (Optional)
Successfully updated karma reason!
January 28, 2012 5:28:23 PM from Elemental Forums Elemental Forums

Wondered where the frak Shafer was. He is probably working on GalCiv: Fallen Empress. Or is it that MMO you guys have had on the back burner? At any rate, I am very happy you guys have a solid team. The only stupid thing you should do is start hiring community members (fanboys) from WoM to start making content (hint hint  ). This would be stupid because you already know we are doing it for free. Why buy the cow right? But I challenge your team to make a better quest than the ones I have been working on. 

 

Glass cannons are easy to fall into. Maybe alter Constitution and give more base health, but let Con. give less per level. This is a hard area to gauge right now since we don't have a great tactical AI. I would also veer away from limiting hero only armies. This should be balanced with other strategies. Sure you should have to specialize a bit, but the idea should be that a trained unit of the same level is balanced to a hero at that level. each should be able to be specialized to do a specific task on the battlefield: attacker, defender, archer, cavalry. Then each one should also have certain things that they are just better at: trained units are better attackers, but weak to magic, heroes can defend against magic, but have much less health than a trained unit of the same level, etc... It can be balanced to allow for many different kinds of strategies. Cutting out all hero armies would cut out a third of my strategic options. The problem right now is merely that this particular option is too strong. 

Why is it too strong? Because trained units can't equal heroes in the early game. That gives heroes a permanent advantage. The gear they get from goodie huts alone is enough to make regular soldiers useless until you get to the equal level of techs in the Warfare and Magic Tree. Weapons don't fit well to regular unit strategies. Getting a mace vs an ax vs a shortsword won't make that much of a difference. Spears, Battleaxes, and Daggers, on the other hand play to the strengths and weaknesses of the races quite well. A little change here would be a huge change for regular troops. It might also be nice to get some more of these at tier one. Clubs and Wooden Shields are just not enough in tier one Warfare. 

 

Reason for Karma (Optional)
Successfully updated karma reason!
January 28, 2012 7:45:08 PM from Elemental Forums Elemental Forums

Quoting ,


Complaint 5: The world needs more…umph
This is one of my main gripes.  A long time ago, the goal of the look of the game was a kind of cell-shaded look. This evolved into Illustrated look. But illustrated doesn’t need to mean desaturated and brown.
Now, mind you, I’m no artist. But just playing around with Photoshop I got this (barren land):

So in the above picture, I took the dullest looking area and tweaked it.  Tell me what you think. I don’t have an artistic eye.

In that screen, what bothers me the most is the flat landscape and the ugly dead trees.

Reason for Karma (Optional)
Successfully updated karma reason!
January 28, 2012 8:41:58 PM from Elemental Forums Elemental Forums

Hmm, how about this for champions:

In order to make people want to spread Champions around, battle XP could be split between Champions, but NOT between regular units - regular units would always get the full XP of a battle.

(The Sovereign should aways get a portion of the XP though - I still think there should be big incentives to leave the main guy at home and do sorcerous things in his Tower of Doom)

Reason for Karma (Optional)
Successfully updated karma reason!
January 28, 2012 8:45:11 PM from Elemental Forums Elemental Forums

Quoting Frogboy,
We don’t officially support single core CPU’s because they’re so old

Oh. So I must forget about playing FE on my oldie Pentium 4 2.8 GHz, 1.5 GB RAM, GeForce 8600 GTS (256 MB)? Really? 

 

Quoting Frogboy,
Jon is lead designer on a different game that's in development.

Interesting. Is it a Elemental game? Is it the old-school RPG Stardock was to develop?

edit: I don't know how to make quoting to work here, so I faked the first quote by adding who="Frogboy" reply="6" id="3068847.

Reason for Karma (Optional)
Successfully updated karma reason!
January 28, 2012 8:48:23 PM from Elemental Forums Elemental Forums

Quoting Frogboy,
Jon is lead designer on a different game that's in development.
When are we likely to get announcements on that? Months? Years?

Reason for Karma (Optional)
Successfully updated karma reason!
January 28, 2012 9:03:01 PM from Elemental Forums Elemental Forums

About complaint 5 : terrain textures would look too detailed, and the contrast with the "illustrated" look of the game would be too big. Keep it cohesive. I think that the illustrated look is a good thing, this way, the game won't look dated in a couple of years. And I really like it, it has a strong identity and is visually pleasent. For the "umph", maybe some more variation (like diffrent trees, etc) would do the thing, but the performance is more important, nobody wants a lag show.

Reason for Karma (Optional)
Successfully updated karma reason!
January 28, 2012 9:58:03 PM from Elemental Forums Elemental Forums

I think you should scale down the actual power of champions, but, instead, give them varying types of bonuses on standard units in tactical combat.  Also, make those bonuses spatial, with different spatial distributions, to add to the flavor of tactical battles while also differentiating different types of heroes and different types of units.

 

So, maybe, you'd have one hero that specializes in increasing attack.  He could have a wider aura, to augment more aggressive tactics, and he could increase attack strength or accuracy.

 

You could have another that specializes in defense.  He could have a shorter but more powerful aura, which will incentivize turtling.

 

Etc. etc. etc.

Reason for Karma (Optional)
Successfully updated karma reason!
January 28, 2012 10:31:49 PM from Elemental Forums Elemental Forums

Quoting Gandhialf,

edit: I don't know how to make quoting to work here, so I faked the first quote by adding who="Frogboy" reply="6" id="3068847.

Every post has a grey bar under it.  Mouseover will reveal 4 buttons.  Thumbsup (to give Karma), Report (send message to moderator about inappropriate post), Reply, and Quote.

Quote will place the entire post in your reply.  You can delete the lines that don't apply to your comments. 

 

Reason for Karma (Optional)
Successfully updated karma reason!
January 28, 2012 10:44:05 PM from Elemental Forums Elemental Forums

An idea on how to "fix" champions vs everyone else:

Each champion can be combined with a unit(s), thus leading it. The new unit will retain its former abilities, but be improved dramaticlly. Thus, a champion at the start of the game will be meaningful since he is somewhat stronger than an avarage unit, and retain his power by combining with other troops.

This leads the champions toward the "leader" role, but stand-alone champions are possible to make.

The way I see it, having a strong army means a stong champion, and vice versa, without the unstoppable killing machine champions we sometimes encounter (I bet every one of us had, atleat once, a demigod Warrax, the Chaos Warrior shooting down sky drakes in MoM).

Reason for Karma (Optional)
Successfully updated karma reason!
Stardock Forums v1.0.0.0    #108431  walnut1   Server Load Time: 00:00:00.0001937   Page Render Time:
Facebook Twitter YouTube Google+