# React.js for incremental text games

DevFeed: [React.js for incremental text games](<https://devfeed.tech/articles/react-js-for-incremental-text-games-32135.md>)

Original publisher: [Read original article](<https://adambard.com/blog/incremental-text-games/>)

Published: 2015-07-12T00:00:00Z

Content type: tutorial

Language: en

Sources: [Adam Bard](<https://devfeed.tech/sources/adam-bard.md>)

Topics: [React](<https://devfeed.tech/topics/react.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Web](<https://devfeed.tech/topics/web.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [game](<https://devfeed.tech/tags/game.md>), [games](<https://devfeed.tech/tags/games.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [react](<https://devfeed.tech/tags/react.md>), [ui](<https://devfeed.tech/tags/ui.md>), [web](<https://devfeed.tech/tags/web.md>)

## AI overview

This tutorial recommends React.js for building incremental text-based games and explains that React's root-state-driven rendering can simplify UI updates. It outlines a small resource-management game and begins translating it into React using ClojureScript and Om.

## Source excerpt

I have a small weakness for silly text games like Candy Box and A Dark Room, and most recently Kittens Game ("a Dark Souls of incremental gaming"). The common feature of these games is that, for the most part, the UI is just numbers on a web page, and you perform certain actions to increase those numbers to purchase upgrades that further your ability to increase the numbers. One of the great things about this style of game is that the barrier to entry is very low (which is probably why there are approximately a brazilian of these things around), and the games in the genre are differentiated almost solely by the quality of their mechanics (without silly things like "art" to get in the way). You, the reader, might even be interested in dipping your toe in the world of incremental games. If you want to add one to the pile, I recommend you use React to do it.