GithubHelp home page GithubHelp logo

blazorgalaga's Introduction

BlazorGalaga

A recreation of the classic Namco fixed shooter arcade game Galaga written in C# using the Blazor SPA framework and .NET Core. This is not an emulation or virtual machine, but a complete re-implementation of the game from the ground up.

Demo Here

BlazorGalaga

Blazor Extensions Canvas

The graphics are rendered using the HTML Canvas element, leveraging the Blazor Extensions Canvas library. This allows all drawing and animation to be implemented in C#.

Howler.Blazor

Sound logic is implemented using the Howler.Blazor library.

Mobile Support

Touch support for mobile is implemented with the Hammer.js Javascript library.

Peformance

The game is optimized to run at 60FPS. There are cases where rendering 40+ sprites at once will decrease performance on slower machines and phones. The animation engine contains logic that automatically adjusts FPS based on system performance.

Future Enhancements

The game runs on a serverless architecture or CDN. Because of this, high score saving logic is nonexistent. High score saving can be easily added, but a server to store the high scores will be required.

The game contains the first three challenge levels and infinite game levels. The original Galaga has eight total challenge levels and a maximum of 255 game levels. For the average player, these differences are unnoticeable as most players never make it past level 20.

blazorgalaga's People

Contributors

billycollinsmb avatar blazorguy avatar coltech avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.