Chasing & Fleeing
Download Game PDF

Giants, Elves, & Wizards

Game Overview

Set up a rectangular playing area with end zones.

Divide the class into two teams.

Teams are taught the positions for Giants (“standing on your toes with your arms above your head”), Elves (“small as a ball while on your feet”), and Wizards (“lean back and cast a spell”).

Each team stands in their own end zone and has 10 seconds to secretly decide if, as a team, they are going to be Giants, Elves, or Wizards for that round.

Once time is up, each team forms a line facing the other team at the centre line of the playing area (there should be 3-4 steps in between each team).

On the teacher’s signal, each team “shows” their position for that round (i.e. Giants, Elves, or Wizards).

To decide who wins the round, the game uses a “Rock-Paper-Scissors” system:

  • Giants beat Elves,
  • Elves beat Wizards, and
  • Wizards beat Giants.

The team who loses the battle has to run back to their end zone as quickly as possible. The team who wins the battle has to chase the other team and attempt to tag the fleeing players before those fleeing players make it back to the end zone.

Any fleeing player who is tagged joins the opposing team. Play continues until one team successfully adds all of the players from the other team to their roster.

Learning Targets

Game Builds

Build One: Freeze & Show

In build one, the teacher will introduce the students to each position (Giants, Elves, & Wizards).

Once the students know how to perform the three positions, the teacher invites the class to get into a scattered formation.

The teacher will then play music. While the music is playing, the students move around the playing area while respecting the boundaries and attempting to avoid contact with others. When the teacher stops the music, they will then shout out either “Giants!”, “Elves!”, or “Wizards”. Whichever position the teacher shout outs, the students need to quickly “show” that position (i.e. get into that position).

Build Two: Giants, Elves, Wizards RPS

In build two, the teacher marks end zones at each end of the playing area.

From there, the teacher explains the RPS system of the game: Giants beat Elves, Elves beat Wizards, and Wizards beat Giants.

Each team stands in their own end zone and has 10 seconds to secretly decide if, as a team, they are going to be Giants, Elves, or Wizards for that round.

Once time is up, each team forms a line facing the other team at the centre line of the playing area (there should be 3-4 steps in between each team).On the teacher’s signal, each team “shows” their position for that round (i.e. Giants, Elves, or Wizards). The team that wins gets a point and then the teams go back to their end zones.

Play continues until one team wins three points.

Build Three: Giants, Elves, & Wizards

Play continues just as in the previous build.

However, now the team who loses the battle has to run back to their end zone as quickly as possible.

The team who wins the battle has to chase the other team and attempt to tag the fleeing players before those fleeing players make it back to the end zone.

Any fleeing player who is tagged joins the opposing team.

Play continues until one team successfully adds all of the players from the other team to their roster.

Safety Considerations

Players should be careful to tag fleeing players softly.

Players should have enough room to turn and run without crashing into one another.

End zones should be deep enough to allow students to slow down before reaching the end.

Equipment Requirements

  • Cones
  • Pinnies
  • Music

More Games

Chasing & Fleeing

Key Tag

View Game
Chasing & Fleeing

Everyone’s IT Frozen Tag

View Game
Chasing & Fleeing

Flag Tag

