Skip to content

v0.5

Choose a tag to compare

@Dr20Ervin Dr20Ervin released this 20 May 08:48
· 31 commits to master since this release

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 GameObject class branching out into explicit Paddle, Ball, and custom derived CpuPaddle classes.
  • State Machine Pipeline: Replaced rigid block logic with a dedicated GameState engine supporting an interactive MainMenu, runtime Playing environments, and seamless application shutdowns (GameOver).
  • Dynamic AI Opponent: Implemented a polymorphic CpuPaddle tracking routine equipped with internal state metrics mapping to Difficulty enum parameters (Easy, Normal, Hard).
  • Optimized Build Configurations: Cleaned up linker environments, tying essential native dependencies directly to raylib.lib and the Windows multimedia kernel (winmm.lib).

📋 Active Development Roadmap (v0.6 – v1.0)

We are actively tracking the upcoming system milestones via GitHub Issues:

  1. Issue #1: Local Multiplayer — Transition inputs to dynamic key mappings (W/S vs. Arrows) to decouple players from the AI thread.
  2. Issue #2: Audio Integration — Bootstrapping Raylib's multimedia layer (InitAudioDevice) to support hardware-mixed .wav collision and scoring alerts.
  3. Issue #3: Textures & Sprites — Swapping raster-rendered primitive bounding boxes for proper VRAM-cached 2D .png asset textures.
  4. Issue #4: UI Expansion — Building out secondary graphical option cascades for real-time difficulty switching.