Classes have resumed - Summer Camp is Cancelled
Classes have resumed - Summer Camp is Cancelled
Typing and other basic computer skills. Must be able to type 20 words a minute without looking at the keyboard. Proper fingers on keyboard is enforced.
Video Playlist: https://www.youtube.com/playlist?list=PLF6jLhme_4j2IBx_pbf6UzSgF5ulGov-i
Must complete the seven feats of strength for Roblox Programming (adult students can opt for java feats of strength and have a minimum of 3 months of classes). These tasks must be repeatable without using reference material.
1. Color Part
Objective: Create a part that changes color when a character touches it.
- Video: https://youtu.be/D1xCvSFfSG8
- Declare a variable for the part
- Create a function to handle the touched event for the part
- Attempt to find a humanoid component within the colliding part
- Use an if statement to see if the humanoid exists
- Assign the part's color property a new value
- Connect the touched event to the event handler function
2. Disappearing PowerUp
Objective - Create a part that gives the character speed for 10 seconds, it disappears while the speed power is in effect, it reappears when speed wears off.
- Video: https://youtu.be/Gb893srFXuY
- Using a similar pattern to the first script, add the following.
- Use a boolean to see if the part was touched (debounce)
- Use two conditions in the if statement (humanoid and debounce) with a
logical "AND"
- Use the wait statement to pause the script
- Assign WalkSpeed to the humanoid
- Assign the object's CanCollide to false (if not already)
- Assign the object's Transparency to 100%
- Reassign original values after cooldown
3. Rotating Coin
Objective - Create a coin the rotates in the air
- Video: https://youtu.be/v9uDX3V-RK4
- Use a while loop to rotate the coin
- Change the parts orientation to spin an object on the y-axis
- Use Vector3 to assign orientation, i.e. X, Y, Z values
4. Leader Board
Objective - Create a leaderboard for points that is attached to every player that joins the game
- Video: https://youtu.be/6xNKXyy0j78
- Create an addBoard function to capture the PlayerAdded event
- Connect the PlayerAdded event to the addBoard function
- Assign a leaderboard to the Player in the addBoard function
- Add a currency and parent the object to the leaderboard in the addBoard function
5. Dispearing Pickup to Leaderboard
Object - Create a pickup that adds value to a stat on your leader board
- Video: https://youtu.be/mZw7plMWeqA
- Combine task 2 and task 4 to create a point system
- Capture the "player" in the touched event of the object using the humanoid
- Retrieve the leaderstats metric from the player
- Increment an attribute on the leaderstats
6. For Do Loops
Objectvie - loop through the objects changing their color
- Video: https://youtu.be/87PrxIrfbUI
- Add parts to a folder in the workspace
- Create a table with all the parts using GetChildren()
- Create a for loop to iterate through the folder in the table
- Change the color of each part in the folder
7. Create a button that when you press it, it prints a message
Objective - Create a UI with a text button
- Video: https://youtu.be/wqeSin8f8DM
- Change properties such as button size and position
- Change font size and style
- Use a client side script (LocalScripts) and attach it to the button
- Capture a button press event and connect it to a function
- Print a message to the screen when the button is press and make
the button disappear
Video playlist: https://www.youtube.com/playlist?list=PLF6jLhme_4j0LEHvLGLsetDxnUgzAdqUI
Must complete the seven feats of strength for Roblox Programming (adult students can opt for java feats of strength) and 3 months time in grade. These tasks must be repeatable without using reference material.
1. Teleport
Objective - Teleport a player from one location to another location
- Video: https://youtu.be/Sbn-R5FTYhA
- Create two parts (pads)
- Create a function that is called when you step on one of the
- pads.
- The function gets the HumanoidRootPart's CFrame of the Player.
- Create a new CFrame using the target pad's position.
- Add 5 units on the CFrame's Y position using a Vector3 so the
player "drops" onto the pad
- Assign the new CFrame to the HumanoidRootPart to move the character.
- Reverse the process to the player can teleport back
- Use a debounce with a cooldown
- Add a sound effect for the teleporter that fires on touch
2. Button that creates a part (Remote event - Client to Server)
Objective - When you press the button, activate a function in a local script
that uses a Remote event to trigger a serverside script to create a part
- Video: https://youtu.be/dkZa3C1cNJI
- Create a remote event in Replicated storage
- Get the remote event in the local script which is attached to the button
- Call the remove event's FireServer method in a function to handle the
button press event.
- Catch the remove event server side in a server script using OnServerEvent
- Create a part when OnServerEvent catches to remote event
3. Part that makes a button appear (Remote event - Server to Client)
Objective - When you step on the part, activate a function in a server script that
uses a Remote event to trigger a client side script to make a button visible
- Video: https://youtu.be/Uxe_WCSS2hQ
- Create a part in the world
- Add a script to the part and a touched event for the part
- Create a remote event in replicated storage
- Get the remove event from Replicated storage in the part script
- Fire the ClientFire event in the touched function for the part
- Create a button with the UI editor and make it invisible
- Add a local script to the button
- Catch the event (from the server) on the client side using OnClientEvent
- Attach a function OnClientEvent make the button visible
4. Set data to the DataStore on game exit
Objective - Create a function that stores the players data from the leaderboard so their
scores presist between games
- Create a saveData function passing in the player
- Store the leaderstats metrics (using the Value) in a table
- Use SetAsync with the player.UserId as the key and the table as the value
- Wrap the SetAsync in a pcall to make sure there wasn't a comms error
- Check for success, if there was a failure, print the msg
5. Get Data From the DataStore on entering the game
Objective - Create a function that retrieves the player's saved data from the datastore
so they have their previously obtained resources
- Create a iniPlayer function passing in the player
- Add the player's leaderboard to the player in initPlayer
- initialize a "data" table for the saved stats
- Use GetAsync to get the players data
- Wrap GetAsync in a pcall to make sure there wasn't a comms error
- Check for success of the pcall
- Check for stored data
- Assign the stored data to the leaderboard if exists (use Value)
6. Module Scripts and a Game Manager
Objective - Use a Module script to create a game manager with a library of functions
- Make a script for a game loop in ServerScriptService
- Make a module script and require it in the game loop (in ServerScriptService)
- Make a non-local function that's callable in the module script
- Call the function in the Module script from the GameLoop
7. Spawn things in the world stored in ServerStorage
Objective - Create a monster spawner
- Video Link: https://youtu.be/c_MGsAOkzPU
- Get a Drooling Zombie from the Toolbox and drag it into ServerStorage
- Create a script in ServerScriptService that clones the zomie
- Create a loop that periodically adds zombies to the world
- Control where the zombies are being added to the world
1. Capture Keyboard Event - Shift Run
2. Capture User Input - Mouse click
3. Create an Animation for a Tool
4. PathFinding
5. Find Closest Character
6. LookAt - Field of View using the Dot product between Vector3s