View Game
// Blog CTA Click Tracking for GA4 // Add this script to your Webflow site's custom code section // Function to track CTA clicks function trackBlogCTA(ctaLocation, ctaText, destinationUrl) { // Send event to GA4 if (typeof gtag !== 'undefined') { gtag('event', 'blog_cta_click', { 'event_category': 'Blog CTA', 'event_label': ctaText, 'cta_location': ctaLocation, // 'top', 'middle', 'bottom', 'inline' 'blog_post': window.location.pathname, 'destination_url': destinationUrl }); console.log('Blog CTA tracked:', { location: ctaLocation, text: ctaText, post: window.location.pathname }); } } // Automatically track all CTA clicks on blog posts document.addEventListener('DOMContentLoaded', function() { // Only run on blog post pages if (!window.location.pathname.includes('/blog/')) return; // Find all CTA links (adjust selectors based on your site structure) const ctaSelectors = [ 'a[href*="/membership"]', 'a[href*="/join"]', 'a[href*="physedu"]', 'a.cta-button', // If you have a specific class 'a.button-primary' // Adjust to match your button classes ]; // Combine all selectors const allCTALinks = document.querySelectorAll(ctaSelectors.join(', ')); allCTALinks.forEach(function(link) { link.addEventListener('click', function(e) { // Determine CTA location based on position on page const rect = link.getBoundingClientRect(); const scrollPos = window.scrollY + rect.top; const pageHeight = document.body.scrollHeight; const relativePos = scrollPos / pageHeight; let ctaLocation = 'middle'; if (relativePos < 0.25) ctaLocation = 'top'; else if (relativePos > 0.75) ctaLocation = 'bottom'; // Get CTA text const ctaText = link.textContent.trim() || link.getAttribute('aria-label') || 'Unknown'; // Get destination URL const destinationUrl = link.getAttribute('href'); // Track the click trackBlogCTA(ctaLocation, ctaText, destinationUrl); }); }); console.log('Blog CTA tracking initialized. Found ' + allCTALinks.length + ' CTA links.'); }); // Alternative: Manual tracking function you can call from specific CTAs // Usage: window.trackBlogCTA = trackBlogCTA; // #PhysEdU Membership Conversion Tracking // Add this to Webflow Project Settings > Custom Code > Footer Code // Track when someone clicks to join #PhysEdU (starts checkout) document.addEventListener('DOMContentLoaded', function() { // Find all links to Circle checkout pages const checkoutLinks = document.querySelectorAll('a[href*="physedu.circle.so/checkout"]'); checkoutLinks.forEach(function(link) { link.addEventListener('click', function(e) { // Determine which tier based on URL let tier = 'unknown'; let value = 0; if (link.href.includes('/checkout/community')) { tier = 'community'; value = 10; } else if (link.href.includes('/checkout/plus')) { tier = 'plus'; value = 49; } else if (link.href.includes('/checkout/pro')) { tier = 'pro'; value = 99; } // Track the checkout initiation if (typeof gtag !== 'undefined') { gtag('event', 'begin_checkout', { 'event_category': 'PhysEdU Membership', 'event_label': tier, 'value': value, 'currency': 'USD', 'items': [{ 'item_id': 'physedu_' + tier, 'item_name': '#PhysEdU ' + tier.charAt(0).toUpperCase() + tier.slice(1), 'price': value, 'quantity': 1 }] }); console.log('Tracked: Begin checkout for #PhysEdU ' + tier); } }); }); console.log('PhysEdU checkout tracking initialized. Found ' + checkoutLinks.length + ' checkout links.'); }); // Track successful membership signup (when they return from Circle) // This checks if they're landing on a page after successful Circle checkout window.addEventListener('load', function() { // Check if URL contains success parameters // Circle typically adds parameters like ?success=true or redirects to a specific page const urlParams = new URLSearchParams(window.location.search); // Check for common success indicators const hasSuccess = urlParams.get('success') === 'true' || urlParams.get('checkout') === 'success' || urlParams.get('member') === 'new' || document.referrer.includes('circle.so/checkout'); // Also check if landing on a "welcome" or "success" page const isWelcomePage = window.location.pathname.includes('/welcome') || window.location.pathname.includes('/success') || window.location.pathname.includes('/getting-started'); if (hasSuccess || (isWelcomePage && document.referrer.includes('circle.so'))) { // Try to determine tier from URL or page content let tier = 'community'; // default assumption let value = 10; // Check URL for tier indicators if (urlParams.get('tier') === 'plus' || window.location.href.includes('plus')) { tier = 'plus'; value = 49; } else if (urlParams.get('tier') === 'pro' || window.location.href.includes('pro')) { tier = 'pro'; value = 99; } // Fire the conversion event if (typeof gtag !== 'undefined') { gtag('event', 'physedu_signup', { 'event_category': 'PhysEdU Membership', 'event_label': tier, 'value': value, 'currency': 'USD', 'transaction_id': 'physedu_' + Date.now(), // Simple unique ID 'items': [{ 'item_id': 'physedu_' + tier, 'item_name': '#PhysEdU ' + tier.charAt(0).toUpperCase() + tier.slice(1), 'price': value, 'quantity': 1 }] }); // Also fire a generic conversion event gtag('event', 'conversion', { 'send_to': 'AW-CONVERSION-ID/physedu_signup', // Update with your conversion ID if using Google Ads 'value': value, 'currency': 'USD', 'transaction_id': 'physedu_' + Date.now() }); console.log('Tracked: PhysEdU signup conversion - ' + tier + ' tier ($' + value + ')'); // Set a flag so we don't track this twice if they refresh sessionStorage.setItem('physedu_signup_tracked', 'true'); } } });