How does GameSalad help teach programming?

Because GameSalad is a drag-and-drop tool that does not require writing actual code, a question we often get is “how can this actually help students learn how to program?”   The answer is that understanding how to program is much more than typing syntax (which is often where introductory programming courses begin, is the least interesting part of programming, and tends to lose students early).

Because GameSalad emphasizes experimentation and rapid iteration, students see results quickly and can play with different concepts and experiments without fear of “breaking something” or getting tripped up with stray semicolons or brackets.  And along the way, they’re utilizing and learning fundamental concepts of software development and programming.

Here are some of the key programming concepts that students learn by building games in GameSalad:


Object oriented development GameSalad Actors have the concept of inheritance, prototypes, and instances.  
Event Driven Programming Using Rules and Behaviors, GameSalad teaches the fundamentals of  Event Driven Programming, which is the dominant programming paradigm used in games, graphical user interface (GUI) applications, and many other applications, such as Javascript web applications.  Many other programming tools focus only on functional programming.
Variables GameSalad Actors and Scenes have Attributes, which are essentially variables.  

Attributes in GameSalad have different types, including boolean, integer, real, image, and text. Access to attributes is controlled by scoping rules and encapsulation.

Functions GameSalad’s Behaviors are effectively functions that can be called again and again, passing different arguments into the call as needed.
Trigonometric math, angles, rotation Actors can interact with each other based on distances, angles, velocities, and forces. The Expression Editor features mathematical functions such as sin, tan, cos, abs to allow complex computations.
Comparison Operators GameSalad’s Rules allow the use of comparison operators like equals, less than, greater than, less than or equal, greater than or equal and, not equal to evaluate expressions.
Conditional execution (if/then/else) Using Rule Groups, GameSalad teaches users how code can be executed selectively based on conditions.
Data structures & data-driven design GameSalad Tables are effectively multidimensional arrays, which teaches users how to store data more efficiently and the importance of developing a program independently of data (i.e., not hardcoding)
Looping Teaches the concept of looping over a set of instructions until a given condition is reached.
Physics & Simulation GameSalad includes a fully integrated 2D physics engine and all Actors have physical Attributes that can be modified as needed.  
String Manipulation GameSalad has expression functions that help teach how to concatenate and manipulate strings, a key element of programming in any language.


Programming Concepts Taught by GameSalad

download (284KB PDF)


Was this article helpful?

Related Articles