Want to share your content on R-bloggers? click here if you have a blog, or here if you don’t.
Motivation
I’ve been playing with the idea of running Doom on Shiny for a while. If Doom runs “everywhere”, it must run on Shiny, right?
Doom was released in 1993 and since then it has been ported to many different platforms including:
The result
I was able to run Doom on Shiny!
I have uploaded a short demo to YouTube. In some countries the video is only for +18 audiences because of the original game parental advisory.
Here’s a picture of the game running on Shiny:
How it works
I created what I think is a simple Shiny app that I released on GitHub.
Here is the code:
library(shiny) library(httpuv) # Define the path to the directory containing your Doom game files doom_directory <- "./doom-wasm/src" # Start a server to serve Doom files startServer("127.0.0.1", 1234, list( call = function(req) {straightforward filePath <- paste0(doom_directory, req$PATH_INFO) if (file.exists(filePath)) { return(list( status = 200, headers = list( "Content-Type" = "text/html" ), body = readBin(filePath, "raw", file.info(filePath)$size) )) } else { return(list( status = 404, headers = list( "Content-Type" = "text/html" ), body = "File not found" )) } } )) ui <- fluidPage( tags$h1("Doom in Shiny"), tags$iframe(style = "width:850px; height:640px;", src = "http://127.0.0.1:1234/index.html") ) server <- function(input, output, session) { } # Run the Shiny app shinyApp(ui, server, options = list(port = 4321))
To run the app, you need to build Doom from source. The same repository contains the instructions.
If you like what I do as a content creator, you can donate on Buy Me a Coffee.
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you’re looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don’t.
Continue reading: If Doom runs everywhere, it must run on Shiny
Running Doom on Shiny: Long-term Implications and Possible Future Developments
Doom, a videogame released in 1993, has grown in popularity over the years to include numerous ports on different platforms- ranging from digital cameras to ATMs. Recently, a forward-thinking game enthusiast figured out how to run Doom on Shiny, marking yet another significant milestone in the game’s evolution.
How Doom Running on Shiny was Achieved
In a remarkable turn of events, the game was successfully run on Shiny through the creation of a simple Shiny app which was code shared on GitHub. To actualize this, Doom had to be built from the source. This achievement opens up a broad array of possibilities for the gaming industry and software development as a whole.
Long-term Implications
Running Doom on Shiny demonstrates that the flexibility, endurance, and adaptability of classic games like Doom can be leveraged to explore and test the capacities of new platforms and technologies. Not only does it solidify the place of these games in the continuing evolution of the gaming industry, but it also underscores the vital role that opensource communities play in advancing technology and its applications.
Potential Future Developments
The successful implementation of Doom on Shiny sets the stage for more adaptations of classic games on different software apps, tools, and platforms. As pioneering efforts continue to push the boundary, we can expect this development to inspire a new trend in the gaming world- making games accessible in unconventional platforms as a fun and innovative way of engaging users.
Actionable Insights
For gaming developers and the vibrant opensource community, the signal is clear: leveraging the capabilities of new platforms for classic games can create surprising and engaging user experiences. Here are some actionable insights based on this development:
- Explore New Platforms: Developers should look into the capabilities of different platforms and explore their potential for running existing games or creating new ones.
- Leverage OpenSource Communities: OpenSource communities are fertile grounds for innovative ideas. Engage with these communities, collaborate and share resources to unlock new potential.
- Update Existing Games: Rather than always aiming for new games, consider how existing ones can be modernized or re-developed to run on newer platforms.
In conclusion, running Doom on Shiny opens myriad possibilities for the gaming world and was achieved through the power of open source. As such, a more collaborative approach in the gaming industry, coupled with the continuous exploration of new technology platforms, could lead to more exciting developments in the future.