A Review of Games Written in R on CRAN (2024)

Posted on September 11, 2022 by R on Dr. Rick Tankard in R bloggers | 0 Comments

[This article was first published on R on Dr. Rick Tankard, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

R is primarily designed for statistical computing and graphics, andthat’s where I’ve spent most of my time in R. This includes developing an Rpackage, exSTRa, for my PhD. Risn’t an ideal language for video games, without native support forreactive programming. Though where there’s computing, there are games.

A brief review of games

I decided to look at what games are available on CRAN, searchingfor either “game”. Games outside of CRAN may be covered inanother post.For each R package that was a game, I’ve given a short review.

In this post, CLI stands for command-line interface (games without a graphics window).

Here’s the list, in a random order:

  • twenty48

    A CLI tile puzzle game where you slide the board in a directionto combine the same number. It didn’t come with instructions onthe rules of the game but is similar to a game called Threes, so Iwas able to work it out. Overall a good implementation.

    A Review of Games Written in R on CRAN (1)

  • proton

    A CLI text adventure game that gets you performing some datawrangling in order to solve the puzzles. This is a game that has areason to be in R. I quite enjoyed it, really. This game could berecommended to students for teaching R.

    Pietraszko uses a password which is very difficult to guess.At first, try to hack an account of a person which is not as cautious as Pietraszko.But who is the weakest point? Initial investigation suggests that John Insecure doesn'tcare about security and has an account on the Proton server. He may use a passwordwhich is easy to crack.Let's attack his account first!Problem 1: Find the login of John Insecure.Bit has scrapped 'employees' data (names and logins) from the www web page of TechnicalUniversity of Warsaw. The data is in the data.frame `employees`.Now, your task is to find John Insecure's login.When you finally find out what John's login is, use`proton(action = "login", login="XYZ")` command, where XYZ is Insecure's login.
  • BetaBit

    BetaBit is a sequel to proton.Wait a minute, it has proton in it along with two other games!These are The Frequeon Game and The Regression Game.The programming tasks get a bit harder here, but still a good way to havesome challenges for learning R.

     _____ _ _____ _____|_ _| |_ ___ | __|___ ___ ___ _ _ ___ ___ | __|___ _____ ___| | | | -_| | __| _| -_| . | | | . | | | | | .'| | -_||_| |_|_|___| |__| |_| |___|_ |___|___|_|_| |_____|__,|_|_|_|___||_|You've Got MailFrom: [emailprotected]To: [emailprotected]Subject: Interested?Hi,We are looking for a smart guy with extraordinary hacking skills.Our mutual friend assured us that you are our man.TL;DR: We are observing a group of terrorists that are planning something.We have intercepted some data, but do not know how to read it (attached).There is a password somewhere. We have to find it to stop terrorists.Would you like to join our team? Help us and we will help you in the future.It's not clear how to start. Our informer told us that the key is somehow related withthree key phrases: `guns`, `and`, `roses`.Probably these are the names of some messages / datasets.Would you like to check if you have access to any of them?If you want to help, please type:`frequon(subject = "Re: Interested?",content = "Text of the message that you have access to")`so as we could read the message too.Remember: any time you want, you can get some piece of advice, justtype: `frequon(hint=TRUE)`.
  • wordler

    This is a CLI implementation of Wordle.Pretty standard stuff, except it also gives you a programmatic interfaceso you can explore properties and strategies for the game Wordle.

  • ztype

    This isn’t really an R game, as it instead provides a function that issupposed to submita form to https://zty.pe to include functions from a package.In my case, that didn’t seem to work and I just got ordinary words in thebrowser.

  • sokoban

    A transport puzzle game where you push crates around in a warehouse to getthem to storage locations. An alright game.I couldn’t get it to work in R Studio, but did work in the R Gui on Windows.

    A Review of Games Written in R on CRAN (3)

  • happytime

    Another implementation of 2048.I prefer the twenty48 version more due to the use of colours.

    A Review of Games Written in R on CRAN (4)

  • FourScores

    This is basically Connect 4, except you can choose the size of the board.You can play either against the AI or against another human player.

    A Review of Games Written in R on CRAN (5)

  • casino

    A CLI game implementing Blackjack, Poker and a 3-reel Slot machine.Performs well.

    A Review of Games Written in R on CRAN (6)

  • pixelpuzzle

    Pizzle puzzle is a variation on the jigsaw puzzle, where instead, you have toshift rows of pixels until the image matches the original pixel image.Not a bad CLI game at all. It can get quite challenging at the harder difficultylevels.

    A Review of Games Written in R on CRAN (7)

  • tictactoe

    A CLI game of Tic Tac Toe.Allows you to simulate games of two AIs against each other, optionally ofdifferent levels.

    A Review of Games Written in R on CRAN (8)

  • rwarrior

    This is my own CLI game, so I am a bit biased. As a programming game,rwarrior would play differently if implemented in any other programminglanguage.I hope to add a graphical interface.

    A Review of Games Written in R on CRAN (9)

  • lightsout

    An R implementation of the Lights Out game in R.This Shiny app plays well and is quick to react.An excellent little puzzle game.

    A Review of Games Written in R on CRAN (10)

  • snake

    A graphical R implementation of the classic game snake.Unfortunately, it feels a bit laggy where you have to press yourinput when the snake is one block before when intending to move.

    A Review of Games Written in R on CRAN (11)

  • codebreaker

    A CLI implementation of Mastermind (though I don’t know if the rules vary here).Nice and colourful.A well-implemented game.

    A Review of Games Written in R on CRAN (12)

Two-player-only games:

  • BoardGames

    Despite the name, this package only implements the game Ultimate Tic Tac Toe on a 9×9 board for two players (no option for a single player).Still a game you could do on pen and paper, thisimplementation helps to check you are following the rules properly.The game runs smoothly.

    A Review of Games Written in R on CRAN (13)

Other packages I found that simulated or analysed games, but not a game inthemselves, included:

  • SnakesAndLaddersAnalysis

    Want to play Snakes and Ladders but only have a minute to play?Use SnakesAndLaddersAnalysis!This is more for simulating games of Snakes and Ladders than actual play.Learning to count is the point of the game, and you won’t get any of this here.

  • CamelUp

    Simulates the board game CamelUp in a Shiny interface but only supports thegame as one player.

  • stockfish, bigchess, chess and rchess are packages related to Chessengines, file formats, playing chess programmatically and analysis.It wasn’t apparent how these may let you play chess against theStockfish Chess engine or give a graphical interface.

Closing remarks

Have you tried any games in R?Games I’d recommend include BetaBit, pixelpuzzle, lightsout and my own package rwarrior.Some of the others aren’t really worth the hassle and you are better off playing a web version.With the Github releasednarapackage, we might be seeing more graphical based games coming to R.Let’s just hope nara can get on CRAN soon.

Related

To leave a comment for the author, please follow the link and comment on their blog: R on Dr. Rick Tankard.

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.

A Review of Games Written in R on CRAN (2024)

FAQs

What does Cran in R do? ›

The “Comprehensive R Archive Network” ( CRAN ) is a collection of sites which carry identical material, consisting of the R distribution(s), the contributed extensions, documentation for R, and binaries. and is mirrored daily to many sites around the world.

Can R be used to make games? ›

Well, don't expect to create the next GTA in R, but you can still develop simple, enjoyable, and easy to play games. Our engineer Pedro Silva used Shiny to create a game called Shiny Decisions, which was a Grand Prize Winner in the RStudio's 2nd Annual Shiny Contest.

Is R hard to learn? ›

R is considered one of the more difficult programming languages to learn due to how different its syntax is from other languages like Python and its extensive set of commands. It takes most learners without prior coding experience roughly four to six weeks to learn R.

How many R packages are there on CRAN? ›

As of March 2023, there were over 19,000 packages available on the Comprehensive R Archive Network, or CRAN, the public clearing house for R packages.

Do people still use R programming? ›

As of August 2021, R is one of the top five programming languages of the year, so it's a favorite among data analysts and research programmers. It's also used as a fundamental tool for finance, which relies heavily on statistical data.

Do computer scientists use R? ›

Because it was first designed by statisticians for statistical purposes, R is exceptionally well-suited to data science, an important field in today's world. While R's core function is statistical analysis and graphics, its use extends past these and into AI, machine learning, financial analysis, and more.

Can I use R instead of Python? ›

R might not be as fast as languages like Python, especially for computationally intensive tasks and large-scale data processing. Python might not be as specialized for statistics and data analysis as R. Some statistical functions and visualization capabilities might be more streamlined in R.

What is the difference between RStudio and CRAN? ›

ORStudio installs packages from CRAN that are not in Base R. CRAN contains all of the data that RStudio users need for analysis. OCRAN creates visualizations based on an analyst's programming in RStudio.

What is CRAN in data analysis? ›

Understanding CRAN in Simple Terms and its Purpose

CRAN is a network of servers storing R packages. R is an open-source programming language for statistical computing. The packages on CRAN enhance data analysis capabilities. CRAN serves as the primary platform for sharing packages with the R community.

Is CRAN a repository? ›

CRAN or Comprehensive R Archive Network is the repository for R packages. For more information on R, please see: R: The official website for R. CRAN: The official list of mirrors public repositories.

What does "cran" mean? ›

(kræn ) noun. a unit of capacity used for measuring fresh herring, equal to 37.5 gallons.

Top Articles
Latest Posts
Article information

Author: Gov. Deandrea McKenzie

Last Updated:

Views: 5597

Rating: 4.6 / 5 (66 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Gov. Deandrea McKenzie

Birthday: 2001-01-17

Address: Suite 769 2454 Marsha Coves, Debbieton, MS 95002

Phone: +813077629322

Job: Real-Estate Executive

Hobby: Archery, Metal detecting, Kitesurfing, Genealogy, Kitesurfing, Calligraphy, Roller skating

Introduction: My name is Gov. Deandrea McKenzie, I am a spotless, clean, glamorous, sparkling, adventurous, nice, brainy person who loves writing and wants to share my knowledge and understanding with you.