Blazor and WebAssembly

The core of the project. Explain how Blazor WebAssembly works, its benefits, and its role in creating interactive web applications.

Game Loop and Performance

Explain how the game loop is implemented in C#, the importance of 60FPS, and techniques used for performance optimization.

Canvas Interaction

Describe the use of Blazor.Extensions.Canvas for rendering graphics. Explain how C# code manipulates the canvas.

Sound Implementation

Detail the integration of Howler.js, how sound effects are loaded, and the role of IJSRuntime in interfacing with JavaScript.

Input Handling

Explain the use of Hammer.js for touch, swipe, and pan input, and how input events are processed in C#.

Game State and Logic

Explain how the game state is managed, how the game logic is implemented, and the main game objects involved.

Game Architecture

Describe the overall structure of the project, how classes are organized, and the relationships between different components.

C# Code Walkthrough

Provide guided walkthroughs of key C# code files, explaining how they interact with Blazor, the canvas, and JavaScript.

JavaScript Interop

Elaborate on the use of IJSRuntime to communicate between C# and JavaScript.

Debugging and Testing

Discuss strategies for debugging and testing the game, particularly related to performance and interop issues.

Code Style and Conventions

Highlight any particular code style or conventions used in the project.

Future Directions

Explore potential areas for expansion and improvement of the game, such as adding new features, improving the user interface, or exploring different game mechanics.

Codebase

Learn the codebase to contribute to pacmanblazor