# Turbo Docs > Make low-res, sprite-based 2D games as fast as possible. ## Docs - [Example](/example): This is an example page. - [Cheatsheet](/learn/cheatsheet): ↑ ↑ ↓ ↓ ← → ← → B A - [Getting Started](/learn/getting-started): A sword wields no strength unless the hand that holds it has courage. - [Installation](/learn/installation): It’s dangerous to go alone! Take this. - [Audio](/learn/api/audio): The `audio` module provides methods for playing back project's audio files. - [Bounds](/learn/api/bounds): ![Bounds example showing a simple button row](/bounds_example.gif) - [Camera](/learn/api/camera): The `camera` module provides methods to shift the window's viewport of your game's canvas. - [Circles](/learn/api/circles): ![Circle Screenshot](/circle_screenshot.png) - [Background Color](/learn/api/clear): You can clear your game's canvas and set the background color using the `clear` method. - [Ellipses](/learn/api/ellipses): ![Ellipse Screenshot](/ellipse_screenshot.png) - [Events](/learn/api/events): Use `Events` to interface with the parent window for your game after you export to the web. This is most commonly used to start and stop ads, but can also be used for any interaction between your game and the website it is hosted on. - [Gamepad](/learn/api/gamepad): Turbo gamepad layouts are similar to a SNES controller. Gamepad controls for players 1 and 2 are automatically mapped to the keyboard: - [Keyboard](/learn/api/keyboard): The `Keyboard` API provides access to the full set of tracked keys, including standard input, modifiers, and extended function keys. Each key provides per-frame state transitions for ergonomic game or UI input handling. - [Lines](/learn/api/lines): ![Path Screenshot](/path_screenshot.png) - [Log](/learn/api/log): You can log messages to your console while the game is running via the `log!` macro. - [Mouse](/learn/api/mouse): The `Mouse` API provides a unified interface for querying the current mouse position, button states, and scroll behavior. It supports both screen-space (for UI) and world-space (for in-game interactions) access. - [Nine-Slice](/learn/api/nine-slices): ![Nine\_Slice Screenshot](/nine_slice.png) - [Pointer](/learn/api/pointer): The `Pointer` API provides a single interface for handling both mouse and touch inputs to maximize cross-platform compatibility. - [Randomness](/learn/api/randomness): Turbo's `random` module provides high-quality random number generation using the system's entropy source. It offers uniform distribution across various numeric types and includes utilities for common randomization tasks like shuffling and selection. - [Rectangles](/learn/api/rectangles): ![Rect Screenshot](/rect_screenshot.png) - [Save and Load](/learn/api/save): Use `Save` and `Load` to store data from Turbo into local storage, and retrieve it the next time the same user plays the game. - [Sprites](/learn/api/sprites): ![Doge Sprite Screenshot](/doge_animation_screencap.gif) - [Text](/learn/api/text): ![Magic Missile Screenshot](/magic_missile_screenshot.png) - [Text Box](/learn/api/text_box): ![Make Games Fast Screenshot](/make_games_fast_screenshot.png) - [Time](/learn/api/time): Turbo provides two main APIs for handling time: `tick()` for deterministic, monotonic time and `time::now()` for real-world Unix timestamps. - [Tween](/learn/api/tween): ![Tween example showing smooth animation](/tween-example.gif) - [Playing Music & Sounds](/learn/guides/audio): Follow these simple steps to integrate sound into your Turbo game: - [Using Turbo Command-Line Interface (CLI)](/learn/guides/cli): From here on out... you're Big Boss. - [Configuring Your Game](/learn/guides/configuration): Your project will initialize with a file called `turbo.toml`. You can modify this file to change various configuration options for your game. - [Debugging Your Code](/learn/guides/debugging): Ore no na wa Erā da… - [Adding Custom Fonts](/learn/guides/fonts): Inside your project directory, create a folder named `fonts`. This folder will contain all your game fonts. - [Keyboard Shortcuts](/learn/guides/keyboard-shortcuts): Like a Wario Stadium triple hop... but for your fingies - [Understanding Network Code](/learn/guides/netcode): ![Packet storm illustration](/turbi-reading-nobg.png) - [Creating Online Games](/learn/guides/online-games): Coming soon... - [Rust Language Basics](/learn/guides/rust-basics): All your bugs are belong to Rust - [Writing Custom Shaders](/learn/guides/shaders): Use [WebGPU Shader Language (WGSL)](https://google.github.io/tour-of-wgsl/) to add visual effects to your game. - [Sprites](/learn/guides/sprites): Inside your project directory, create a folder named `sprites`. This folder will contain all your game sprites. - [Publishing to the Web](/learn/guides/web-publishing): Run [`turbo export`](/learn/guides/cli). This will create a `www` directory with the files required to run your game on the web. - [Tutorial Name](/learn/tutorials/_template): Write something enticing - [Character Sheet](/learn/tutorials/character-sheet): Organize your player stats, level up your dev strats - [Hello, World!](/learn/tutorials/hello-world): Your very own Turbo legend is about to unfold - [Pancake Cat](/learn/tutorials/pancake-cat): Eat pancakes, become a legend. - [Space Shooter](/learn/tutorials/space-shooter-part-1): Manuever in zero G, shoot the baddies. - [Space Shooter (Part 2)](/learn/tutorials/space-shooter-part-2): Manuever in zero G, shoot the baddies. - [Channels](/learn/api/networking/channels): ![Two ghosts sharing a computer](/ghosts_at_computer.png) - [Commands](/learn/api/networking/commands): ![Turbi talking into a megaphone](/turbo-megaphone.png)