HN user

BZH314

20 karma

MineSweeper For Twitch (MSFT) https://www.twitch.tv/bzh314

Twitch Plays Conway's Game of Life https://www.twitch.tv/bzh314

Twitter: https://twitter.com/bzh314

Web: https://bzh314.com

Posts1
Comments14
View on HN

Here is our Twitch Plays implementation: https://www.twitch.tv/bzh314

It supports RLEs [1] so you can quickly create some known shapes or test your own.

Crash course on RLEs:

b=dead, o=alive, $=new line

This is the RLE of xkcd's tribute to John Conway [2]:

2b3o$2bobo$2bobo$3bo$ob3o$bobobo$3bo2bo$2bobo$2bobo!

You can discover plenty of patterns with their RLEs on the Life Wiki [3]

Twitch Plays Conway's Game Of Life has a database of hundreds of patterns.

To learn patterns here's a 40-minute video you can quickly go through: https://www.youtube.com/watch?v=u4XgALyX6w8

For instance you can make a Sir Robin [4] at the origin this way:

!SirRobin 0.0

or the xkcd pattern:

!xkcd 0.0

We also added our own twist, with color rules that lead to the Epic Toy Store Pixel Art [5] and Epic Masterpiece Pixel Art Decoration [6]

---

[1] http://www.conwaylife.com/wiki/Run_Length_Encoded

[2] https://xkcd.com/2293/

[3] https://www.conwaylife.com/wiki/Main_Page

[4] https://www.conwaylife.com/wiki/Sir_Robin

[5] https://www.youtube.com/watch?v=JH5RzNnamW0

[6] https://www.youtube.com/watch?v=RKxKac5YHag

Here is the RLE to reproduce the xkcd pattern in GOL implementations that support Run Length Encoded [1] (b=dead, o=alive, $=new line):

2b3o$2bobo$2bobo$3bo$ob3o$bobobo$3bo2bo$2bobo$2bobo!

In Twitch Plays Conway's Game Of Life [2] you can place Dr. Conway like so:

!rle 2b3o$2bobo$2bobo$3bo$ob3o$bobobo$3bo2bo$2bobo$2bobo! -4,-40

or use the shortcut command:

!xkcd -4,-40

Here is a short clip of what it looks like: https://www.twitch.tv/bzh314/clip/TardyGleamingQuailKeepo

----

[1] http://www.conwaylife.com/wiki/Run_Length_Encoded

[2] https://www.twitch.tv/bzh314

Twitch Plays Conway's Game Of Life is back, in memory of John Conway [1]

It's a multiplayer implementation you play through the Twitch chat by sending commands (!ON, !OFF, !RLE, !HELP, ...).

The list of commands and help: [2]

You can use/learn more complex patterns with RLEs (Run Length Encoded), where a "o" means alive, "b" means dead and "$" is carriage return.

Example of RLE command for a glider: !rle bob$2bo$3o! 0.0 # Create a glider at coordinates 0,0

TPCGOL has a database of 446 patterns (Sir Robin, Gosper Glider Gun, ..), so the equivalent command for the glider above is:

!glider 0.0

A slideshow of all 446 patterns (still lifes, oscillators, guns and spaceships) is available here: https://www.youtube.com/watch?v=u4XgALyX6w8

You can find more patterns on the Conway Life wiki [3]

There's also a Battle Royale mode you can start with !PLAY [4]

In Battle Royale mode, the rules are similar to Fortnite: join a game with !PLAY, !THANK the bus driver, and try to be the last one to have cells alive as the storm shrinks.

RIP John Conway

----

[1] https://www.twitch.tv/bzh314

[2] https://bzh314.com/twitch_plays_conway_game_of_life/

[3] http://www.conwaylife.com/wiki/Main_Page

[4] https://bzh314.com/twitch_plays_conway_game_of_life/#play

Fun stuff, thanks for sharing

You can come up with a million rules about how the colour changes, whether the colour of a new cell is inherited from its parents, whether the life algorithm is applied to each of the RGB(A?) layers separately.

Which ones have you tried so far?

Curious what simple rules do to images. For instance with a majority rule: changing the pixel color only if there is a majority of pixels with the same color. It leads to pretty color-stable patterns [1] [2] in our Twitch Plays Conways' Game of Life [3], but that's with few colors and pixels.

On an image, maybe it could just make it sparkle and not destroy it like it seems to do on John Conway's face?

Maybe a comparison of different rules in your next blog post?

----

[1] https://www.youtube.com/watch?v=JH5RzNnamW0 (Epic Toy Store Pixel Art)

[2] https://www.youtube.com/watch?v=RKxKac5YHag (Epic Masterpiece Pixel Art Decoration)

[3] https://www.twitch.tv/bzh314 (there's a multicolor pattern going on right now live with an Octagon 4)

Twitch Plays Conway's Game of Life [1] is a multiplayer implementation of Conway's Game of Life [2]

In Twitch Plays Conway's Game of Life, you play by typing commands in the Twitch chat, like in Twitch Plays Pokémon [3]

The basic !ON command turns on cells. The !RLE command lets you enter Run Length Encoded [4] strings to make more complex patterns. You can browse patterns on the Conway Life wiki [5]

