Creating a Simple Game in Alice

1 / 30

# Creating a Simple Game in Alice - PowerPoint PPT Presentation

Creating a Simple Game in Alice. Barb Ericson Georgia Institute of Technology June 2008. Objectives. Show how to create a simple game in Alice Creating methods in Alice Creating a field or property of an object Creating a variable Using a while loop Creating a Boolean function

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## Creating a Simple Game in Alice

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### Creating a Simple Game in Alice

Barb Ericson

Georgia Institute of Technology

June 2008

SimpleGameInAlice

Objectives
• Show how to create a simple game in Alice
• Creating methods in Alice
• Creating a field or property of an object
• Creating a variable
• Using a while loop
• Creating a Boolean function
• Creating a comment

SimpleGameInAlice

Things to Consider
• All objects in an Alice movie or game must be created before the game starts
• you can make them invisible to start
• click on properties and set the opacity to 0
• you can also hide objects by moving them under the ground
• move down some amount
• You can update a field (property) in an object to track if it has been clicked on

SimpleGameInAlice

Click the Zombie Game
• While the user hasn't won hide the zombie and after some random amount of time between 1-3 seconds have it pop up in a random place.
• If the user clicks on the zombie increment the number of hits and when it reaches 5 let the user know s/he won
• If the user doesn't click on the zombie within 1 second hide it again
• Add instructions at the beginning to let the user know how to play
• and then make them invisible after some amount of time

SimpleGameInAlice

Set-up the World
• Click on File -> New World
• Select the Template tab
• Click on the grass world
• click on open

SimpleGameInAlice

• Click the add objects button at the bottom of the scene
• Scroll to the City category and click on City
• Add some Buildings by dragging out some building clusters

SimpleGameInAlice

• Click on Local Gallery to get back to the list of categories
• Open the People category
• Scroll over to Zombie and add one to the world

SimpleGameInAlice

Hide the Zombie
• Create a method to hide the zombie
• Click on zombie in the object tree
• Click on methods in the details window
• Click the create new method button
• name the method hide

SimpleGameInAlice

The hide method
• Click on propertiesin the detail window
• Drag out opacity = 1 (100%)
• Put it in the hide method
• Change the opacity to 0 (0%)
• Click on methods
• Pull out zombie move down 2 meters

SimpleGameInAlice

Create the pop up method
• Click on methods
• Click the create new method button
• name the method popUp
• move the zombie randomly
• move the zombie up above the ground
• make the zombie visible

SimpleGameInAlice

Move the zombie randomly
• Start by dragging out zombie move tiles
• one for each of left, right, forward, and backward
• Click on world in the object tree to select it
• Click on functions in the details window
• Drag out random number and drop it on the 1 meter
• select 0 for min and 2 for the maximum

SimpleGameInAlice

• You can add a comment to explain what you are doing in English
• Drag a // tile from the bottom of the method editing window to where you wish to place the comment
• Click on the down arrow
• Select other
• Type in the comment

SimpleGameInAlice

Showing the zombie
• Click on zombie in the object tree to select it
• Click on methods in the details window
• Drag out a zombie move tile
• select up 2 meters
• Click on properties in the details window
• Drag out opacity = 0
• change to 1 (100%)

SimpleGameInAlice

• We need to store the number of hits on this zombie
• Click on the properties tab
• Click the create new variable button
• name the variable numHits
• set the value to 0

SimpleGameInAlice

Increment the number of hits
• If the user clicks on the zombie we want to add 1 to the number of hits so far
• Create a method that does this
• It should be a new zombie method

SimpleGameInAlice

Respond to mouse click on zombie
• In the events window click the create new event button
• select When the mouse is clicked on something
• Change the anything to the zombie (the entire zombie)
• Change the nothing to zombie incrementHits

SimpleGameInAlice

Method to run the game
• Click on world in the object tree
• Select methods
• Pull up a while tile from the bottom of the editor window
• select true
• Click on functions
• drag out a < b and drop it on true
• select 1 and 1

SimpleGameInAlice

While number of hits < 5
• Click on zombie in the object tree
• Click on properties
• drag out numHits = 0 and drop on the first 1
• Change the second 1 to 5
• click on other and enter 5

SimpleGameInAlice

Hide and wait a random amount of time
• Click on methods
• Drag out hide
• Drag up a wait tile from the bottom of the editor window
• select 1 second
• Click on world in the object tree
• click on functions
• drag out random number and drop on the 1 second

SimpleGameInAlice

pop up and wait for 1 second
• Drag out a zombie popUp
• Drag up a wait tile and select 1 second
• Try it out!
• What happens after you click on the zombie 5 times?

SimpleGameInAlice

Tell the user s/he won
• Add some 3D text that tells the user she or he won
• Click on File and then on Add 3D Text
• Type in the text
• you can change the font
• Place it where you want it to appear
• Click on add objects to get to the mouse controls
• Click on done when done

SimpleGameInAlice

Make the text invisible to start
• Click on the text in the object tree
• Click on properties
• Modify opacity to 0

SimpleGameInAlice

When the user wins show the text
• Drag out opacity = 0 to the method
• change to 1 (100%)
• Play the game!

SimpleGameInAlice

Speeding things up
• All animation takes 1 second by default
• you can change this using the more…
• Make the zombie move up or down and become visible and invisible at the same time
• use a do together from the bottom of the editor window

SimpleGameInAlice

• Create 3D text that tells the user what to do in the game
• When the game starts wait for 1 second
• then make the text invisible
• can set isShowing to false

SimpleGameInAlice

Show the number of hits
• Create 3D text that says Hits and one that says 0
• Click on the 0 in the object tree
• Click on properties
• Drag out text = 0
• select default string
• Use the mouse controls to position the text
• Click on Add Objects to see the mouse controls
• when done click on done

SimpleGameInAlice

World incrementHits method
• Add an incrementHits method to the world
• call the zombie incrementHits method
• click on 0 then properties
• drag out text = 0
• select default string
• replace the default string with the what as string function in the world to convert the number to a string
• choose expressions and pick zombie numHits as what to convert

SimpleGameInAlice

Change when mouse clicked
• Modify then when mouse is clicked on the zombie to call the world's incrementHits method
• Try it!

SimpleGameInAlice

Other Ideas
• Have the zombie play a sound when hit
• modify zombie incrementHits method
• use play sound in methods
• you can also record your own sounds
• click on properties for the zombie
• click on the + next to Sounds
• and record a sound and name it
• Count the number of times the zombie has appeared
• Add a way to lose
• maybe it will only run till it appears 10 times
• maybe add a timer and a time limit
• maybe add other objects that if you click on these you lose
• Make the amount of time you give the user to click on the zombie a random amount from 0.5 to 1 second

SimpleGameInAlice

Summary
• Alice can be used to create simple 3D games
• Concepts covered
• creating methods
• creating a property (field)
• creating a variable
• using a while loop
• creating a comment

SimpleGameInAlice