Endzones

Game Overview

Play Area

The teacher sets up a playing area with two endzones at either end. The class is then divided into two teams.

Goal

The goal of the game is to outscore your opponents.

Play

The team in possession of the ball is on offence and is attempting to score points by completing a pass to a teammate who is standing inside the endzone that they are attacking.

When in possession of the ball, an offensive player’s movement is limited to pivoting.

Defensive players attempt to prevent points and/or regain possession of the ball by blocking or intercepting passes. When playing defence, players must adopt Warm Defence rules (i.e. arm’s distance away, no steals, no physical contact).

Should the offensive team drop the ball, have a pass blocked, or catch the ball outside the boundaries of the game, possession of the ball is given to their opponents. Play is restarted from where possession was regained.

Should the offensive team score, they give the ball to their opponents. Play is restarted at centre court - with both teams on their own side of the play area - and resumed by a backwards pass.

Safety

Remind students to be aware of their surroundings at all times. Students may not make physical contact with the other players.

Learning Targets

Game Builds

Build One: Static Group Juggling

In build one, the teacher will divide the class into two smaller groups.

Each group will be assigned to their own half of the playing area and will be asked to get into a circle formation.

Once the groups have formed their circles, the teacher will give each group a ball.

The groups' first task is simple: create a pattern by passing the ball around so that every member of the group gets to receive a pass before any member receives the ball twice.

Depending on the size of the groups, the teacher could also add a stipulation that players may not pass to their immediate neighbours.

Once a group has successfully created their pattern, they then call for the teacher's attention.

After observing the group's passing pattern, the teacher will then invite the group to continuously repeat the pattern over and over. So when the ball gets back to the initial passer, then just keep the pattern going.

As the groups maintain their passing patterns in this continuous kind of way, the teacher will add more balls to each groups pattern.

The groups' task is now to see how many balls they can keep moving in their pattern without dropping any of them.

In between builds, the teacher can bring the groups in to discuss what makes for a high quality pass and how to show your teammates that you are ready to receive a pass.


Build Two: Dynamic Group Juggling

In Build Two, both groups will go back down to a single ball that they need to pass in the pattern that they created in the previous build.

However, now when a player passes the ball, that player must then move to an open space on their half of the playing area. This means that groups will no longer be maintaining the circle formations that they held in build one. That said, a player in posession of the ball may only pivot and cannot run around with it.

As players pass and move, they count out loud how many completed passes they have successfully made. Should the ball be dropped at any point, that group simply restarts from where they left off in their pattern but bring their pass count back down to zero.

After each group has found their passing rhythm, the teacher can then modify the activity by no longer restricting that the groups remain in their half of the playing area. That means that groups are now playing in a shared space, but they may not interfere with the other group's passing.

In between builds, the teacher can lead a discussion on how the added movement of build two impacts the way students pass and receive the ball. The class can also discuss how they successfully identified and moved to open space.


Build Three: Star Ball

Now we are ready for a competitive build!

In build three, only one ball will be in the game. One group will start on offence and will begin the round while in possession of the ball. The other group will start on defense.

The offensive team's goal is to score a point by successfully completing five passes between a minimum of three players. If they successfuly do so, they earn a point and give the ball to the other team (who then starts their offensive rush from where they gained posession). If the offensive team drops the ball or catches the ball outside of the boundaries of the game, possession of the ball then goes to the opposing team.

The defensive team's goal is to prevent the offensive team from scoring by blocking or intercepting a pass. Defensive players may guard offensive players while using WARM defense, which means that they must play an arm's distance away from the player they are guarding, may not rip the ball away from the person they are guarding, and may not make any form of physical contact with their opponents.

Play goes on for a set amount of time or until a group reaches a pre-determined score.

In between rounds, the teacher can lead a discussion on tactics that can help create space for offensive players and how to make the most use of the playing area's dimensions.

Build Four: Endzones

In build four, the teacher will create two endzones at either end of the playing area.

The goal is now to score points by successfully passing the ball to a teammate in your offensive endzone.

Now here is my favourite part of this game: I like to apply NBA Jam rules to this build.

NBA Jam rules are a fun way to encourage teams to get more players involved by rewarding them for passing the ball. Here's how it works:

When a team successfully completes one pass, instead of calling "one" they call "COUNT IT!"

If they complete a second pass, they call "HEATING UP!"

If they complete a third pass, they call "ON FIRE!"

And, finally, if they complete a fourth pass, they call "BOOMSHAKALAKA!"

When the offensive team completes a pass to a teammate in the enzone that they are attacking, they earn points based on their progress along the NBA Jam Scale:

"COUNT IT!" = 1 point

"HEATING UP!" = 2 points

"ON FIRE!" = 3 points

"BOOMSHAKALAKA!" = 4 points

Here's the catch: teams may only move along this progression if they pass the ball to a player who had not yet received the ball in that offensive possesion. This way, teams gain an advantage by getting as many teammates involved as possible. This doesn't mean that a player who had already received the ball in that possession cannot receive it again, it just means that they wouldn't move up to the next level (e.g. "COUNT IT!", "HEATING UP!", "ON FIRE!", "ON FIRE!", "BOOMSHAKALAKA!").

When a team succesfully scores points, they give the ball back to their opponents. Play is restarted at center court with the offensive team beginning with a backward pass (that does not contribute to their NBA Jam Scale progress).

If the ball is dropped or is caught out of bounds, possession is exchanged and play is restarted with a pass from the sideline at the level where the ball was dropped or left play.

Just as in the previous build, players may only use Warm Defence.

Safety Considerations

Players should avoid making contact with their opponents.

When moving in general space, students should always move at speeds they can control with their eyes up.

Equipment Requirements

  • Pinnies
  • Cones
  • Gator Balls

More Games

Invasion

Crossover

View Game
Invasion

Prairie Dog Pickoff

View Game
Invasion

Speed Ball

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'); } } });