Gama

Deploy mdBook site to Pages

Gama is a beginner-friendly toolkit and command-line utility for building native C projects—especially games—on both Linux and Windows. It provides a streamlined workflow, project templates (like Pong), and cross-platform build capabilities. Gama is aimed at high-schoolers and anyone with C basics who wants a fast, modern project setup.


Features

  • Cross-platform: Works on Linux and Windows.
  • Seamless Windows builds on Linux: Uses winegcc for compiling Windows binaries from Linux.
  • Backend flexibility: Uses WinAPI on Windows and GLFW on Linux.
  • Project templates: Quickly start projects like Pong, skeleton apps, and more.
  • Easy CLI: gama command to create, build, and manage projects.
  • Beginner-friendly: Simple structure and extensive documentation.

Quick Start

Installation

See the full installation guide for details.


Creating a New Project

Use the gama command-line utility to quickly bootstrap a new project:

gama create MyPongGame
cd MyPongGame
gama build -r

Available templates include:

  • pong — A complete Pong game in C
  • skeleton — Minimal starter project

See the Templates Guide for the full list.


Building

Gama supports cross-compiling Windows binaries directly from Linux using winegcc:

gama build       # build for platform
gama build -r    # build then run
gama build -wine # build for windows using wine, also takes -r

Backends

Gama abstracts away platform details, so you focus on writing portable C code. On Windows, Gama uses WinAPI; on Linux, it uses GLFW automatically.


Command-Line Usage

See all available commands with:

gama help

Common commands:

  • gama new <template> <project_name> — Create a new project
  • gama build — Build the current project
  • gama run — Build and run
  • gama build --platform=windows — Cross-compile for Windows (from Linux)

See the Gama CLI Reference for more.


Documentation

Full docs: gama.readthedocs.io


Example Projects


Contributing

Contributions are welcome! Check CONTRIBUTING.md or open an issue to get started.


Gama is designed to help new programmers build and run real native C projects on any desktop platform, with minimal setup and maximum fun. Happy coding!



Built With

Share this project:

Updates