https://github.com/infiland/gm2godot
A tool that converts GameMaker projects into Godot
https://github.com/infiland/gm2godot
game-development gamemaker godot godot-engine open-source recompiler reverse-engineering
Last synced: about 1 month ago
JSON representation
A tool that converts GameMaker projects into Godot
- Host: GitHub
- URL: https://github.com/infiland/gm2godot
- Owner: Infiland
- License: apache-2.0
- Created: 2024-07-21T00:08:03.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-22T17:24:41.000Z (over 1 year ago)
- Last Synced: 2024-10-10T11:05:17.450Z (over 1 year ago)
- Topics: game-development, gamemaker, godot, godot-engine, open-source, recompiler, reverse-engineering
- Language: Python
- Homepage:
- Size: 182 KB
- Stars: 7
- Watchers: 1
- Forks: 2
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# GM2Godot

GM2Godot is a modern, user-friendly tool designed to convert GameMaker (2024.14.2) projects to Godot (4.6.2) projects. It features a sleek dark-themed interface and intuitive controls for a seamless conversion experience.
## Features
- **Modern Dark Theme UI**: Clean, intuitive interface with modern design elements
- **Asset Conversion**: Converts various GameMaker assets to Godot format:
- Sprites and Images
- Sound Effects and Music
- Fonts
- Project Settings
- Game Icons
- Audio Bus Layout
- Notes and Documentation
- **Platform Support**: Converts settings for multiple platforms:
- Windows
- macOS
- Linux
- **Real-time Progress**: Visual feedback with progress bar and time tracking
- **Customizable Conversion**: Choose exactly which assets to convert
## What GM2Godot Is and Isn't
**GM2Godot is:**
- A modern asset conversion tool from GameMaker to Godot
- A time-saver for starting Godot projects from GameMaker
- A tool for developers who want to migrate their projects
**GM2Godot isn't:**
- A perfect 1:1 conversion tool
- A GML to GDScript transpiler *(yet)*
- A tool for converting compiled GM projects (use [UndertaleToolMod](https://github.com/UnderminersTeam/UndertaleModTool) instead)
## Releases
Downloadable releases include Windows (`.exe`), macOS (`.dmg` with `.app`), and Linux binaries. You can also run from source on Windows, macOS, and Linux.
To build a local macOS distributable (`.app` + `.dmg`), run `bash build_macos.sh` from the project root.
## Installation
### Prerequisites
- Python 3.9 or later
### Setup
1. **Clone the Repository**
```bash
git clone https://github.com/Infiland/GM2Godot
cd GM2Godot
```
2. **Create a Virtual Environment** (recommended)
```bash
python3 -m venv venv
```
3. **Activate the Virtual Environment**
- On macOS/Linux:
```bash
source venv/bin/activate
```
- On Windows:
```bash
venv\Scripts\activate
```
4. **Install Dependencies**
```bash
pip install -r requirements.txt
```
## Usage
1. **Launch the Application**
```bash
python main.py
```
2. **Configure Project Paths**
- Set your GameMaker project directory
- Set an empty Godot project directory
- **Important**: Godot directory must be empty to prevent data loss
3. **Configure Settings**
- Click the "Settings" button to open the configuration window
- Select which assets to convert:
- Assets (sprites, sounds, fonts)
- Project (icons, settings, audio)
- Work in Progress features
- Choose your target GameMaker platform
4. **Start Conversion**
- Click "Convert" to begin the process
- Monitor progress through the progress bar
- View detailed logs in the console
- Use the stop button if needed
## Contributing
We welcome contributions! Check out [CONTRIBUTING.md](https://github.com/Infiland/GM2Godot/blob/main/CONTRIBUTING.md) for guidelines.
To contribute:
1. Fork the repository
2. Create your feature branch
3. Commit your changes
4. Push to your branch
5. Create a Pull Request
## Support
- Report issues on our [GitHub Issues](https://github.com/Infiland/GM2Godot/issues) page
- Check our [Documentation](https://github.com/Infiland/GM2Godot/wiki) for detailed guides
- Join our community (Add community links if available)
---
## Instructions for Coding Agents (LLMs)
```text
You are setting up the GM2Godot project.
Ensure Python 3.9 or later is installed.
Create and activate a virtual environment:
python3 -m venv venv
source venv/bin/activate # On Windows use: venv\Scripts\activate
Install dependencies from requirements.txt:
pip install -r requirements.txt
The project uses PySide6 (not Tkinter). Required packages are:
- Pillow
- markdown2
- requests
- PySide6
Run the application using:
python main.py
Ensure all dependencies are installed correctly before execution.
```