v0.5
Release v0.5.0-alpha: Architecture Overhaul & Local Assets
Welcome to the first alpha release of Pong Reloaded! This milestone updates our foundational codebase from single-file procedural scripts into a structured, scalable Object-Oriented Programming (OOP) hierarchy.
This build fulfills the core academic and execution benchmarks for the UTCN - ETTI Helios Additional_activity initiative.
🛠️ What's New in v0.5
- OOP Inheritance Model: Integrated a virtual base
GameObjectclass branching out into explicitPaddle,Ball, and custom derivedCpuPaddleclasses. - State Machine Pipeline: Replaced rigid block logic with a dedicated
GameStateengine supporting an interactiveMainMenu, runtimePlayingenvironments, and seamless application shutdowns (GameOver). - Dynamic AI Opponent: Implemented a polymorphic
CpuPaddletracking routine equipped with internal state metrics mapping toDifficultyenum parameters (Easy,Normal,Hard). - Optimized Build Configurations: Cleaned up linker environments, tying essential native dependencies directly to
raylib.liband the Windows multimedia kernel (winmm.lib).
📋 Active Development Roadmap (v0.6 – v1.0)
We are actively tracking the upcoming system milestones via GitHub Issues:
- Issue #1: Local Multiplayer — Transition inputs to dynamic key mappings (
W/Svs. Arrows) to decouple players from the AI thread. - Issue #2: Audio Integration — Bootstrapping Raylib's multimedia layer (
InitAudioDevice) to support hardware-mixed.wavcollision and scoring alerts. - Issue #3: Textures & Sprites — Swapping raster-rendered primitive bounding boxes for proper VRAM-cached 2D
.pngasset textures. - Issue #4: UI Expansion — Building out secondary graphical option cascades for real-time difficulty switching.