Objective: To program a Kodu character to navigate a perilous canyon road while avoiding obstacles.
Introduction: In this assignment, you will build a game where your cycle must travel a narrow, winding path. You'll need to use your programming skills to control your character and avoid falling off the edge or hitting dangerous obstacles. Your goal is to make it to the other side safely.
Instructions:
World Setup:
Create a new world.
Using the "Ground Brush" tool, create a long, narrow, and winding path. Don't worry if it's not perfect—the more twists and turns, the more challenging your game will be!
Once you have your path, use the "Raise/Lower Ground" tool to give your road some elevation, making it feel like a raised canyon path.
Open the "Settings" menu and turn off the "Glass Walls" to make it possible to fall off the edges. This will make the game more challenging.
Character and Camera:
Add a "Cycle" character to one end of your path. This will be your main character.
Add a "Kodu" character and program it to serve as the narrator.
Change the camera view to follow the cycle closely from behind. This will give the game a more immersive feel.
Programming Your Character:
Select your cycle and open the programming editor.
Program your cycle to move forward, backward, left, and right using the arrow keys or a keyboard.
Add a "Do" command that makes your cycle move at a consistent speed. Experiment to find a speed that is challenging but not impossible to control.
Adding Obstacles:
Add obstacles to your road. These can be "Boulders," "Rocks," or any other static object that a character can run into.
Add a few "Wisp" characters and program them to fly across the road randomly. This will add a dynamic, moving challenge.
Add patches of "Lava" to the road. You will need to program your character to lose if it touches the lava.
Game Logic:
Program your cycle to lose if it falls off the edge of the path. Use a condition like "When I am not on the ground, show a message that says 'Game Over!'"
Program your cycle to lose if it hits an obstacle. For example, "When I bump into a wisp, show a message that says 'You crashed!'"
At the end of your path, add an object, like a "Castle" or a "Star." Program the game to show a winning message and stop the game when the cycle reaches this object. For example, "When I bump into the star, say 'You Win!' and show a score."
Submission:
Save your world and be prepared to show your finished game.
Be ready to explain how you programmed your character and your obstacles.
Challenge: Add a timer to your game to track how long it takes to complete the course!
1. World and Game Setup (30 Points)
World Creation (10 pts): A long, narrow, and winding path is created with no land on either side.
10 pts: Path is well-defined, challenging, and shows significant effort.
5 pts: Path is present but is too simple or too wide.
0 pts: Path is incomplete or missing.
Settings (10 pts): "Glass Walls" are turned off, allowing the player to fall.
10 pts: Glass walls are successfully disabled, and the game is playable.
5 pts: Glass walls are present, but the game is still playable.
0 pts: Glass walls are present and prevent the player from falling off.
Character and Camera (10 pts): A cycle is added and the camera view is set to follow the character.
10 pts: Cycle and camera are correctly set up to follow the character.
5 pts: The cycle is present, but the camera is not set to follow the character.
0 pts: The cycle is missing or the camera is not set up correctly.
2. Programming and Game Logic (45 Points)
Player Control (15 pts): The cycle is programmable and responds to keyboard commands for movement.
15 pts: All movement commands (forward, backward, left, right) are correctly programmed.
10 pts: Some movement commands are programmed but not all.
5 pts: Movement is programmed but is difficult to control or unresponsive.
0 pts: Movement is not programmed.
Obstacle Programming (15 pts): Obstacles are added and correctly programmed to penalize the player.
15 pts: Static obstacles (like rocks) and dynamic obstacles (like wisps) are correctly programmed to end the game when hit. Lava is also correctly programmed to end the game.
10 pts: Some obstacles are correctly programmed, but not all.
5 pts: Obstacles are present but do not affect the player.
0 pts: Obstacles are not present or are not programmed.
Win/Loss Conditions (15 pts): The game correctly identifies a winner or a loser based on the player's actions.
15 pts: The game displays a "You Win!" message when the cycle reaches the goal and a "Game Over!" message when the cycle falls or hits an obstacle.
10 pts: Only one condition (win or loss) is correctly programmed.
5 pts: The win or loss messages are present but are not triggered correctly.
0 pts: No win or loss conditions are programmed.
3. Creativity and Presentation (25 Points)
Aesthetics and Design (15 pts): The world is visually appealing, and the layout is well-thought-out.
15 pts: The path is creative and challenging. Obstacles are well-placed, and the world has a complete, polished look.
10 pts: The world is functional but lacks creative touches or polish.
5 pts: The world is simple and uninspired.
0 pts: The world is messy or unfinished.
Narrative and Narration (10 pts): A narrator is added and provides an introduction or commentary.
10 pts: A narrator is present and gives a clear introduction or provides helpful hints.
5 pts: A narrator is present but the dialogue is minimal or doesn't add to the game.
0 pts: A narrator is not present.