v0.6.1
Release v0.6.1-alpha: VRAM-Cached Textures, Custom Constructors & Core State Mapping
Welcome to the second alpha milestone of Pong Reloaded! Building on our previous OOP architectural foundation for the UTCN - ETTI Helios initiative, this version addresses critical components of our roadmap. We have migrated from basic procedural geometric primitives to a modern, VRAM-cached asset pipeline and expanded our runtime pipeline configuration.
🛠️ What's New in v0.6.1-alpha
1. VRAM-Cached Asset Pipelines (Issue #3)
- Direct GPU Texture Mapping: Completely replaced plain mathematical shape rasterization with proper hardware-accelerated asset textures using Raylib’s 2D texture pipeline.
- Component Texturing: * The
Ballclass dynamically switches from integer-casted raw circles to renderingbasic_ball_5.png. - The
PaddleandCpuPaddleclasses now load and map dedicated.pnggraphical variations (basic_paddle.png,basic_paddle_2.png). - The playing field environment utilizes explicit assets (
basic_space.pngfor court segments,walls.pngfor border structures, andline.pngfor center court strip rendering).
2. OOP Enhancements & Parameterized Constructors
- Resource-Linked Lifecycles: Introduced custom, overloaded object constructors managing both geometric data and path strings seamlessly at structural instantiation.
- RAII-Compliant Deallocation: Explicitly declared custom class destructors across physical game objects (
Paddle,Ball) to cleanly unmap hardware context blocks viaUnloadTexture()once execution loops terminate.
3. Gameplay State Machines & Core Menu Cascades
- Dynamic Menu Triggers: Wired the internal
GameStatestate machine directly to option metrics generated by user input blocks. Selecting singleplayer paths cleanly routes through the newDifficultySelectroutine before loading the runtime space. - Real-Time Context Adjustments: Modified the configuration stack to update baseline metrics dynamically. Setting difficulty states alters the processing steps of the
CpuPaddletracking module, binding variable tracking tolerances (CPU_SPEED_EASY,CPU_SPEED_NORMAL,CPU_SPEED_HARD) based on execution data.
📋 Active Development Roadmap (v0.7 – v1.0)
With asset pipelines stabilized, development shifts toward input systems and UI refinement:
- Issue #1: Local Multiplayer Input Decoupling — Re-architecting input processing lines inside
game.cppto map distinct keys (e.g.,W/Svs. default Arrow controls), completely decoupling player boundaries from the internal AI execution loops. - Issue #2: Audio Integration — Bootstrapping Raylib's native hardware multimedia hooks (
InitAudioDevice) to mix and dispatch immediate audio responses on collision flags and goal limits. - Issue #4: UI Menu Multi-Tier Expansion — Extending the settings cascade layout to manipulate audio configurations and mid-game engine variables on the fly.