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: 5 months ago
JSON representation
2D Arcade Game Etude built with DrawnUI for .NET MAUI
- Host: GitHub
- URL: https://github.com/taublast/Maui.Game.SpaceShooter
- Owner: taublast
- License: mit
- Created: 2024-01-07T14:44:59.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-25T17:48:24.000Z (7 months ago)
- Last Synced: 2025-05-08T02:16:40.719Z (5 months ago)
- Topics: csharp, dotnet, dotnetmaui, drawnui, engine, game, game-development, game-engine, maui, skia, skiasharp
- Language: C#
- Homepage:
- Size: 9.27 MB
- Stars: 40
- Watchers: 4
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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).