This is a list of TEN (plus one) games that are "accidentally" TURING COMPLETE. ๐Ÿ–ฅ๏ธ

In a nutshell, when a game is Turing Complete you can use it to build a WORKING COMPUTER. ๐Ÿคฏ

If you are a parent: please don't underestimate games as a creative medium.

Let's start with...

๐Ÿงต๐Ÿ‘‡ ImageImageImage
1โƒฃ Minecraft โ›๏ธ

Unsurprisingly, @Minecraft is indeed Turing Complete. ๐Ÿ–ฅ๏ธ

This is possible thanks to the so-called REDSTONE CIRCUITS, which allow to build simple logic gates. ๐ŸŸฅ

And if you are really, REALLY committed ...you can even build a computer!

2โƒฃ Portal 2 ๐ŸŸ ๐Ÿ”ต

Yes. Everybody's favourite game is Turing Complete! ๐Ÿฅฐ

@anklejbiter used Portal 2 level editor to create a 3-Digit Binary Calculator. De-facto proving it can be used for arbitrary computation.

steamcommunity.com/sharedfiles/fiโ€ฆ
3โƒฃ Conway's Game of Life โ  โ ต

Building a computer is not the only way to prove that something is Turing Complete.

GoL is a game driven by simple rules, proven to be TC. Creating GoL in any system proves that the system itself is TC.

4โƒฃ Baba Is You ๐Ÿ”ด

It might not be immediately obvious that @babaisyou_ is Turing Complete.

However, there are a lot of user creations that clearly prove that. Such as @TheDevinDanko's real-time Conway's Game of Life simulator.

5โƒฃ Cadence โšซ๏ธ

Cadence is a beautiful rhythm game with an open sandbox mode. As it turns out, some of its puzzle elements can be used to build logic gates.

I've recently streamed with @thefuntastic how to build a simple counter in Cadence. โฒ๏ธ

store.steampowered.com/app/362800/Cadโ€ฆ Image
6โƒฃ Cities: Skylines ๐Ÿ™๏ธ

@balidani exploited the way in which power generation and sewage pipes work in @CitiesSkylines to create a poop-powered computer. ๐Ÿ’ฉ

Below, a 4-bit adder which takes 15 in-game months to run (about 20 minutes in real-time).

ImageImageImage
6โƒฃ Infinifactory ๐Ÿ—๏ธ

Most @zachtronics' games (TIS-100, Shenzhen I/O, Opus Magnum, ...) are TC. Unsurprisingly, Infinifactory is not an exception.

Inspired by an earlier video posted by @notch, I made a programmable cellular automata simulator.

7โƒฃ Dwarf Fortress ๐Ÿฐ

The "Dwarven Computer" by Jong89 is the first programmable digital computer ever built in DF, consisting of 672 pumps, 2000 logs & 8500 mechanism.

mkv25.net/dfma/map-8269

@BaronWable even made a fully-functioning Space Invaders.

Image
8โƒฃ Minesweeper ๐Ÿ’ฃ

Yes, *THAT* Minesweeper we all played on Windows.

As it turns out, Minesweeper is NP-Complete, while its infinite variant is Turing Complete.

Richard Kaye wrote extensively about this.
Below, a XOR, AND and OR gates.

web.mat.bham.ac.uk/R.W.Kaye/minesโ€ฆ ImageImageImage
9โƒฃ Factorio โš™๏ธ

As a pretty open-ended game, many have created all sort of computational contraptions in @factoriogame.

@ArrowGMaximus built some of the most amazing machines, including Facto-RayO (a raycasting engine) and even a demake of Pacman! ๐Ÿคฏ

๐Ÿ”Ÿ Magic: The Gathering ๐Ÿง™โ€โ™‚๏ธ

And I couldn't end this list without the most surprising and unexpected Turing Complete games of all: @wizards_magic!

@alextfish, @BlancheMinerva & @Stroodle76 wrote about this in a recent paper.

arxiv.org/abs/1904.09828 Image
๐ŸŸฆ BONUS: PowerPoint ๐ŸŸง

Did you know that @powerpoint is Turing Complete? ๐Ÿง

@standupmaths & @MouldS made a very nice video about this. And for a more formal, comprehensive discussion, check out Tom Wildenhain's videos on YouTube. โœจ

โœจ ๐’•๐’‰๐’‚๐’๐’Œ ๐’š๐’๐’– ๐’‡๐’๐’“ ๐’„๐’๐’Ž๐’Š๐’๐’ˆ ๐’•๐’ ๐’Ž๐’š ๐’•๐’†๐’… ๐’•๐’‚๐’๐’Œ โœจ

I write about Game Development, Shader Coding & Artificial Intelligence.

If you are interested in any of those topics, feel free to check my work on @Patreon and follow me! ๐Ÿ˜Ž

patreon.com/AlanZucconi

โ€ข โ€ข โ€ข

Missing some Tweet in this thread? You can try to force a refresh
ใ€€

Keep Current with Alan Zucconi

Alan Zucconi Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @AlanZucconi

2 Feb
After using @unity3d for almost 10 years, I want to share the TEN small features that are really helping me develop games faster.

Starting with my favourite... ๐Ÿ˜Ž

1โƒฃ Inspector Maths

You can write ACTUAL mathematical expressions in the inspector! ๐Ÿคฏ

Check the other ones!

๐Ÿงต๐Ÿ‘‡
2โƒฃ Animation Curves

Unity supports a super easy way to create smooth paths through ANIMATION CURVES. Perfect for blending & animating properties.

Creation:
public AnimationCurve Curve;

Usage:
float x = Curve.Evaluate(t);

#unitytips

docs.unity3d.com/ScriptReferencโ€ฆ
3โƒฃ Gradients

