Rewrite the introduction

This commit is contained in:
Gwilym Inzani 2023-02-25 22:03:18 +00:00
parent adeb24be4d
commit 0c6f3330aa

View file

@ -1,30 +1,26 @@
# Introduction # Introduction
**agb** is a library for writing games for the Game Boy Advance (GBA) in rust. **agb** is a powerful and easy-to-use library for writing games for the Game Boy Advance (GBA) in rust.
It is intended to make the process of producing games for the Game Boy Advance as easy as possible by giving you access to the hardware in an abstracted format, which allows you to take advantage of all that it has to offer, without needing to know the specifics of how it is implemented. 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.
# What is in this book? # What is in this book?
This book is intended as an introduction to what **agb** has to offer, and should set you up nicely to start writing games of your own. 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.
This book will not give a thorough overview of the specifics of the hardware implementation of the GBA unless it is needed as part of an explanation. It assumes that you have some experience with rust and game development, and provides detailed explanations of the unique challenges of writing games for the GBA.
An overview of the hardware can be found in chapter 2.
# Who is this book for? # Who is this book for?
This book is for: This book is ideal for anyone interested in writing games for the GBA using rust.
* **People who want to make games for the GBA.** First and foremost, games written using agb cannot run on any other platform except the GBA and emulators. If you don't want to write a game for the GBA, you should probably use a different library. If you're new to either rust or game development, you may want to start with some introductory resources before diving into this book.
* **People who have experience in rust.** Unless the rust specific syntax or semantics are important, we will not discuss details here and instead recommend reading the rust book before coming back. This book assumes a basic understanding of rust syntax and semantics, as well as game development concepts.
* **People with experience in writing games.** Game programming is hard, and harder still in rust on a GBA. We recommend writing a game for a more user friendly platform before coming back here.
If you fit into all of those categories, welcome!
It is super rewarding being able to play a game you made yourself on a piece of 20+ year old hardware.
# Helpful links # Helpful links
* [agb's GitHub](https://github.com/agbrs/agb) all development happens here * [agb's GitHub](https://github.com/agbrs/agb) is the primary development hub for the library.
* [agb's Discussion Page](https://github.com/agbrs/agb/discussions) a forum where you can ask for help on the usage of agb * [agb's Discussion Page](https://github.com/agbrs/agb/discussions) is a helpful forum where you can ask for help on using agb or share your projects with the community.
* [agb's crates.io page](https://crates.io/crates/agb) * [agb's crates.io page](https://crates.io/crates/agb) the latest version of the library on crates.io.
* [agb's documentation](https://docs.rs/agb) which is useful if you need a quick reference * [agb's documentation](https://docs.rs/agb) is a useful reference for the library's API and features.
* [Awesome Game Boy Advance development](https://github.com/gbdev/awesome-gbadev) contains links to popular libraries, emulators and the super friendly gbadev discord * [Awesome Game Boy Advance development](https://github.com/gbdev/awesome-gbadev) is a comprehensive resource for GBA development, with links to popular libraries, emulators, and the friendly gbadev Discord server.
* [Example game](https://lostimmortal.itch.io/the-hat-chooses-the-wizard) written using agb as part of the 2021 GMTK game jam. * [Example games](https://github.com/agbrs/agb/releases/latest) built using agb can be found in the `examples.zip` file attached to the latest release. Additionally, you can also check out [The Hat Chooses the Wizard](https://lostimmortal.itch.io/the-hat-chooses-the-wizard), a game written using agb as part of the GMTK 2021 game jam.
* [More example games](https://github.com/agbrs/agb/releases/latest) built using agb. See them in `examples.zip` attached to the latest release.
In addition to these resources, this book provides step-by-step instructions for getting started with agb.