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 tools. 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 engine, 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 server.
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