Skip to content

dbircsak/freeze-tag-quake2-experiment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quake 2 Freeze Tag - AI-Assisted Development Experiment

This repository documents an experiment in AI-assisted game development, where AmpCode - Sourcegraph's AI coding agent - was used to modernize and enhance a classic Quake 2 Freeze Tag mod. This blog post captures the initial efforts: Getting Friendly with AI: More Amp.

Project Overview

  • q2_orig/: Original Quake 2 source code (76 files)
  • freeze_orig/: Legacy Freeze Tag implementation (78+ files)
  • freeze_new/: Modern AI-enhanced version with new features

What is Freeze Tag?

A 4-team multiplayer game mode where players freeze instead of dying. Teammates must thaw frozen players while avoiding being frozen themselves. The last team standing wins!

(Note: The core freeze tag gameplay exists in freeze_orig/ from the original implementation)

AI-Enhanced Features (So Far)

Working with AmpCode, we've begun adding modern enhancements to freeze_new/:

🎯 Start Weapon System ✅

  • Configurable starting weapons for newly spawned players
  • Bitwise flag system (start_weapon cvar: 1=shotgun, 2=super shotgun, 4=machinegun, etc.)
  • Automatic ammo allocation
  • Default loadout: shotgun + super shotgun + rocket launcher

🪝 Grappling Hook System ✅

  • Physics-based hook projectile with collision detection
  • Dynamic pull force based on chain length
  • Variable chain length control (grow/shrink modes)
  • Visual chain rendering
  • Configurable parameters via CVars

👥 4-Team Auto-Assignment System ✅

  • Automatic team balancing (Red, Blue, Green, Yellow)
  • Players auto-assigned to team with fewest members on join
  • Complete team damage prevention
  • CTF skins for visual team identification
  • Enhanced chat system with team indicators
  • Team-only communication support
  • Manual team switching via team command
  • Public announcements for team joins/switches

🎮 Still To Be Implemented

  • Port core freeze tag mechanics from freeze_orig/
  • Freeze/thaw player mechanics
  • Ready system and map voting

The AI Development Process

This project showcases what's possible when human creativity meets AI capability:

  • Planning: AmpCode analyzed the original code and proposed comprehensive implementation plans
  • Feature Development: From basic mechanics to complex grappling hook physics
  • Code Quality: Maintained original Q2 architecture while adding modern features
  • Documentation: Generated extensive inline documentation and configuration guides

AmpCode Stats

  • 3 new systems implemented so far (start weapons, grappling hook & 4-team system)
  • 6+ core files modified with AI assistance (freeze.h, freeze.c, g_local.h, p_client.c, g_combat.c, g_cmds.c)
  • ~800+ lines of new code generated for weapons, hooks and team systems
  • Full backward compatibility maintained with original Q2 architecture

Build Instructions

  1. Open freeze_new/src/game.sln in Visual Studio
  2. Build the solution
  3. Launch with freeze.bat or freeze - dedicated server.bat
  4. Configure via CVars and map-specific settings

Technical Notes

  • Built for Windows with Visual Studio integration
  • Complete multiplayer conversion (not just a mod)
  • Extensive CVAR configuration system
  • Compatible with original Q2 map formats

This project demonstrates the potential of AI-assisted game development, where classic gameplay meets modern development practices. Built with AmpCode - Sourcegraph's AI coding agent.

This README.md was generated by AmpCode.

About

Experiment to re-code Freeze Tag mod in Quake 2 with AI (Amp)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages