Introduction to Behaviors
by Jon (Updated on 2013-01-29)
As a game creator, it’s not enough to add a bunch of resources to a Scene and call it a day; you have to define gameplay that will engage your players and make your game interactive.
To do this, you’ll use Stencyl’s Behavior Designer to build self-contained snippets of logic called Behaviors and attach them to your Actor Types and Scenes.
Note: In response to our readers, we would like to clarify that there is no associated demo/source with this article. Our apologies for the confusion!
- What are Behaviors?
- Attaching a Behavior
- Configuring a Behavior
- Actor Type vs. Scene Behaviors
- Peeking under the Hood
- What are Events?
What are Behaviors?
Behaviors are reusable, configurable “abilities” that you attach to Actor Types or Scenes. Together, they make up the “brains” of a game, handling all interactions that occur in the world.
Say we’re making a vertical shoot 'em up where the player controls a ship that can fire lasers.
Let’s attach a Behavior that will allow the player to fire a laser when the spacebar button is pressed.
Attaching a Behavior
To attach a Behavior, perform the following steps:
- Open the desired Actor Type (or Scene).
- Click the Behaviors tab.
- Click the Add Behavior button.
- Find and select the desired Behavior.
- Click Choose.
Configuring a Behavior
Behaviors can be reused and configured individually for different Actor Types or Scenes. For example, if you attach a Walking behavior to an Actor Type, you'd like to be able to configure its walking speed.
The customization occurs on the Behaviors tab, by modifying parameters called Attributes.
Let’s configure the Fire Laser Behavior for our ship Actor. First, select the Behavior you want to customize, and then fill in values for each field that’s displayed.
In this ship example, we...
- Pick a sound effect
- Pick a “bullet” Actor Type
- Set the initial directions
- Set an initial speed of 800 for the laser
Now that the Fire Laser Behavior has now been attached and configured, let's see this in action.
The Demo Game
(Press spacebar to fire the laser)
Actor Type vs. Scene Behaviors
The Behavior we created was an Actor Type Behavior and thus is available to be attached to any Actor Type (e.g., the ship).
We also have the ability to create Scene Behaviors that can get attached to any Scene. An example of this would be a "spawn" Behavior that periodically creates new enemies at the top of the screen.
Peeking under the Hood
Let’s take a look at a typical Behavior.
On the left you see a list of Events that can happen, and on the right, you see the response to the currently selected event. You can click on other events to display their associated responses.
We'll talk much more about what's happening on the right side later in this chapter.
What are Events?
Events are the building blocks of Behaviors. In short, they’re things that happen in your game that can trigger some kind of action, or response.
Returning to our vertical shoot ‘em up example, remember that when the player presses the spacebar, the player’s ship fires a laser.
In this case, hitting the spacebar is the event, and firing the laser is the response. The event and response are related by cause and effect.
- Behaviors are reusable, configurable “abilities” that you attach to Actor Types or Scenes.
- The same Behavior can be customized for multiple Actor Types or Scenes by setting Attributes.
- Behaviors are composed of Events, which are things that happen in your game.
- Each Event has an associated response, which determines what actions are carried out when the Event occurs.
I am a Chinese.Yours language is too diffcult.I even can’t understand this chapter!
Only a summary about the behavior, etc.
Why not just code the events into the actor event queue? I understand using behaviors when multiple actors will be using them but since, in this example, only the one ship is going to be firing the laser, what's the point of adding it as a behavior?
nothing really works. ive tried like a million times before and it never worked. how do I get it to work?!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!
I don't have "Fire Laser" as one of my available Behaviors.
It seems like this was written as a general guideline for adding behaviors rather than as a step by step tutorial. I managed to follow along anyway by making a ship actor type and bullet actor type from the resources in Crash Course 2, creating a scene and placing the ship actor type into the scene. Then I attached the Fire Bullet behavior from the library included with Stencyl, to my ship actor, since I didn't find the Fire Laser behavior in the library. Worked same as the example except there is no sound option in the Fire Bullet behavior. I found it helpful to review Crash Course 1 to remind me how to add behaviors.
I could not find a demo to download in order to do the modifications in this and the next tutorials. The only thing on Stencylforge available was a completely finished game called Shoot Em Up (and a much much more complicated game than the examples used here).
(I mean, source code empty with only the necessary things)
if you download the "Shoot em Up Example" you will find that the game is already finished with lots of additional things and task already made, so I think that the source code could be necessary to beginners. Please let me know if I am in a mistake with the source code.
at the StencylForge search for "Shoot em Up Example"