Grade Level: Middle School
Time Required: 1-2 Class Periods (45-60 minutes each)
Subject: Computer Science / Game Design
Tools Needed: KODU Game Lab, Computers
Design Process - Create - Test - Refine
Students will:
✅ Learn how to create an interactive underwater scene in KODU.
✅ Understand basic KODU programming concepts, including object behaviors.
✅ Experiment with animations, movement, and environmental settings.
✅ Develop problem-solving and creativity skills.
Discuss the concept of an interactive fish tank in KODU.
Show screenshots or play a portion of the video to introduce key features.
Ask students:
What do they think makes a good underwater scene?
How can they program fish to swim realistically?
What kind of objects would they like to add?
Step 1: Setting Up the Environment
Open KODU Game Lab and create a new world.
Use the Ground Brush to create an underwater terrain.
Adjust the world settings to make it look like an ocean floor.
Step 2: Adding Objects
Add multiple fish characters (use KODU or other creatures).
Add decorative elements like rocks, seaweed, and coral.
Step 3: Programming the Fish
Select a fish and open the programming editor.
Use these commands:
WHEN: Always → DO: Move forward (to simulate swimming).
WHEN: See another fish → DO: Turn randomly.
WHEN: Bump into a rock → DO: Bounce off.
Step 4: Making the Scene More Interactive
Add bubbles that appear when fish move.
Change fish colors to make the scene unique.
Experiment with fish speeds for variety.
Let students run their fish tank simulation.
Encourage them to tweak their fish behaviors.
If the fish behave unexpectedly, discuss debugging strategies.
Ask students:
What did they enjoy most about creating their fish tank?
What challenges did they face?
How could they improve their fish tank (e.g., adding more AI behaviors)?
✔️ Creativity: How well did students design their fish tank?
✔️ Programming Logic: Did their fish behave as expected?
✔️ Problem-Solving: Did students debug and improve their scene?
✔️ Engagement: Did they actively participate and discuss their work?
Challenge students to add a shark that chases the fish.
Introduce player interaction (e.g., dropping fish food that fish swim toward).
Have students record and narrate a video of their fish tank creation.
✔ Demonstrate creativity and innovation → Students design their own unique fish tanks, choosing objects, colors, and behaviors.
✔ Demonstrate critical thinking and problem-solving → They must debug behaviors when fish do not swim as expected.
✔ Demonstrate initiative and self-direction → Students independently design, test, and improve their fish tank.
✔ Collaborate with team members → If students work in pairs, they must discuss and divide tasks.
✔ Demonstrate listening and speaking skills → Students explain their design choices and programming logic during class discussions.
✔ Demonstrate big-picture thinking → Students understand how different elements (terrain, objects, movement) combine to create an interactive scene.
✔ Demonstrate continuous learning and adaptability → They iterate on their fish tank design based on feedback and testing.
✔ Manage time and resources → They must complete the project within the class period.
✔ Demonstrate proficiency with technologies, tools, and machines common to a specific occupation → Using KODU Game Lab introduces students to programming, AI behavior, and game development.
✔ Define technology → Students explore how programming shapes interactive experiences.
✔ Identify how technologies have emerged through the use of engineering → They see how AI behaviors and environmental settings create an immersive experience.
✔ Describe how society affects technology and technology affects society → Students can discuss how AI and virtual environments are used in gaming, simulations, and education.
✔ Demonstrate the safe use of a minimum of three tools and/or pieces of equipment as part of the design process → Students use terrain tools, object placement, and AI behavior programming within KODU.
✔ Describe the Virginia Department of Education (VDOE) engineering design process → The lesson follows an iterative design model: Plan → Create → Test → Improve.
✔ Demonstrate the use of an engineering design process → Students define their fish tank goals, program the fish, and evaluate their designs.
✔ Define the goal of a challenge → The goal is to create a realistic and interactive fish tank in KODU.
✔ Design a device using criteria and constraints → They must program fish movements and behaviors within KODU’s rules.
✔ Evaluate viable solutions → Students test how different movement behaviors affect the scene.
✔ Select a solution → They refine fish behaviors based on testing.
✔ Plan the model or prototype → Students lay out their environment before adding fish.
✔ Produce a model or prototype → They create and program their fish tank.
✔ Assess the design → They observe and modify their project as needed.
✔ Describe how the solution could be improved → Students reflect on additional features they could add.
✔ Communicate the results → They share their project with peers and explain their choices.
✔ Illustrate how processes change inputs to outputs in any system → Students use input (KODU programming commands) to create output (fish behaviors and interactions).
✔ Describe the computation, automation, AI, and robotics contexts of technology and engineering → Students program fish using AI logic, understanding how simple rule-based programming affects behavior.
This lesson aligns strongly with many STEM, computer science, and engineering design competencies. It reinforces problem-solving, digital literacy, and computational thinking—all essential skills for middle school students preparing for future careers in technology.
Follow the directions in the video below to make your own working fish tank on Kodu! Everything in the tank should work and move by itself, and the fish even get fed! The trick is to code all of the objects to work without any input. That means they work without someone using a controller or keyboard.
Look at how the objects move on their own, could you add some of this programming to your other games to make them more interesting?
What could you add to this game to make it more interesting? Could there be more fish that follow different things? How could the baby fish get fed?