All Projects → GameMakerDiscord → Rubber

GameMakerDiscord / Rubber

Licence: MIT License
Javascript GMS2 commandline compilation

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Rubber

SNAP
Easy data format saving and loading for GameMaker Studio 2.3.2
Stars: ✭ 49 (+81.48%)
Mutual labels:  gamemaker, gms2
textboxy
Simple textboxes for Game Maker Studio 2
Stars: ✭ 58 (+114.81%)
Mutual labels:  gamemaker, gms2
stitch
A Gamemaker Studio 2 Pipeline Development Kit. A CLI and Node.JS API for creating GMS2 pipelines. Includes cross-project imports, batch-creating/updating sprites and sounds, texture page management, and more.
Stars: ✭ 54 (+100%)
Mutual labels:  gamemaker, gms2
handytools
A series of libraries to extend GameMaker 2022 LTS
Stars: ✭ 45 (+66.67%)
Mutual labels:  gamemaker, gms2
dotobj
.obj/.mtl loader, written in native GML, for GameMaker Studio 2.3
Stars: ✭ 27 (+0%)
Mutual labels:  gamemaker, gms2
iota
Miniature delta time and time dilation library for GameMaker Studio 2.3.2
Stars: ✭ 19 (-29.63%)
Mutual labels:  gamemaker, gms2
Kawase
Kawase dual filter blur for GameMaker Studio 2
Stars: ✭ 23 (-14.81%)
Mutual labels:  gamemaker, gms2
event-horizon
Custom global event firing/subscribing in GameMaker: Studio 2
Stars: ✭ 16 (-40.74%)
Mutual labels:  gamemaker
GMTest
GameMaker Testing Automation Suite
Stars: ✭ 14 (-48.15%)
Mutual labels:  gamemaker
sk
💀 GameMaker skeleton animation
Stars: ✭ 19 (-29.63%)
Mutual labels:  gamemaker
blur-shaders
A collection of blur shader examples, with a written tutorial.
Stars: ✭ 33 (+22.22%)
Mutual labels:  gamemaker
AGD-Studio
An integrated development environment for AGD
Stars: ✭ 39 (+44.44%)
Mutual labels:  gamemaker
sonic-gms2
A GameMaker Studio 2 template project used for constructing games based on the Sonic the Hedgehog series.
Stars: ✭ 18 (-33.33%)
Mutual labels:  gamemaker
gm extensions
📖 GameMaker Library Extensions
Stars: ✭ 14 (-48.15%)
Mutual labels:  gamemaker
SnowState
Finite State Machine for GameMaker
Stars: ✭ 90 (+233.33%)
Mutual labels:  gms2
gms2-destructible-terrain
⛰️ Collidable, destructible terrain in GameMaker Studio 2
Stars: ✭ 24 (-11.11%)
Mutual labels:  gamemaker
Sublime-GameMaker-Studio-Language-Bundle
A sublime bundle for GameMaker Language (GML)
Stars: ✭ 32 (+18.52%)
Mutual labels:  gamemaker
gamemaker-godot-dictionary
A dictionary for people moving from GM:S to Godot
Stars: ✭ 172 (+537.04%)
Mutual labels:  gamemaker
gml-support
GameMaker Language Support in Visual Studio Code.
Stars: ✭ 36 (+33.33%)
Mutual labels:  gms2
steamworks.gml
Various expansions to Steamworks SDK support in GameMaker: Studio / GMS2.
Stars: ✭ 73 (+170.37%)
Mutual labels:  gamemaker

Rubber

Wrapper for IGOR.exe, aka compile gamemaker projects via command line.

This tool is called from the command line, takes in a yyz/yyp and output a zip, installer, or just run the game. For now, this only runs on windows, compiling to windows. Alternativly there is an api that you can call from javascript. Running this program requires that you have a valid GameMaker Studio 2 installation and have purchased the selected module (you cannot compile to Windows if you only own HTML Exporting)

Maintained by: dave caruso

Notes

I would like some of these untested features to be confirmed to work or fail, so that it can be resolved.

  • Project using shaders might not work Works
  • Using steam is not tested
  • Running on mac not supported.
  • Using configurations not tested

Setup

You will need installed

  1. GameMaker Studio 2 Desktop (inside it's default install directory).
  2. Node.js with npm installed.

To install rubber globally, run npm i -g gamemaker-rubber, and you should be all good.

To use rubber as a dependency, you would use npm i gamemaker-rubber

Usage

rubber [options] path/to/project.yyp [output file]

Options

Option Actions
-Z, --zip Creates a zip archive
-I, --installer Creates a installer package
-y, --yyc Compiles with YYC
-v, --version Display the current version
-c, --config Sets the configuration
-h, --help Display help and usage details

Examples

  • rubber project_folder Launch the yyp file in %cd%/project_folder as if you pressed F5 in gamemaker
  • rubber . Launch the yyp file in the current folder as if you pressed F5 in gamemaker
  • rubber --yyc --zip . Compile the yyp file in the current folder to a zip file with yyc
  • rubber --yyc --zip project.yyp Compile %cd%/project.yyp in the current folder to a zip file with yyc
  • rubber --yyc -I project.yyp Compile %cd%/project.yyp in the current folder to an installer with yyc

Nodejs API Usage

To use Rubber as a dependency, install it to your project with npm i gamemaker-rubber, it includes type definitions.

Basic Compile

const build = rubber.windows({
    projectPath: "path/to/game.yyp",
    build: "run"
});
build.on("compileStatus", (data) => {
    process.stdout.write(data);
});
build.on("gameStatus", (data) => {
    process.stdout.write(data);
});
build.on("allFinished", () => {
    console.log("Compile Finished");
});

Rubber uses an asyncronous EventEmitter to give out status updates, so you can listen to certain events, but not others, and use it to stream the entire output of IGOR (the compiler) to somewhere like the standard output (shown above).

Events

compileStarted

Emitted when the compile process starts

compileFinished

Emitted when the compile process is finished, the game might be launched at this point. Sends an array of all errors in the compile process.

compileStatus

Emitted with a data paramater, containing a string of output data. When displaying this data do not manually add a newline (console.log does it)

gameStarted

Emitted when the game starts, not always emitted.

gameStatus

Emitted with a data paramater, containing a string of output data from the game process.

gameFinished

Emitted when the game closes, not always emitted.

allFinished

Emitted when everything is finished, always emitted at the end. Sends an array of all errors in the compile process, exactly the same array as from the compileFinished message.

rawStdout

Emitted with a data paramater, containing a chunk of raw output data from IGOR.

error

Emitted when some kind of error happens.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].