Deploy a Shiny app to itch.io

ich.io
r
shiny
shinylive
Author
Published

November 16, 2024

The indie game distribution platform, itch.io, showing a pixel-editor tool made with R Shiny.

Graphic design is my passion.

tl;dr

As a test, I uploaded an R Shiny app to itch.io, which is a platform for sharing indie games. It worked.

Scratching an itch.io

Where can you host your Shiny app for free? Typical options are services like shinyapps.io or Connect Cloud by Posit.

I have another idea: itch.io is a web-based platform known for hosting indie videogames, assets and other miscellaneous game-adjacent tools1. Developers can upload file bundles for users to download, or they can serve their HTML apps directly on the site.

Since R is a game engine2, why aren’t R users uploading their apps to itch.io?

Well, part of the problem is that you didn’t know this was possible. And also because it’s only recently that you can use {shinylive} to convert your app to be served entirely in the browser with no need for a server3.

shinylive::export() generates a folder containing your app and all the assets needed for deployment. You just need to zip it up and upload it to itch.io.

Which is exactly what I did with a toy pixel editor that I made and wrote about recently.

This requires an itch.io account. When you upload the app you fill in a short pro forma, making sure to set the ‘kind of project’ to HTML and to tick a checkbox to say ‘this game will be played in the browser’. For my example, I also set the ‘classification’ to ‘tools’.

I can’t really think of a catch, but there are limitations around size and complexity: the upload must be under 1 GB and I think there’s a limit of 1000 files (this tripped me up when I tried once before).

Scratch my back

I did this for the lols, of course, but I do think itch.io is a viable option for certain types of app. It’s a platform for people to share their creativity and no-one cares what language was used if the outcome is fun or useful.

And if that wasn’t enough, you can also use itch.io as a payment platform. Users can leave you a little tip for your efforts.

So, what’s stopping you from becoming the first professional indie R game developer?

Environment

Session info
Last rendered: 2024-11-16 20:28:05 GMT
R version 4.4.0 (2024-04-24)
Platform: aarch64-apple-darwin20
Running under: macOS Ventura 13.2.1

Matrix products: default
BLAS:   /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRblas.0.dylib 
LAPACK: /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.12.0

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

time zone: Europe/London
tzcode source: internal

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
 [1] htmlwidgets_1.6.4 compiler_4.4.0    fastmap_1.2.0     cli_3.6.3.9000   
 [5] tools_4.4.0       htmltools_0.5.8.1 rstudioapi_0.16.0 yaml_2.3.10      
 [9] rmarkdown_2.28    knitr_1.48        jsonlite_1.8.9    xfun_0.48        
[13] digest_0.6.37     rlang_1.1.4       evaluate_1.0.1   

Footnotes

  1. Kinda like Steam, but with a greater focus on independent developers and the rest of us.↩︎

  2. Are you sick of me saying this yet?↩︎

  3. Which makes it possible to deploy apps for free via static-site services like GitHub Pages or Netlify.↩︎

Reuse

CC BY-NC-SA 4.0