From cf8210c421d65ebbc63f6ec90d3e1c247c9e770a Mon Sep 17 00:00:00 2001 From: Gwilym Inzani Date: Sat, 25 Feb 2023 23:05:28 +0000 Subject: [PATCH] Add a section about why you would want to use agb --- book/src/introduction/introduction.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/book/src/introduction/introduction.md b/book/src/introduction/introduction.md index fa9b7a03..e465f425 100644 --- a/book/src/introduction/introduction.md +++ b/book/src/introduction/introduction.md @@ -3,6 +3,32 @@ **agb** is a powerful and easy-to-use library for writing games for the Game Boy Advance (GBA) in rust. It provides an abstracted interface to the hardware, allowing you to take full advantage of its capabilities without needing to know the low-level details of its implementation. +## A little bit about agb + +`agb` is a library for making games on the Game Boy Advance using the Rust +programming language. The library's main focus is to provide an abstraction +that allows you to develop games which take advantage of the GBA's capabilities +without needing to have extensive knowledge of its low-level implementation. + +agb provides the following features: + +* Simple build process with minimal dependencies +* Built in importing of sprites, backgrounds, music and sound effects +* High performance audio mixer +* Easy to use sprite and tiled background usage +* A global allocator allowing for use of both `core` and `alloc` + +## Why rust? + +Rust is an excellent choice of language for developing games on low-level embedded hardware like the GBA. +Its strong type system, memory safety, and performance optimizations make it well-suited for building reliable and efficient code in this context. + +Agb leverages rust's unique features by using the type system to model the GBA's hardware. +This approach helps prevent common programming errors and allows developers to quickly build games that function correctly on the GBA platform. + +In addition to safety and correctness, rust's performance optimizations are crucial for developing games on the GBA's slow processor. +With a limited amount of time per frame, every optimization counts, and rust's speed and efficiency help ensure that games built with agb run smoothly on the GBA hardware. + # What is in this book? This book serves as an introduction to agb, showcasing its capabilities and providing guidance on how to use it to build your own GBA games.