An open API service indexing awesome lists of open source software.

https://github.com/taublast/maui.game.spaceshooter

2D Arcade Game Etude built with DrawnUI for .NET MAUI
https://github.com/taublast/maui.game.spaceshooter

csharp dotnet dotnetmaui drawnui engine game game-development game-engine maui skia skiasharp

Last synced: 6 months ago
JSON representation

2D Arcade Game Etude built with DrawnUI for .NET MAUI

Awesome Lists containing this project

README

          

# _.NET MAUI_ Space Shooter Game

https://github.com/taublast/AppoMobi.Maui.DrawnUi.SpaceShooter/assets/25801194/30523e94-12d5-4740-8af3-bebf11ef317f

Built with [DrawnUI for .NET MAUI](https://github.com/taublast/DrawnUi.Maui)

## _The Challenge_

To create a simple yet heavily animated arcade cross-platform game, using .NET MAUI XAML with Skia drawn UI, showing all the advantages that [.NET MAUI](https://learn.microsoft.com/en-us/dotnet/maui) and [SkiaSharp](https://github.com/mono/SkiaSharp) provide.
The game runs on Android, Windows, iOS, and Mac (Catalyst), all from a single code base. Desktop versions support both mouse and keyboard.

## _Implementation_

Driven by [one](https://github.com/mooict/WPF-Space-shooter-game) of the awesome [ICT MOO tutorials](https://www.youtube.com/@mooict/videos), much content to play with, knowing we can do it all with .NET MAUI.

Free [Lottie animations](https://lottiefiles.com/) quickly fulfilled the need for animated content.

[DrawnUI](https://github.com/taublast/DrawnUi.Maui) was used to draw virtual controls on a Skia canvas.

## _Recap_

* Repo updated with latest DrawnUI nuget providing fluid game timing
* Android is hardware-accelerated with GL
* iOS and Mac Catalyst are hardware-accelerated with Apple Metal
* Windows is using hardware acceleration with Angle.

Desktop versions present non-resizable windows, capturing keyboard input.

[Lottie animations](https://lottiefiles.com/) have proven themselves to be very useful to quickly implement animations.

Attained result and FPS are fine.

With an optimized design, especially in regards to control caching, we could imagine more games and fancy animations built with [#dotnetmaui](https://twitter.com/search?q=%23dotnetmaui).

## _Licencing_

This code and the DrawnUI nuget are provided under the [MIT license](https://github.com/taublast/AppoMobi.Maui.DrawnUi.SpaceShooter?tab=MIT-1-ov-file#readme). ICT MOO space ships sprites come under the [Apache 2.0 license](https://github.com/mooict/WPF-Space-shooter-game?tab=Apache-2.0-1-ov-file#readme).