Classes have resumed - Summer Camp is Cancelled

SIMTEK GAME DEVELOPMENT
SIMTEK GAME DEVELOPMENT
  • Home
  • Schedule
  • Roblox Specialization
  • Java Specialization
  • Contact Us
  • Staff
  • Karate Club
    • Home
    • Schedule
    • Roblox Specialization
    • Java Specialization
    • Contact Us
    • Staff
    • Karate Club

  • Home
  • Schedule
  • Roblox Specialization
  • Java Specialization
  • Contact Us
  • Staff
  • Karate Club

Roblox Specialization

image267

Primers - Absolute Beginner

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.

White Belt Programmer

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


Yellow Belt Programmer

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 


Orange Belt - Draft

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

Green Belt - Black Belt: Requirements are Internal