Gamasutra is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Gamasutra: The Art & Business of Making Gamesspacer
Anatomy of a Game Mechanic
View All     RSS
May 25, 2019
arrowPress Releases
May 25, 2019
Games Press
View All     RSS








If you enjoy reading this site, you might also want to check out these UBM Tech sites:


 

Anatomy of a Game Mechanic


July 29, 2009 Article Start Previous Page 2 of 4 Next
 

Term: Linear

One of the most useful descriptive characteristics of a game mechanic (a.k.a. function) is whether it is linear or non-linear. Linear is pretty much like it sounds -- "like a line". Mathematically, this means the slope of the mechanic is constant. Practically, this means that the mechanic steadily increases or steadily decreases at a given rate.


Linear Mechanics/Functions

Examples of Linear Mechanics:

  • Simple steering: position of the steering wheel corresponds linearly to turn rate
  • Simple weapon damage as a function of charge-up time: if you charge up for 2.0 seconds, the damage is twice what it is if you charged up for 1.0 seconds
  • Simple To-Hit Chance as a function of weapon skill: having a Weapon Skill of 50 gives the player two times the chance to hit as a Weapon Skill of 25.
  • Simple XP Rewards as a Function of Monster Level: defeating a level 4 monster gives twice as much experience as defeating a level 2 monster

Term: Non-Linear

If a mechanic is not linear, then it is non-linear. I know -- big surprise.

For every linear mechanic out there, there's probably a non-linear one. Well, maybe not that many, but the point is that non-linear mechanics are extremely common. Sometimes you need to use a non-linear relationship because a linear mechanic just doesn't accurately simulate or accomplish your design intent.


Non-Linear Mechanics/Functions

Examples of Non-Linear Game Mechanics:

  • Almost every RPG character level advancement XP table ever created (you can thank the late Gary Gygax or Dave Arneson for that): it might take only 1,000 XP to climb from level 1 to 2, but it could take 1,000,000 XP to climb from level 20 to 21.
  • Population growth in Civilization: your Year 500 Civ will typically have more than five times the population of your Year 100 Civ... unless you're on your way to extinction.
  • Car acceleration as a function of "seconds from the line" in a driving game: real cars have higher acceleration in lower gears and lower acceleration in higher gears. You may travel 0-60 in 6 seconds but you can't expect to gain another 60 MPH in the next 6 seconds.
  • Score as a function of time played in Geometry Wars: if you can last 20 minutes, you'll surely have far more than twice the score of someone who played for 10 minutes.

Non-linear mechanics are very familiar to us and more colloquial ways of describing them exist. For example:

  • "the law of diminishing returns"
  • "geometric expansion"

Types of Non-Linear Mechanics

While linear mechanics differ only by their slopes, there are many different types of non-linear mechanics. It is often necessary to subclassify them further as one of the following:

  • Asymptotic to a value: these mechanics tend to "flatten out" as they approach a certain result (y value). After a point, huge changes in X result in very small (insignificant) changes in Y. In other words, slope approaches zero after a certain point.
    • Example Mechanic: to hit chance based upon weapon skill: you might design a combat system that eventually "tops out" the player's chance to hit as his weapon skill increases. After a point, further increases in weapon skill have little effect.


Asymptotic to a Value

  • Asymptotic to infinity: these mechanics tend to approach infinity (Y) as X increase or decreases.
    • Example: Population Growth (geometric expansion). Technically, some limit will eventually exert itself (e.g. capacity of the planet?), but until that limit, the mechanic may follow an Asymptotic to Infinity relationship.


Asymptotic to Infinity

  • Non-asymptotic: the non-linear mechanic doesn't ever "level off" and isn't asymptotic to infinity.


Non-Asymptotic

Segmented Linear

A segmented linear mechanic is technically non-linear overall, but you can think of it more as just a linear mechanic that is made up of two or more sections with different slopes.

An example of a segmented linear mechanic would be a really simple car transmission mechanic where you are modeling acceleration and torque as a function of speed. Each gear would have different values. The resulting graph would be made up of several different linear "gear bands", each with a different slope.


Segmented Linear Mechanic: Notice the Distinct Linear Sections

Segmented Linear mechanics are relatively easy to create and often are a great way of simulating a complex non-linear mechanic. If the assumption that the mechanic is linear between various key points is good enough, then it can be a good way to go and they are very tunable.

Linear and Non-Linear Living Together

If you like chocolate and you like vanilla, why not combine them together and have both? In and Out Burger doesn't fight you on that, so you shouldn't fight yourself. When designing a game mechanic, there's no reason why you can't have some portions of the domain be linear and some non-linear.

However, you should probably avoid such complexity unless you have a really good reason. (See next page.)


Article Start Previous Page 2 of 4 Next

Related Jobs

Dream Harvest
Dream Harvest — Brighton, England, United Kingdom
[05.25.19]

Technical Game Designer
Deep Silver Volition
Deep Silver Volition — Champaign, Illinois, United States
[05.24.19]

System Designer (Player Progression)
Bohemia Interactive Simulations
Bohemia Interactive Simulations — Prague, Czech Republic
[05.24.19]

Lead Game Designer
Deep Silver Volition
Deep Silver Volition — Champaign, Illinois, United States
[05.23.19]

Senior Animator





Loading Comments

loader image