Skip to content

A Docker image with a curated collection of free tools useful for game development use cases such as build scripts or automated workflows like GitHub Actions.

License

Notifications You must be signed in to change notification settings

kidthales/docker-game-development-toolkit

Repository files navigation

Docker Game Development Toolkit

Build License: MIT

A Docker image with a curated collection of free tools useful for game development use cases such as build scripts or automated workflows like GitHub Actions.

Free Tools

docker run --rm -it -v .:/workspace ghcr.io/kidthales/gdtk tiled --export-map json --resolve-types-and-properties --embed-tilesets tilemap.tmx tilemap.json
docker run --rm -it -v .:/workspace ghcr.io/kidthales/gdtk tile-extruder --tileWidth 16 --tileHeight 16 --input tileset.png --output tileset_extruded.png
docker run --rm -it -v .:/workspace ghcr.io/kidthales/gdtk bash -c "cat config.yml | yaml --json --indent 2 --single > config.json"

Non-Free Tools

An additional set of curated 'non-free' tools are also maintained; these are usually open-source tools that have license constraints on the distribution of their binaries.

Refer to the Development section for information on how to build a gdtk-non-free image that includes both free and non-free tools.

docker run --rm -it -v .:/workspace gdtk-non-free aseprite --batch --layer 'Layer 1' example.aseprite --save-as example.png

Development

Build an image containing only the free tools:

# Creates image with tag gdtk:latest
docker buildx bake --pull --no-cache

Build the non-free image:

# Ensure docker-aseprite-headless submodule is available
git submodule update --init
# Creates image with tag gdtk-non-free:latest
docker buildx bake --pull --no-cache gdtk-non-free

Build both images:

# Creates images with tags gdtk:latest and gdtk-non-free:latest
docker buildx bake --pull --no-cache gdtk gdtk-non-free

Please refer to the docker-bake file for all available bake variables and their default values.

Makefile

A simple Makefile is provided to help ease build invocations:

 —— Docker Game Development Toolkit Makefile ————————————————————————————————— 
help                           Outputs this help screen.
build                          Build the toolkit images. Pass the parameter "c=" to pass additional options and arguments to docker bake; example: make build c="--no-cache --pull gdtk-non-free"

You may populate a git-ignored .env file with bake variable values, for use with the make build command. For example:

IMAGES_PREFIX="kidthales/"
ASEPRITE_GIT_REF="v1.3.15"
ASEPRITE_BUILD_TYPE="RelWithDebInfo"

Warning

Ensure that the values assigned in the .env file are wrapped in double quotes. This is a requirement of the underlying docker buildx bake command used to perform image builds.

About

A Docker image with a curated collection of free tools useful for game development use cases such as build scripts or automated workflows like GitHub Actions.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 2

  •  
  •