Gama
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
winegccfor 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:
gamacommand 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 projectgama build— Build the current projectgama run— Build and rungama 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!
Log in or sign up for Devpost to join the conversation.