C:\Users\Kevin\Projects\Field-Goal>

JavaScript • Crisp Game Lib • One-Button Game

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.

project: school one-button game prompt library: crisp game lib role: full mechanics + design programming

./project_summary

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

Gameplay Loop

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

./worked_well

What Worked Well

Difficulty Scaling

The 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 Feedback

The 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 Style

The bright pixel-style visuals help sell the football field atmosphere while keeping the game simple, readable, and arcade-like.

./potential_improvements

Potential Improvements

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

./tech_stack

Technical Focus

JavaScript Crisp Game Lib Visual Studio Code One-Button Design Arcade Gameplay Timing Mechanics Wind Physics Score Scaling Pixel Art Presentation
Previous
Previous

The Ascent

Next
Next

Splash