Jump to content

  • Log In with Google      Sign In   
  • Create Account

AngleWyrm

Member Since 20 Jun 2002
Offline Last Active May 16 2014 09:31 PM

Topics I've Started

Strictly Dominant Strategies and the Tech Tree

24 October 2013 - 04:20 PM

Some tech trees offer 'upgrades' that serve the same function and are an improvement in every way to their predecessor -- a strictly dominant strategy, and therefore it's not a choice, it's a no-brainer.

 

In some games (Endless Space:Disharmony, for example) new technology is hard-coded to imitate such a forced decision, even though the tech is only a weakly dominant technology. There are times when a price, time or space advantage could have been better, but the interface is designed to prevent such considerations.

 

If we consider the environment, (such as Galactic Civilization 2's rock/paper/scissors weapon & defense systems) then it can become an interesting interplay. Guns aren't automatically inferior to Lasers, it's a matter of what the other player is doing.

 

There's also a mentally compartmentallised problem with price. 'Upgrade' techs almost always have a higher resource cost, be it materials, time, space, research points, whatever. But it's not a tradeoff, because that implies a set of valid choices, which is not the case when there's a strictly dominant strategy. So the game ends up senselessly inflating the price of stuff.


Post Mortem on 4x Strategy Games

03 October 2013 - 11:34 AM

Imagine if you will, a typical 4x strategy game, where the players are represented as societies/races, and the principal motivating need is to propogate the species throughout the realm, and there is a competition among the players for territory.

 

An unsolved problem with this genre is that the current crop of games turn out to be an initial race, where whoever takes the early lead wins the game. The player who pulled ahead in the colony rush becomes far superior, and further combat is reduced to a mop-up operation. The race leader has no real threat of losing their territory, and taking all of the remaining realm is just a matter of time. New or young empires cannot thrive and win, because size is everything.

 

What can be done about it?

 

One possibility is that the model of empires as a simple Bigger is Better isn't sufficent. If we look at the way businesses rise and fall, we can get a similie that seems to me to be satisfying on a deeper level. For example, Circuit City was a huge corporation that rose to power and then collapsed in bankrupcy. Said the CEO, It wasn't necessarily doomed "had we woke up sooner...It wasn't obvious in sales figures, but the rot had set in...The world is always changing, and you can’t rely on your past accomplishments.”

 

That is so very different from the biggest corporation being insurmountable! And the same story is played out in the death of a lot of big companies. A sense that the big companies become sluggish, complacent, ineffectual in their ability to respond appropriately to the competition. So I wonder if we can model something like this into a 4x game in such a way that it is fun, easily comprehended and improves the game.

 

As a first draft of this idea, a player's society (or some smaller business units?) could have a cumbersome variable, a construction time delay or cooldown based on it's size. Meetings and conferences must be held, and delays and run-on expenses.

 

A second version of cumbersomeness is that the large companies are essentially failing to adapt to their current environment, falling behind the curve as new ideas are implemented by competitors. This seems like it has to do with Technology. So it might be appropriate to think of modelling a substantial penalty to research and development, based on size. So bigger empires would take a hit to Research point production.


Determining if there is a problem

18 August 2013 - 02:27 PM

Within a game there's what is supposed to be a draw from a shuffled hand of five cards. In order to get a specific card with a certainty of 95%, I should draw log(1/20)/log(4/5) =~ 14 times. Let's say I've drawn 18 times, and still haven't seen the target card. At this point I begin to suspect that the presentation of randomly shuffled cards is either broken or disengenious.

 

How does one measure and test this system in order to come to the conclusion that it is no longer reasonable to claim it's working as advertised?


Probabilities and How many times do I got ta do this?

14 August 2013 - 03:42 PM

This came up while playing Minecraft with a couple mods. In the game there was a machine that offered a trade of your stuff for a specific chance to get some cool loot. The same basic thing occurs in Perfect World, where you can trade some of your gathered resources for a chance to improve some equipment. And again in Tynon, where you can trade stars for a chance to upgrade a player character (although the mechanics are a bit more convoluted in Tynon).

 

If there is a 10% chance to succeed each time we burn a resource, then 90% of the tries will fail. Burning two resources would be 90% * 90% = 81% both fail. Three tries would be 90%*90%*90%=73% all fail, and so on. So we can express the chance of not getting any success as P(TotalFail) = P(eachTryFail)^numTries.

 

We know the eachTryFail is 0.90, so we've currently got P(TotalFail) = P(0.9) ^ numTries.

 

But I want to know how many times I should burn a resource, in order to be resonably certain of getting at least one prize. In order to do so, I have to define what Reasonably Certain means for this problem. It's a willingness to be wrong, a risk factor, and for this problem where the penalty is just a little amount of my time, I'll go with the standard 95% certainty. If the situation were about public safety, or a production line, we'de pick a much higher value. But for this exercise, being wrong 1/20 doesn't hurt too much.

 

With this decision in place, we now have a definition for TotalFail; we have decided that it will be 1/20.

 

P(totalFail) = P(eachTryFail)numTries

0.05 = 0.9numTries

log(0.05) = log(0.9) numTries

log(0.05)/log(0.9) = numTries

numTries =~ 28


Another Neat Tool (ANT): It's better than batch files :)

31 July 2013 - 11:48 PM

So there I was, just a hackin' and a codin' a mod for Minecraft in Eclipse. And at the end, there's a bunch of stuff to do: Run a couple special external tools, relocate a bunch of files into a new folder tree, and then zip them up, add comments to the zip file, and so on. And I had a pretty cool batch file to do all that. Then someone showed me ANT, and I'm sold.

 

Ant does all the stuff I was doing, but much more elegantly. The tool uses an xml file, usually called build.xml, and it looks like this:

<project>
   <target>
       <!-- do some stuff -->
   </target>
 
   <target>
      <!-- do some other stuff -->
   </target>
</project>

The build.xml that I made for my Minecraft modding endeavors looks like so:

Spoiler

 

It can do advanced stuff, like substituting a token string during a copy operation. Within my source files is @VERSION@, but when copied by the build.xml, that string gets replaced.


PARTNERS