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.|
|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.|