The equivalent of AnimationCurve for colours is Gradient. You can use it to create and sample smooth gradients.

Creation:
public Gradient Gradient;

Usage:
Color c = Gradient.Evaluate(t);

#unitytips

docs.unity3d.com/ScriptReferencโ€ฆ
Read 10 tweets
25 Jan
These are FIVE TRICKS that my colleagues and I have learnt from one academic year or REMOTE TEACHING in HIGHER EDUCATION. ๐Ÿ“š๐ŸŽ“

Every class is different, and every lecture has their own teaching style. But feel free to share this thread if you think it might help someone!

๐Ÿงต๐Ÿ‘‡
1โƒฃ ๐—ฆ๐—ฒ๐˜๐˜‚๐—ฝ ๐Ÿ–ฅ๏ธ

If you are using PowerPoint with a second monitor, you can actually resize the "Presenter View" window:

1โƒฃ๐Ÿ–ฅ๏ธ
๐Ÿ”ดShared screen with slides

2โƒฃ๐Ÿ–ฅ๏ธ
๐Ÿ”ตPresenter view with notes
๐ŸŸขMS Teams chat

So you can share your screen, see your notes & read questions!
2โƒฃ ๐—–๐—น๐—ฎ๐—ฝ๐—ฝ๐—ถ๐—ป๐—ด ๐—ผ๐—ป ๐— ๐—ฆ ๐—ง๐—ฒ๐—ฎ๐—บ๐˜€ ๐Ÿ‘

Every time a student present their work in front of the class, I invite everyone to clap. ๐Ÿ‘

A remote alternative is to encourage students to raise and lower their hands on MS Teams quickly.
Read 7 tweets
23 Jan
BEHAVIOUR TREES are the cornerstone of ARTIFICIAL INTELLIGENCE for #gamedev.

But they can be difficult to "grow". ๐ŸŒฑ

I have selected FIVE rather approachable papers that use EVOLUTION to grow behaviour trees AUTOMATICALLY, so you don't have to. ๐ŸŒฒ

Let's start with...๐Ÿ“

๐Ÿงต๐Ÿ‘‡ ImageImage
1โƒฃ "Evolving Behaviour Trees for the Commercial Game DEFCON" (2010)

๐Ÿ”นChong-U Lim
๐Ÿ”นRobin Baumgarten
๐Ÿ”นSimon Colton

researchgate.net/publication/22โ€ฆ ImageImage
2โƒฃ "Learning of Behavior Trees for Autonomous Agents" (2015)

๐Ÿ”นMichele Colledanchise
๐Ÿ”นRamviyas Parasuraman
๐Ÿ”นPetter ร–gren

arxiv.org/abs/1504.05811 ImageImage
Read 8 tweets
22 Jan
Fifty years have passed since CONWAY'S GAME OF LIFE firstly appeared on a column called "Mathematical Games" on @sciam.

While most Programmers & Computer Science enthusiasts are familiar with it, not many know that the game is actually TURING COMPLETE.

Let's see why. โ  โ ต

๐Ÿงต๐Ÿ‘‡
The quickest way to prove that a system is TURING COMPLETE is to show that it allows for the constructions of LOGIC GATES. ๐Ÿ–ฅ๏ธ

So, let's see how the ๐—”๐—ก๐——, ๐—ข๐—ฅ and ๐—ก๐—ข๐—ง gates can actually be constructed in Conway's Game of Life...
Firstly, we need to find a way to encode binary signals.

One very popular choice is to use a stream of GLIDERS. The so-called GOSPER GLIDER GUN can generated a new glider every 30 generations. ๐Ÿ”ซ

Hence, receiving a glider every 30 generations counts as a "1".
Read 11 tweets
19 Jan
This is a story about the importance of being the first one to cover a topic.

๐Ÿ“™ "Artificial Intelligence for Games" by @idmillington & @funge, was published in 2009.

And it featured a diagram which has now possibly become the most popular Behaviour Tree seen in Colleges.

๐Ÿงต๐Ÿ‘‡ Image
I first realised I had seen this Behaviour Tree before when I noticed the "Barge door" node in someone else's slides.

And from that moment onwards, I have been finding variations of that very Behaviour Tree in virtually every game AI presentation.

Jeremy Gow, Goldsmiths ๐Ÿ‘‡ Image
So, I went on a journey to find out how many other presentations I could discover, which features a variation of that original Behaviour Tree...

Simon Colton & Alison Pease, Imperial College London ๐Ÿ‘‡ Image
Read 12 tweets
9 Jan
If you are interested in learning AI and how it can be used in #gamedev, you should start with BEHAVIOUR TREES! ๐ŸŒฒ๐Ÿง 

As the cornerstone of game AI, BTs are used in:

โ€ข Halo 2 ๐Ÿช–
โ€ข Bioshock ๐Ÿ’‰
โ€ข GTA V ๐Ÿš—
โ€ข Faรงade ๐Ÿˆ
โ€ข Alien: Isolation ๐Ÿ‘ฝ

Let's see how they work! ๐Ÿ‘‡

๐Ÿงต A screenshot of "owl-bt", an editor for Behaviour An example of Behaviour Trees in Unreal Engine.An example of Behaviour Trees in Unity, with an asset called
Many of you are familiar with FINITE STATE MACHINES: the most popular pattern for character controllers.

While FSMs are graphs, BTs are (unsurprisingly!) trees. ๐ŸŒฒTheir leaves are the ACTIONS ๐Ÿฆพ and PERCEPTIONS ๐Ÿ‘๏ธ your agents can perform and sense.
Each node in a BT can be in any of the three following states:

โ€ข โœ”๏ธ SUCCESS: the node was executed successfully
โ€ข โŒ FAILURE: the node could not be completed
โ€ข โณ RUNNING: the node is still being executed
Read 11 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!