Web Development

Jumping Game

Overview

Developed as part of the Mayerfeld Practicum Program in collaboration with a 4-member development team, Jumping Game is an interactive, browser-based mini-game inspired by Chrome’s classic offline T-Rex mechanics.
The primary objective of the project was to engineer a responsive, pure Vanilla JavaScript game engine from scratch—focusing on fluid movement physics, real-time obstacle generation, collision logic, and dynamic DOM updates without relying on heavy external game libraries or frameworks.

The Challenge

The core challenge lay in building a smooth, lightweight game loop natively in the browser while coordinating effectively across a multi-developer workflow. Key technical requirements included:
     - Physics Simulation: Crafting responsive jumping mechanics and simulated gravity using JavaScript input events (e.g., Spacebar listener).

     - Precise Collision Detection: Calculating accurate bounding-box physics between the player asset and continuously moving dynamic obstacles.

     - Performance & Pacing: Ensuring consistent obstacle rendering and speed scaling over time without frame drops or visual lag across different browsers.

     - Collaborative Code Structure: Maintaining clean, clean-coded, and modular CSS/JS architecture across a 4-developer team structure.

Our Approach

Working within an agile collaborative team, we broke down the development process into clear front-end and algorithmic milestones:
     - Semantic HTML5 & Visual Hierarchy: Designed a clean visual layout, structuring the main game canvas area alongside real-time UI counters for current scores and high scores.

     - Custom CSS Animation & Layout: Styled character sprites, obstacle assets, and background landscapes using structured CSS hierarchies to ensure dynamic visual feedback during gameplay.

Core JavaScript Game Engine:
     - Keyboard & Touch Controls: Bound keyup/keydown listeners (Spacebar) to trigger realistic jump trajectories with parabolic gravity algorithms.

     - Obstacle Generation & Motion: Implemented timed interval loops to continuously spawn obstacles moving toward the player at synchronized speeds.

     - Real-time Collision Engine: Applied precise bounding-box detection logic inside a continuous requestAnimationFrame loop, instantly stopping the game session upon impact and triggering the "Game Over" screen and score overlay.

     - Dynamic Scoring System: Built an active score tracking system that increments as the player successfully navigates past obstacles.

Project Gallery

Results

The project successfully delivered a highly responsive, engaging, and lightweight web game that fulfilled all assignment criteria and showcased solid core JavaScript fundamentals:
     - Pure Vanilla JavaScript Architecture: Built a completely standalone mini-game with zero external dependencies, emphasizing high execution performance and clean DOM manipulation.

     - Seamless User Experience: Achieved zero-latency keyboard input response and smooth jump physics, offering an additive and intuitive gameplay loop.

     - Successful Team Collaboration: Successfully integrated modular features across a 4-person team, delivering a well-structured codebase within the Mayerfeld Practicum framework.

YEAR

2026

SERVICES

Web Development
Interactive & Game Design
Front-End Engineering

TOOLS & TECHNOLOGY

JavaScript

HTML5

CSS3

VS Code

Git

GitHub

TAGS

Web Development

JavaScript Mini-Game

Front-End Logic

Game Mechanics

Interactive UI

Team Collaboration

Interested in a similar project?