We’ve just released our demo on Steam! The game is called Plague Lords and it’s a strategy roguelike sandbox with base building, survival, crafting, RPG and even some tower defense elements. You can play it right away. It’s an alpha version so all your feedback will be incredibly welcome.
And of course it’s made with Defold! 8)
We’re about to take part in Steam Next Fest 2022, so please, support us by adding the game to your wishlists. It will help a great deal.
If you’re not already doing so, you should setup bundling to be fully automated with scripting. Example for the bob part:
#!/bin/bash
title=$(less game.project | grep "^title = " | cut -d "=" -f2 | sed -e 's/^[[:space:]]*//')
title_no_space=$(echo -e "${title}" | tr -d '[[:space:]]')
contentroot=C:/steamworks_sdk_128/sdk/tools/ContentBuilder/content/
echo "Project: ${title}"
java -jar bob.jar --version
if [ ! -f bob.jar ]
then
echo "Unable to find bob.jar. Download it from d.defold.com."
exit 1
fi
bob() {
java -Xmx4g -jar bob.jar $@
}
build() {
platform=$1
shift 1
rm -rf build
bob --archive clean resolve build --build-report-html "build-report-${platform}.html" --texture-compression true --variant "release" --platform "${platform}" -e a@a.com -u fake_token --with-symbols
}
bundle() {
platform=$1
echo "${platform}"
shift 1
bob --platform ${platform} --bundle-output build/${platform} $@ bundle
}
move_to_steam() {
platform=$1
if [ "${platform}" == "x86_64-darwin" ]
then
echo "${title_no_space}_${platform}"
echo "Removing old ${contentroot}${title_no_space}_${platform}"
rm -rf "${contentroot}${title_no_space}_${platform}"
if ! cd build/${platform} ; then read -p "Build folder ${platform} not found! - Press Enter"; exit 1; fi
mkdir -p "${contentroot}${title_no_space}_${platform}"
cp -r * "${contentroot}${title_no_space}_${platform}"
cd ../..
else
echo "${title_no_space}_${platform}"
echo "Removing old ${contentroot}${title_no_space}_${platform}"
rm -rf "${contentroot}${title_no_space}_${platform}"
if ! cd "build/${platform}/${title}" ; then read -p "Build folder ${platform} not found! - Press Enter"; exit 1; fi
mkdir -p "${contentroot}${title_no_space}_${platform}"
cp -r * "${contentroot}${title_no_space}_${platform}"
cd ../../..
fi
}
do_platform() {
platform=$1
shift 1
echo -e "\n[Building ${platform}]"
build ${platform}
echo -e "\n[Bundling ${platform}]"
bundle ${platform}
echo -e "\n[Moving to Steam ${platform}]"
move_to_steam ${platform}
echo -e "\n[${platform} Done]"
}
# build / bundle / archive platforms
do_platform x86-win32
do_platform x86_64-linux
do_platform x86_64-darwin
# play some music to let us known it's done
ffplay fanfare.mp3 -autoexit -nodisp
echo -e "\n[All Done!! - You can now run upload_steam]"
Then you can have a script automate the Steam uploading too.
It’s even possible to set this up on your version control solution (GitHub Actions) so you can get new builds from source uploaded to Steam easy. I think someone made an example for doing that?