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 discourage 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:
PROGRAMMING CONCEPT
HOW THE CONCEPT IS USED 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.