Is not the name of my Stevie Wonder cover band! :)
In my last post, I introduced GravWell and talked through some of the concepts at a high level. In this post, I want to share a detailed background context of one of if not the biggest factors affecting GravWell's design and implementation. This post won't get into any code or detailed design, but rest assured future ones will certainly dive into the gory details!
Intuiting the maths
GravWell is a game that places an emphasis on exercising a player's inherent mental ability to work with structured, patterned system. Through navigating their craft around the star system, players perform incredible and complex mathematical feats of calculus right in our heads with nary a calculator or slide rule to be found! With the right information, a bit of guidance, and sprited persistence, players can make more-or-less accurate predictions regarding their ship's orbital mechanics. Predictions like these:
- Is the craft in a stable orbit?
- Am I currently heading towards apoapse/periapse (highest or lowest altitude/slowest or fastest speed segment of an eccentric orbit
- Roughly how eccentric is my orbit?
- Where, when, and how much deltaV do I need to burn in order to change my orbit?
The Human GPU
The human brain devotes a lot of its' overall processing power to vision and image processing.1 This makes sense if you think about the amount of sensory information that is visual compared to the data density of other senses: in computer terms, a 1 minute long video shot in 4K@60fps will have a far larger file size than the equivalent length audio sample; simply put, the video has a higher information density. This information is sort of aggregated with other sensory data and presented to more recently evolved (e.g., "higher") areas of the brain that integrate that data with similar experiences and memories, which surfaces that data to the decision-making cognitive functions that calls itself "me".
One might say that this all sounds interesting, but why am I talking about neuroscience in a post about a video game? The digression is important in understanding how GravWell makes something "hard" (e.g. orbital mechanics, gravity) and turns it into something that is accessible, challenging, and most importantly FUN. The secret is in the presentation. Through interaction with our everyday world, we build a detailed internal model, a simulation, of the world. Often, when engaged in rational decision-making, we will query this internal simulated world to examine various potential outcomes of a scenario. For efficiency's sake, our brains are very good at creating shortcuts and abstractions that simplify the simulation - there are a lot of cognitive biases based on those simplifications, as are most optical illusions. This ability to use abstract concepts tied together with familiar experiences is the key to the Gravity Map.
Spinning up a VM in your head
Through interaction with the world, we learn and internalize the basic behaviors of physics - a ball tossed upwards will eventually fall back to the ground, water flows downhill, etc. Our further experiences extend that model - making a tight turn in a car pushes you outwards, trucks take longer to stop than small cars, and jumping from a swing at the top of the arc imparts greater leap, etc. Those basics are pretty common to folks' everyday life, but as a person pursues more specialized activities, their models are augmented by long hours of study, training, and practice. Airplane pilots work to gain an intimate knowledge of the relationships between lift, drag, and angles of attack, whereas a SCUBA diver might internalize a model of water pressure, depth, and O2 saturation. The common factor here is that people can train themselves and their brains to deal with situations and input completely different from any condition that might naturally be encountered.
The easiest way to connect someone with an unfamiliar concept is by relating the unfamiliar to the familiar. We use tools such as simile, metaphor, and comparative description to communicate these concept maps to other people, but similar techniques can be used to propagate information via other means than language. The Gravity Map visually represents the gravity field of a star system, aggregating and transforming experiential input data from a form unsuitable and unfamiliar into one readily consumable.
Let's pretend that we wanted to "manually" create a gravity map of the environment around low-Earth orbit (LEO). How do we do this? Well, we'd get into our spacesuit, climb into a rocket, and blast off into orbit. As our rocket falls around the earth in its' orbit, we periodically measure the gravitopotential-metric at our current position in space. To make this measurement, we must float very still at the center of our craft and measure the very small resulting tidal effects in the microgravity by feeling the acceleration with our bodies. We note the direction and magnitude of the force along with the coordinates identifying the location of the measurement, but it is only by taking a large number of these measurements and then comparing them in aggregate that we are able to assemble an actual map of the LEO gravwell. This is where our mental models break down; we simply can't hold enough information in our minds to create this map on the fly!
No, that isn't the name of my cover band - although it would be a pretty rad name for one - who would that band cover? Rather, it's a reference to the process by which our mind organizes, references, and uses learned information. A person's primary cognitive process - their "attention" - can only hold a finite number of items in its' "stack". A given item on this so-called "stack" can reference or represent almost anything, from a single detail to a broad abstraction. The way this is most typically described is that as a person's knowledge/experience grows, concepts, principles, practice, etc. are "chunked" and indexed with each other.*
Our minds internally make use of these chunks and their properties in otherwise unfamiliar by iterating against a set of potentially relevant chunks, testing them against observations, and tweaking the model based on those results. This is the concept that I want to leverage with GravWell.
Neuro-plastic Chunking Hacks
Also not the name of my cover band (although again, I would want to hear a band with a name like that out of principle...). So what does all of this chunk stuff mean, and why are we spending so much time and pixels on it? And why are we trying to hack our chunks, anyway?
To bring this back full circle, people have lots of image processing juice and they already have chunks describing/modeling how objects tend to behave kinematically in the everyday world. Gravity is at once a familiar force at the everyday scale of apples falling from trees, but is insensible at larger scales - no one standing on Earth's surface could claim to feel the gravitational pull of Jupiter, no matter what the astrologers say. By mapping the insensible into the realm of the sensible, we can engage, enlighten, and entertain a players' mind by opening up to them a completely new world.
* - Here's an example: a beginner at chess might struggle to maintain knowledge of the board's current state at the same time she is attempting to run internal simulations of potential moves and opponent counter-moves because she must constantly juggle the positions and sequences of moves for each piece on the board. In contrast, a chess champion has internalized - "chunked" the same information - into entire groups of strategies, gambits, and the like which may span dozens or more turns into the future. This highly-experienced player isn't necessarily smarter than the beginner, but it is her ability to efficiently process the chess board information that allows her to actively use more complex thought processes - spinning up more VM's to run more detailed simulations of her opponent's predicted behavior. This can also be known as thinking for the long-term, grand strategy, "getting into your opponent's head", etc. An important property (for our purposes) of these chunks is that they can be hacked (in a good way!).