Skip to content

A top-down action shooter built for Sandwich Jam 2. Features a unique "Control Decay" mechanic where players progressively lose keyboard inputs as they take damage. Developed with Unity & URP.

Notifications You must be signed in to change notification settings

Nisanur22/BulletPunk

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

9 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ”ซ BulletPunk

BulletPunk is a fast-paced, top-down action game developed for Sandwich Jam 2. The game was built around the theme "Losing Control," where the player's core mechanics are tied to their health and stability. Unlike traditional shooters, BulletPunk challenges players to survive as they progressively lose their ability to move and fight while under fire.

๐ŸŽฎ Jam Theme: "Losing Control"

In line with the jam theme, our character's control scheme is dynamic and fragile. As you take damage from enemies, you progressively lose keyboard controls. This mechanic turns every hit into a strategic crisis, forcing the player to adapt to a shrinking set of available inputs while trying to eliminate threats.

๐Ÿ•น Core Features

  • Theme-Driven Controls: A unique "Control Decay" system where keyboard inputs are disabled based on damage received.
  • Intense Top-Down Combat: Fast-paced arena survival mechanics.
  • Universal Render Pipeline (URP): Optimized 2D visuals with modern post-processing and lighting.
  • Interface-Based Interaction: Robust health and damage systems using decoupled C# interfaces.

๐Ÿ›  Technical Stack

  • Engine: Unity 6.0 (LTS)
  • Render Pipeline: Universal Render Pipeline (URP)
  • Scripting: C# (.NET Standard)
  • Input System: Unity Input System (optimized for Windows)
  • Platform: Windows PC (Build available)

๐Ÿ“ Project Structure

The repository follows a modular structure focused on the Jam's core mechanics:

BulletPunk/
โ”œโ”€โ”€ Assets/
โ”‚   โ”œโ”€โ”€ Scripts/
โ”‚   โ”‚   โ”œโ”€โ”€ _Core/      # Enums and core game constants
โ”‚   โ”‚   โ”œโ”€โ”€ Interfaces/ # IDamagable and IDebuffable systems
โ”‚   โ”‚   โ””โ”€โ”€ Managers/   # Input and Game state management
โ”‚   โ””โ”€โ”€ Settings/       # URP profiles and renderer settings

๐Ÿš€ Key Technical Highlights

Dynamic Input Decay

The project leverages the Unity Input System to manage player controls. I implemented a custom logic that listens to damage events through the IDamagable interface. When certain damage thresholds are met, the InputManager dynamically disables specific action maps, directly simulating the "Losing Control" theme.

Scalable Damage System

By using IDamagable and IDebuffable, the combat system is completely decoupled. This allowed us to quickly iterate during the jam, adding new enemy types or environmental hazards that interact with the player's health and control state without breaking the core codebase.

๐Ÿ”— Play on Itch.io

You can play the final Jam build and see the "Losing Control" mechanic in action here: ๐Ÿ‘‰ Play BulletPunk on itch.io

About

A top-down action shooter built for Sandwich Jam 2. Features a unique "Control Decay" mechanic where players progressively lose keyboard inputs as they take damage. Developed with Unity & URP.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%