1. This is how behaviors are used, the top section of the box is
known as the ʻconditionsʼ, these need to be met within the game
for the action to take place, for instance I have it set so when All
condition are valid (when the S key is pressed down) it shall move
downward at a speed of 300, this is set to be relative to the actor
which means depending on where the actor is it will move in that
relative direction.
These settings are vital for any actor, especially the physics,
if you arenʼt careful you actor may start floating everywhere, I
have the density at 500 meaning it is pretty much as dense
as it can be, so it will not break, friction at 3 which, creates
realistic feedback on movement, bounciness at 0 so the user
has full control, it has a fixed rotation as I do not want it to
rotate, it is moveable, collision shape at rectangle as the
object is a rectangle, this decides on how it will collide with
other objects, the ball would be set to circle.
These here are actors, they make the game up, anything
you want to put into the game must be made as an actor
so you can assign attributes and behaviors and so on.
These are the settings for the overall size of the scene, but these settings are
available on any actors to give you complete control over all size of anything in
the game, this here is handy for if you wish to publish to a different platform.
To be able to start making your game you need a
scene, here are some of the settings you can
change for the scene, such as color, Wrap X and Y
(meaning if something goes off the left of the screen
itʼll come back on the right) and many other useful
settings. The size I have left at default which is the
iPhone landscape preset but I could change this at
anytime depending on how I would like to publish
the game.
Here you can see me using what is known
as a ʻBooleanʼ value to set the serving for
player 1, this has either one of two
conditions, being either true or false. I
have it set so if the space bar is pressed
and it is player 1ʼs turn to server, it is true
that player 1 is serving the ball will spawn
on player 1ʼs side, this works almost the
same as normal conditions but just a bit
more complex in the way it works but a lot
more effective for creating a good game.
These are the color settings, these
enable you to change the color to
what ever you would like, by default I
have it set to black, or Alpha 1 (pretty
much meaning only the Alpha channel is showing). Like many other aspects of
GameSalad you can easily customize them and even use behaviors to change the
color, color settings are also available for all actors and the scene you are using.
2. The Constrain Attribute is a useful tool, using this I am able to
assign the paddle to always start at a certain area, so this one is
assigned to always start 20 pixels away from the far left of the
screen, and the other paddle is 20 pixels away from the far right.
An easier way to make things collide with each other is setting up a
group within the actors and name them ʻCollidableʼ which easily tells
me what this group is, put all the actors in it that you want to collide
and use this Collide attribute to make it bounce when it collides with
an actor with the tag of ʻCollidableʼ. then repeat on all actors. This is a
nice easy way to keep track of what actors are Collidable and what
are not, making bug testing easier in the future.
Here is the more graphical part when it
comes to making the game, you can just
drag and drop Actors into this scene
area and get the layout as you like it,
here you can see I have Paddle Player 1
and 2, set to both sides so I can see
what the game looks like, I have wall 1
and 2 which are the boundaries of the
game, I decided to put these in a little bit
to make them visible as I think this looks
nice and adds a nice vintage feel to the
game. You can easily see the safe area
and what is not, the grey area is the area which will not be included in the game.
Here we can starting being a bit more
creative and abstract with our game,
as you can see with the direction and
speed of the ball on bothʼ Change
Velocityʼ attributes I have set to
random, for instance the direction is
set to be random between -45
degrees and 45 degrees, the speed
is random between 350 and 500.
This brings a much more exciting
gameplay to the player rather than
having the same speed and direction
each time, it changes on each turn.
This is known as an ʻExpressionʼ
there are many different expressions
you can use within GameSalad to
add a more creative element to your
game.
This here is the simple part of
GameSalad, the project settings,
here you can change the title,
select a preset for the platform you
wish to develop for and the
description and instructions of the
game, these settings are rather
useful for keeping track of which
game you are working on if you are
developing different games, and
also the description and
instructions and tags get uploaded
to the GameSalad arcade if you
wish to publish to there, which is
rather neat and saves time.
3. At the top left and right of the Rules box you
can see a button that says ʻOnʼ, you can
click this to turn off this rule temporally and
to the left of that is an arrow to condense it
to make more room in your work area, at
the far right is an ʻxʼ which is used to
completely delete this Rules box.
These also make bug testing easier.
Here is an example of the Rules and
an example of using the ʻBooleanʼ
value.
The top part of the box is known as
the ʻConditionsʼ these conditions
need to be met in order for the
ʻActionʼ to take place, there is an
ʻOtherwiseʼ box so another action
may happen if these ʻConditionsʼ are
not met.
As you can see this Rules box contains a
Boolean attribute, which is a simple true or
false, both the conditions in this box must be
met, it must be player 1ʼs turn to serve and
the space bar must be pressed also
This section here is the ʻDoʼ part of
the Rules box, in the Conditions are
met this action will happen, here it
was spawn an Actor, specifically the
ball.
This bottom part of the Rules box is
the ʻOtherwiseʼ section, if the
Conditions are not met in the
Conditions box this action here will
be initiated rather than the ʻDoʼ
action.
In the Conditions section you can have it set so all conditions
must be met (valid) or only certain ones, I currently have it set
to All, but if I wanted I could have it set to just the space bar
being pressed, again these sort of settings can make bug
testing a lot easier later on, if a certain condition is messing
things up
Of course these attributes are fully customizable and you can
make many different changes, in the Spawn Actor attribute
you can change which Actor spawns, and where it spawns, I
have it set to ʻin front of actorʼ, it is also relative to the actor in
direction and position so where ever the actor is it will be
relative to that position and direction rather than having itʼs
own unique direction and position