---
title: "PENALTY"
url: "https://aigamehub.app/en/games/hack-united-penalty-shootout-fdd79f"
source: "https://github.com/aarifmahdi/hack-united-penalty-shootout"
source_type: "github"
play_url: "https://aarifmahdi.github.io/hack-united-penalty-shootout/"
platform: "unknown"
login_required: false
pricing: "free"
origin: "original"
ai_tools: []
game_languages: ["en"]
author: "aarifmahdi"
author_handle: "aarifmahdi"
category: "Casual"
categories: ["casual", "simulation"]
tags: ["browser-game", "football", "hackathon", "penalty-shootout", "sports", "vanilla-js"]
added: "2026-11-06T06:09:42.264Z"
updated: "2026-11-06T06:09:42.264Z"
locale: "en"
content_locale: "en"
---

# PENALTY

A console-styled browser penalty shootout: pick a national team, take five kicks choosing left, straight or right against a randomly reacting keeper, and settle a tie with sudden death.

## Description

PENALTY is a small browser game built with plain HTML, CSS and JavaScript. In the team-select screen you choose France, Spain, Argentina or Norway; Argentina faces France and every other choice faces Argentina. You then take five penalties, picking a direction (left, straight or right) for each kick while the opposing keeper reacts at random, so no fixed pattern can be learned. If the score is level after five kicks the match goes to sudden death. The presentation is a monochrome console look with a single green accent, and the game runs directly from GitHub Pages or from a local static server with no build step or install.

## Original post

1st INTERNATIONAL HACKATHON PARTICIPATION: This vibe-coded project is built for and submitted to HACKATHON "Hack United V7" hosted @ devpost. Play the game here: https://aarifmahdi.github.io/hack-united-penalty-shootout/

Topics: game, hackathon, vibecoding

# PENALTY — Hack United Submission A console-styled penalty shootout built for the **Sports** track. ## The idea Pick a team — France, Spain, Argentina, or Norway. Argentina fans face off against France; everyone else faces Argentina. Take 5 penalties, pick a direction (left / straight / right), and try to beat the keeper — who reacts randomly, so no pattern to learn, every match plays differently. If it's tied after 5, it goes to sudden death, just like a real shootout. ## Why it's built this way - **No frameworks** Pure HTML/CSS/JS so it loads instantly and runs anywhere, including directly off GitHub Pages. ## Run it Just open `index.html` in a browser — no install needed. Or serve it locally: ```bash python3 -m http.server 8000 # then visit http://localhost:8000 ``` ## Project structure ``` index.html — markup / screens (select, game, result) style.css — monochrome console look, single green accent script.js — game state + logic, plain vanilla JS assets/ — reserved for sound effects (see below) ``` ## What's next (stretch goals, not yet built) - Sound design: rising crowd tension before each kick, goal roar, save groan - Live/upcoming World Cup match ticker at the top of the game screen - Special "taunt" celebration animation when Argentina's keeper saves a shot - Difficulty tiers via adjustable opponent accuracy
