Field Goal

An American football field-goal kicking simulator built around one-button timing, moving aim, wind influence, score scaling, and fast arcade-style retries.

Playable Link → GitHub Source Crisp Game Lib
Status Playable

Published one-button arcade game hosted as an interactive web project.

Build Type Solo

School one-button game prompt built around timing, aim, and fast retries.

Library Crisp Game Lib

JavaScript arcade game framework used for compact browser-based gameplay.

Field Goal Gameplay

Project Overview

Concept: Field Goal is a one-button kicking game where the player times a kick based on a moving aim indicator, then watches the ball travel through wind toward the goalpost.

Prompt: The game was created for a school one-button game prompt, with the core interaction designed around simple input and increasingly difficult timing.

Credits: I coded the mechanics and overall design. The background lights were made by Rohan Jhangiani.

Gameplay Loop

Core loopHow aiming, kicking, wind, and scoring fit together.
SystemDetails
Aiming
  • Uses a constantly moving circle sprite as the aim indicator
  • The player times their kick based on the circle's current angle
  • The aim indicator increases in speed as the score goes up
  • The system creates a simple but increasingly difficult timing challenge
Kicking
  • The ball launches when the player clicks or presses the input
  • The launch angle is based on the aim circle's position at the moment of input
  • The kick immediately commits the player to that trajectory
  • The result is readable because the aim-to-shot relationship is direct
Wind
  • Wind is randomized within a threshold
  • The wind threshold increases as the score goes up
  • After the kick, wind adjusts the ball's x-velocity while it travels
  • This adds pressure and variation beyond timing alone
Scoring
  • The game checks the ball once it reaches the aim sprite's y-value
  • The ball must be left of the right goalpost
  • The ball must be right of the left goalpost
  • The ball must be above the crossbar to score 3 points

What Worked Well

Production notesWhat made the loop feel good to play.
AspectDetail
Difficulty ScalingThe game becomes harder as the score increases, making each successful kick feel like it pushes the player into a more demanding version of the same loop.
Wind FeedbackThe wind system feels clear during play because it visibly affects the kick after the ball launches, creating a readable extra variable for the player.
Pixel StyleThe bright pixel-style visuals help sell the football field atmosphere while keeping the game simple, readable, and arcade-like.

Potential Improvements

Future improvementsWhere the presentation and feel could grow.
AreaIdeas
Depth Effect
  • Shrink the ball as it gets closer to the goalpost
  • Create a stronger sense of distance and depth
  • Make the flight path feel more visually dynamic
Kicking Animation
  • Add an actual kicking animation before the ball launches
  • Improve the moment-to-moment game feel
  • Make the kick feel more physical instead of instantly taking off

Technical Focus

JavaScriptCrisp Game LibVisual Studio CodeOne-Button DesignArcade GameplayTiming MechanicsWind PhysicsScore ScalingPixel Art Presentation

More projects like this

← Back to all projects