Ace of Aces: Why you should do maths as a game designer
paxsims.wordpress.com
paxsims.wordpress.com
One of the bigger revelations I had first learning to program was based around a confusing thing I’d wondered about the very first time I saw a 3D video game, Super Mario 64. Up to that point my young brain could have imagined how a 2D game could be programmed, naively thinking they had just coded up every possible game state. But the sheer number of permutations in the 3D, open world plane immediately made me realize that was impossible to do because of the sheer number of permutations - so I concluded something else must have been afoot, but it was all mystical to me.
Anyway I was struggling bad with programming concepts very early on and tried to make an interactive multiplayer text adventure game in the same exact way as this book, struggled mightily, until one day I realized some of it could be done algorithmically rather than encoding every possible permutation into the game - and it clicked. A very vivid and surreal moment for me that I’ll never forget. As we age and get more senior, we forget little sparks like that sometimes I think. Thanks for posting this
This is so nostalgically intimately familiar it is nearly uncanny.
[0] https://www.kickstarter.com/projects/mrbgames/ace-of-aces-po...
You think back to when the game was new, and you remember talking to people who seemed to be superstitious about the game behavior. And it turns out they were right. The random numbers were NOT fair, and sometimes punitively so.
I think I heard there was a bug in UO where users with certain ranges of low user ID numbers always lost certain rolls because of a bug that unfairly sorted them in the case of a tie.
https://asheron.fandom.com/wiki/Wi_Flag
That was caused by using a too small range for the rng call so the players with the lowest IDs present always would be targeted by mobs
Yes, but so what? The point of videogames is to be fun, not have a true random RNG. Often such small bugs in the code were part of the gameplay and finding and exploiting them was part of the fun/competition.
And since games are usually rushed out the door to meet the November pre-Chrismas sale bonanza, everything that's good enough gets shipped. Making your RNG even better won't increase sales.
It wasn't even a complete distribution of the numbers 0-255, as some numbers occur more than once (and some never occur).
As an experiment, I tried to create a simple "Rock, Paper, Scissors" version but I was too stupid to figure out how. (How hard could it possibly be, I thought.)
Perhaps when I have time to study the article/patent I can finally figure it out.
Aga = Gag (wrong!)
should be: Aga = reciprocal of Gag
since the A and G planes always have inverse perspective of each other. (Imagine both of them starting with a world at A=G=I, where I is facile to face with the opposing plane; but any pair of inverse perspectives works.): I = identity
x' x = 1 (x' is reciprocal (inverse)of x)
A' = G <=> AG = A A' = I
a' = g
A_2 = Aga = (Gag)' = (G_2)'
<=> (A_2)(G_2) = (Aga)(gaG) = A g a a' g' A' = I
I'm page number space, the article's algebra is correct (but that's algebra, not a matrix transformation), because the the opposing books are reciprocals of each other in airplane space. This also explains why an A book can't fight an A book.Since A=G and Aga=Gag in page number space, this also shows that ga=ag in page number space. ga (and ag, and a, an g) can be seen as transformations (turn n pages, where n can be positive or negative). And to make this a proper algebra (group action), we can say that A and G are also transformations, applied to an arbitrary starting point in the books.
In the end, the page turns are transformation matrixes (because all algebraic groups have a matrix represention), but it's not the 3D airplane transformation matrix.
Homework: create a matrix-multiplication representation for the algebra of adding integers.
They were interesting because they contained both a single-player game (one in each book) and two-player game (which required both books).
You can also tune “allowed” moves to match the capability of a particular aircraft (and that’s why there is a whole series of these books that you can use interchangeably in any Allied-German pair: ...but some planes don’t have access to all the manoeuvres).
I played this and remember the Allies Sopwith Camel had the right-hand J turn the other planes didn't because of the rotary torque.
…and from there all mathematics is possible…*
And the same is true using only: NOT (a AND b)
Which of course, is enough for all mathematics, or to build any computer you’ve ever used.
It may work more slowly, especially if it had achieved quantum supremacy, but still that one line of code essentially can do it all.
I don’t mean to repeat the obvious here, but it’s always been fascinating to me and I’m not sure if it’s widely taught outside of first EE classes.*
It would be great to rewrite as a tutorial for making your own pair of game books on paper or in an IDE.
This is very approachable for "unplugged coding".
That and some logic processing issues.
Possibly against me.