A database of 446 patterns (Sir Robin, Gosper Glider Gun, ..) is available with the !PATTERN command, and allows you to make patterns directly from their names (Example: !GLIDER 0,0 # Makes a Glider at the origin)

A slideshow of all 446 patterns (still lifes, oscillators, guns and spaceships) is available here: https://www.youtube.com/watch?v=u4XgALyX6w8

There are Youtube [6] and Twitch [7] videos to learn cool patterns and how to use the commands.

TPCGOL has two modes: Sandbox and Battle Royale.

In Sandbox, you create what you want, without any real competition, although it's fun to own the board (a player got 99% ownership for a single generation).

In Battle Royale mode, the rules are similar to Fortnite: join a game with !PLAY, !THANK the bus driver, and try to be the last one to have cells alive as the storm shrinks.

TPCGOL is built with Unity3D's latest upcoming features: Entity Component System (ECS), Burst Compiler and C# Job System

Help for all the commands (except the mystery command yet to be discovered ;-) is at https://bzh314.com/twitch_plays_conway_game_of_life/

Want to make my Life? Go ahead:

- Play at twitch.tv/bzh314 and have fun

- Subscribe to Youtube [6], Follow on Twitch [1] and/or Twitter [8]

- Spend time with your family instead of playing TPCGOL

---

[1] https://www.twitch.tv/bzh314

[2] https://en.wikipedia.org/wiki/Conway's_Game_of_Life

[3] https://www.twitch.tv/twitchplayspokemon

[4] http://www.conwaylife.com/wiki/Run_Length_Encoded

[5] http://www.conwaylife.com/wiki/Main_Page

[6] https://www.youtube.com/channel/UCgsdHWWQBMHP1plylPrrgpA

[7] https://www.twitch.tv/bzh314/videos?filter=highlights&sort=t...

[8] https://twitter.com/bzh314

@app4soft, humbly asking for an "executive summary" tweet (maybe pinned on @OliveTeam?) introducing the project to people who have never heard of it to make it easy to retweet with some essential "selling" points (cross platform, open source, free, financially backed on Patreon, very active, ...)

Thanks for your hard work and the clarifications.

Indeed from a 10,000ft view the projects share some good stuff.

As @prokoudine pointed out in his other article [1] (linked at the top of this article), Jonathan Thomas from Openshot will be "100% full time working on OpenShot" in 2019, which is exciting with now both Olive and OpenShot working on making great video editing software.

What are your opinions comparing Olive to OpenShot, maybe more in broader terms (history/goals/manpower/roadmap/pro features coming up/...) instead of current feature comparison, since you guys appear to move very fast (but I also expect OpenShot to do some great stuff too in 2019). You must have surveyed the field before starting and have wonderful insights about the two (also @pedrokost comments regarding problems in OpenShot for bigger projects worries me, and Olive seem to beat Openshot there) and seen some shortcomings to decide to make your own.

Maybe @prokoudine will produce another interesting article about that?

--

[1] http://libregraphicsworld.org/blog/entry/the-quest-for-susta...

This is a very important point that is probably the source of confusion, and people quickly ditching OpenShot because of installing it through apt.

This is exactly what happened to me: started using it from the distro and experienced crashes. Then downloaded the latest AppImage and never had a problem since.

Trying to help break the vicious circle here: Wikipedia mentions stability issues, Debian ships with a crash-happy old version that doesn't do it any favor, but latest AppImage seems stable.

It only mentions it at the beginning (not even linking to it), I don't see where the comparison is, did I miss something?

I just confirmed my real-world experience that Openshot is good enough for many quick uses (more than what the Wikipedia article left me to think with the paragraph about stability issues when I first discovered it).

OpenShot [1] is another free (also GPLv3 as Olive) video editor for Windows/Linux/Max using the portable AppImage format [2] (AppImage lets you download a single binary and launch the software directly, no install process or super user privileges needed).

It uses ffmpeg behind the scenes.

It seems to have suffered from stability issues in the past (the wikipedia article mentions lots of negative reviews) but seem pretty stable now, so you might want to give it a ... shot.

It has been very useful for its quick install process, intuitive interface and reliability: haven't had a single crash in a very long time, with more than 200 videos on our channel [3] (albeit none required anything fancy editing-wise).

OpenShot's goal might not appear to be as grandiose as Olive's so I would love if there was a comparison of both out there.

Looks like we're off trying Olive to compare. Thanks and good luck to the Olive team.

---

[1] https://en.wikipedia.org/wiki/OpenShot

[2] https://en.wikipedia.org/wiki/AppImage

[3] https://www.youtube.com/channel/UCgsdHWWQBMHP1plylPrrgpA

@matts_ramblings approach is great to get a perfect authoritative reference we can use to test and/or train other tools.

Other tools mapping the Super Mario Bros. levels:

1. animmerger [1] by bisqwit

Written in C++.

Takes png images as input.

This tool seems to be the reference in creating level maps for Super Mario.

Matt's tool seems to use animerger to generate the color palette according to the source code [2]

2. ALMA [3] by BZH314 (disclaimer: our baby project)

Matt mentions using this approach as a possibility in the post.

Written in Python using the OpenCV [4] computer vision library.

ALMA takes videos as input, generates the map levels as images (png and animated gifs) and also generates the videos to show the algorithm in action [5]

(shameless self plug: need more YouTube subscribers to get that sweet sweet vanity URL please :-)

ALMA applies background subtraction to remove the moving enemies in order to keep only the background (a problem Matt's tool does not have)

3. Manually stitched

If you're looking for good SMB1 level maps stitched manually, there are some good work out there:

Rick N. Bruns' nesmaps.com [6]

Mariowiki: example of World 1-1 [7]

Are you aware of other tools out there?

---

[1] https://bisqwit.iki.fi/source/animmerger.html

[2] https://gist.github.com/matthewearl/733bba717780604813ed588d...

[3] https://bzh314.com/alma/

[4] https://opencv.org/

[5] https://www.youtube.com/watch?v=wanvx0PpE1w&list=PLa4uefpt5W...

[6] http://www.nesmaps.com/maps/SuperMarioBrothers/SuperMarioBro...

[7] https://www.mariowiki.com/World_1-1_(Super_Mario_Bros.)