Friday, March 26, 2010

Second attack of a range

I have the value of a second attack of a range down, but I'm rather unsure of the result. There are parts that can be tweaked, but I'm having trouble deciding their values. At I can say this much: having an extra attack of a range, no matter how small, will be valued higher than not having it, given everything else as constant. In the process of making this, I even got to use a little knowledge about sorting from a really simple coding course I'm taking.

As soon as the abilities are in, and they shouldn't be too hard, I'll be provisionally done with the valuation algorithm. Non-mainline specials.abilities can wait for later.

Next will be the hard part (again?): advancement path finding. I guess the best way to go about it is to make logical trees to try, give the unit maybe 3 chances to try them and look for the highest value.

Ugh, and then there is Exasperation's code that I need to replace, which lets a unit decide for itself whether or not to pick up/equip weapon/armor. I need to make sure if a unit that doesn't have evade and has cheap armor will still wear the armor rather than going naked. Let me add that to the to-do right now.

Tuesday, March 16, 2010

Valuation Again

This value algorithm isn't nearly as grind-y as I thought it would be. It's actually going down really, really easily. Part of the reason for that is I can usually just assume a unit's usefulness goes up with each aspect of it. For example, a unit with 6 moves is going to be well enough better than one with 5 moves, given everything else is the same. There are no "tits on a bull" aspects to units. Movement, terrain defense, resistance, hitpoints, attack power. Having one low aspect is going to seriously hurt the unit, but there doesn't seem like there is one combination that is hugely better than another.

There are a few exceptions to this. Skirmisher gets a ton better the more the unit can move around. But, even at 1 movement, Skirm is going to have some value. Steadfast is good only if the unit has some positive resistance. It actually is at its best at 25% resistance and then gets less and less valuable as the resistance nears 50%. These exceptions are few and pretty easily managed.

Managing terrain defense and movement cost has been a bit of a trial. For some reason, Elvish Archer is being valued less than Elvish Fighter. That probably has more to do with the Archer having one less movement point than it does with the terrain issues.

Wednesday, March 10, 2010

A few days on the grind

Working on the valuation algorithm. It's going surprisingly well, though I've only made it work with the most regular units possible (e.g. Thug, Bandit, Heavy Infantryman, etc.).

One challenge: Low-level units are constantly being under-valued. There's an imbalance between Wesnoth's Mainline gold value of a unit and its value if upkeep isn't involved. A level 5 unit in Wesband will use as much upkeep as will a level 0 unit (none). Perhaps I should say that the average scenario in Wesnoth is 20 turns long, so the actual value of a Spearman should be 14+(1*20). That is to say, a units true cost is its initial recruitment cost + (upkeep * turns in an average scenario). So, instead of a Peasant being valued at 8 and a Spearman at 14, it should actually be 8 and 34 respectively. Ouch. As I'm writing this, it hurts, because that would mean most of today's work was for nothing. Haha.

Another challenge: What is the value of a secondary attack of the same range as another attack (e.g. Dwarvish Fighter's hammer attack)? Sometimes it can mean a slightly better attack, but other times it's useless. How would I put a gold value on versatility?

Thursday, March 4, 2010

Introspection

So, I've taken a crack at fully designing THS: Full Sail. There are more than a few problems with it all. I originally planned to have it allow for more than one player ship. The problem with that is if I want to zoom into the non-main ship I would have to expand the map hugely. That sucks. The best idea, I guess, is make any fights that happen off of the main screens happen in the background, with generally the same outcomes but it would be automated. What that all adds up to is a much larger scope of a game than my original "finite" project idea.

With all of that thinking, I had to take a hard look at what I'm doing here. Am I giving myself a break from the setting of Wesband? Am I avoiding hard coding projects? What do I really want out of all of this?

Here's the realization I made: Wesband is an awesome idea. It's an awesome game. Wesband devs have said so, even if no one else has. Do I really need a break from it?

Then I approached the questions from another angle. As a gamer, how did I feel when developers lagged in development? How did I feel when they took side projects? I know the answers all too well.

Infantry will forever be a sad subject for me. Perhaps it was unfair to expect more out of it than what it was, but I loved the core gameplay so much that I couldn't help but imagine what it could have been. I wanted so much more in the core zones of Mech Skirm, Hardcorps and Eol, but instead got side-projects such as Cosmic Rift and Tank-O-Drome. I wanted more depth, more variety and more experimentation on all of these fronts. But, for many reason, my wish was never fulfilled.

This is all incredibly sad. It's sad in the same way, I'm sure, that Wesband will be if it doesn't live up to its potential. Besides, I'm not going to dev like this for Wesnoth forever. Really, the end goal is to churn out some awesomeness and then move on (to action games, my first and last love).

Nose to the grindstone.