Jump to content

  • Log In with Google      Sign In   
  • Create Account

King of Men

Member Since 16 Apr 2004
Offline Last Active Apr 20 2015 02:05 PM

Posts I've Made

In Topic: Moving a variable declaration affects unit test...

18 April 2015 - 05:27 PM

Turns out I was looking up an un-initialised variable, interpreting it as double, and consistently getting NaN in one case and some small but numerical value in the other. Not sure why the variable location should so consistently flip me between NaN and number, though. Unless perhaps it is the struct layout that does it; the value in question comes from dereferencing the end of that map.

In Topic: Moving a variable declaration affects unit test...

18 April 2015 - 04:31 PM

Nope, the members are all independent. Good one, though - I'll keep it in mind for the future.

In Topic: Game Design Theory

11 December 2013 - 03:01 PM

why are physics engines convincingly fake when we have all the equations and the real physics data that we could input to create a real-life physics engine?

Because nobody has the computer power to simulate even an atom using the actual, real laws of physics. There are people using months of running time on supercomputers to approximately simulate single protons. Yes, we know the physics, but it's just insanely frackin' intractable.

Ok, so maybe you don't want to do things down to the level of quantum chromodynamics. You never got all that quantum stuff, anyway. Plain Newton and Maxwell is good enough for a game! Very good. We'll put in Newton and Maxwell, and arbitrarily designate atoms as the, um, atomic minimal objects of our physics sim. How many do we need? Well, in a gram of hydrogen there are Avogadro's number of hydrogen atoms; 6.02 x 10^23. The number of interactions per time-tick is, of course, O(n^2) in the number of atoms. So, if we optimistically assume that an interaction can be calculated in one floating-point operation, a computer would need to run at (*)... 181 GGGGGHz to do one frame per second. For one gram of hydrogen.

* Footnote: A GGHz is a billion GHz; a GGGHz is a billion GGHz... Yes, I'm aware I'm somewhat simplifying the conversion between FLOPS and clock speed; bear with me, it doesn't affect the argument.

In Topic: Prove that every non zero vector u in R^n is an element of some orthogonal b...

11 December 2013 - 11:06 AM

You assert that given a vector u, there exists an orthogonal vector v if "the components are inverse identity of each other", which is not meaningful - what's an "inverse identity"? Perhaps you meant "inverse" (or "negative inverse"), but that still wouldn't be true, as demonstrated by your concrete example, in which the components are not inverses. In addition to which, you have not shown that the vector with "inverse identity" components exists, just that if it exists then there is an orthogonal vector. (Perhaps, if you clarified what the "inverse identity" is supposed to be, it would be obvious how to construct it, and then you would at least have demonstrated that the orthogonal vector exists.) But even if your assertion were accurate, this would not demonstrate that u and v form a basis, just that there exists an orthogonal. 


Back to the drawing board. 

In Topic: In what ways can a text adventure have combat?

10 December 2013 - 03:25 PM

Skill in games is largely about resource management. Randomisation does not change this, it only means you have to integrate over a probability distribution. So, allow the player to say (for example) "I hit the monster with 10 mana". This does a deterministic, not stochastic, amount of damage, ranging from blowing a goblin to Jupiter up to scratching the hide of a dragon. The challenge is to maintain your limited mana (and other resources) until you get a chance to stock up; so skill consists of not using 10 mana on a goblin, because that's a waste, but recognising that the dragon must be hit with 100 mana, or it will hit you back and that will not be nice. Add other resources to make the management more multidimensional (also, maybe mana is scarce and even one point is overkill on a goblin - hit it with your sword, instead, thus only expending rapidly-replenishable stamina points). This also allows monsters to have different vulnerabilities, thus allowing the player to acquire "lore skill", that is, skill that consists of knowing water elementals are vulnerable to fire mana, but not to edged-weapon attacks, and deploying their resources optimally accordingly. Of course, all this is basically just bog-standard RPG combat; the only difference is that it doesn't have to be stochastic. Make the damage algorithm deterministic and be done.