A Javascript Cellular Automata Viewer

For scripts to aid with computation or simulation in cellular automata.
Post Reply
User avatar
silversmith
Posts: 323
Joined: June 15th, 2020, 6:20 pm
Location: Pennsylvania, USA, Earth, Sector 5ff63D6
Contact:

A Javascript Cellular Automata Viewer

Post by silversmith » July 27th, 2020, 10:23 am

I made a cellular automata viewer which is designed to be accessible and easy to use, mainly in cases where downloading proper software is not an option. It is not particularly powerful or versatile. It does support several formats, although I don't want to explain too much here with the goal of making the website self explanatory.

I am in the process of commenting my code to make it publicly available in the near future(though you could inspect the website itself or I can provide a raw version if requested). I would appreciate any suggestions and bug reports, and requests for features will be considered.
https://silversimulations.com/caplayer
Last edited by silversmith on November 27th, 2022, 6:56 pm, edited 4 times in total.
A simulator with the tools I couldn’t find elsewhere: https://www.silversimulations.com/caplayer/
Documentation:https://github.com/teraxtech/caplayer

User avatar
yujh
Posts: 3066
Joined: February 27th, 2020, 11:23 pm
Location: I'm not sure where I am, so please tell me if you know
Contact:

Re: A Javascript Cellular Automata Viewer

Post by yujh » July 28th, 2020, 5:42 am

Umm...
It can’t detect gliders when searching


Probably it also stop after 2000 gens?
Last edited by yujh on August 6th, 2023, 10:14 pm, edited 1 time in total.

User avatar
silversmith
Posts: 323
Joined: June 15th, 2020, 6:20 pm
Location: Pennsylvania, USA, Earth, Sector 5ff63D6
Contact:

Re: A Javascript Cellular Automata Viewer

Post by silversmith » July 28th, 2020, 9:51 am

Yeah the "search" is quite basic. I have not yet implemented a spaceship catching mechanism, so most rules need to be run in a toroidal universe when searching. The search also does not log any results, just resets when the entire grid becomes periodic with one of the periods provided.

The 2000 generation stop is a memory problem that I am currently working on.

Edit Dec 24, 2021:
The site is now at http://www.silversimulations.com/CAsim(depreciated)
A simulator with the tools I couldn’t find elsewhere: https://www.silversimulations.com/caplayer/
Documentation:https://github.com/teraxtech/caplayer

User avatar
silversmith
Posts: 323
Joined: June 15th, 2020, 6:20 pm
Location: Pennsylvania, USA, Earth, Sector 5ff63D6
Contact:

Re: A Javascript Cellular Automata Viewer

Post by silversmith » April 1st, 2022, 10:46 pm

I have finished remaking the core elements of this simulator with a new, much faster algorithm.
Supports:
-cut, copy, paste
-RLE export and import
-INT Generations rulespace
Planned:
-Pattern position enumeration
-More symmetries
https://silversimulations.com/arise

Edit April 3: fixed B0 Generations and added anti-strobing option

Edit April 12: Reworked existing automatic search options, and added a few more

Edit April 15: Added the option to automatically save search result RLEs
A simulator with the tools I couldn’t find elsewhere: https://www.silversimulations.com/caplayer/
Documentation:https://github.com/teraxtech/caplayer

User avatar
silversmith
Posts: 323
Joined: June 15th, 2020, 6:20 pm
Location: Pennsylvania, USA, Earth, Sector 5ff63D6
Contact:

Re: A Javascript Cellular Automata Viewer

Post by silversmith » May 9th, 2022, 9:47 pm

After implementing the ability to export the various simulation options, here is an example automated search, which finds various push, pull, and fire command salvos in the OCA rule B2ein3cijn4cnrwy5cnq6e/S1c2-ai3acny4anqy5c6ek8

https://silversimulations.com/arise/?v= ... progress,0

After the "Start" button is pressed the results will be output to the RLE box at the bottom of the page.
A simulator with the tools I couldn’t find elsewhere: https://www.silversimulations.com/caplayer/
Documentation:https://github.com/teraxtech/caplayer

User avatar
ihatecorderships
Posts: 309
Joined: April 11th, 2021, 12:54 pm
Location: Falls Church, VA

Re: A Javascript Cellular Automata Viewer

Post by ihatecorderships » May 26th, 2022, 8:49 am

Are these the correct options to search for random soups that settle into ash that is not p1, p2, or p4?
EDIT: I noticed that escaping gliders make the simulation always run to gen 2000. Is there a way to make universe toroidal?
-- Kalan Warusa
Don't drink and drive, think and derive.

User avatar
silversmith
Posts: 323
Joined: June 15th, 2020, 6:20 pm
Location: Pennsylvania, USA, Earth, Sector 5ff63D6
Contact:

Re: A Javascript Cellular Automata Viewer

Post by silversmith » May 27th, 2022, 6:23 am

ihatecorderships wrote:
May 26th, 2022, 8:49 am
Are these the correct options to search for random soups that settle into ash that is not p1, p2, or p4?
EDIT: I noticed that escaping gliders make the simulation always run to gen 2000. Is there a way to make universe toroidal?
Yes, those are the correct settings. The gliders cause the simulation run to gen 2000 because it does not yet have the ability to recognize them as being stable. I am considering fixing this by adding the option to detect when the population has stabilized.

Toroidal universes are not currently supported.
A simulator with the tools I couldn’t find elsewhere: https://www.silversimulations.com/caplayer/
Documentation:https://github.com/teraxtech/caplayer

User avatar
silversmith
Posts: 323
Joined: June 15th, 2020, 6:20 pm
Location: Pennsylvania, USA, Earth, Sector 5ff63D6
Contact:

Re: A Javascript Cellular Automata Viewer

Post by silversmith » July 26th, 2022, 10:12 pm

Toroidal universes are now supported, along with finite(planar) universes.

They should work with existing features like B0 rules, search functions, and import/export.
A simulator with the tools I couldn’t find elsewhere: https://www.silversimulations.com/caplayer/
Documentation:https://github.com/teraxtech/caplayer

User avatar
silversmith
Posts: 323
Joined: June 15th, 2020, 6:20 pm
Location: Pennsylvania, USA, Earth, Sector 5ff63D6
Contact:

Re: A Javascript Cellular Automata Viewer

Post by silversmith » August 28th, 2022, 3:46 pm

I have added collaborative functionality to the program, where several people can work on the same pattern at once. Running the pattern is done locally, but you can reset it to see what changes have been made.

The multiplayer application is available here: https://collab.silversimulations.com/

Feel free to notify me of any issues or things you think might be missing.
A simulator with the tools I couldn’t find elsewhere: https://www.silversimulations.com/caplayer/
Documentation:https://github.com/teraxtech/caplayer

hotdogPi
Posts: 1586
Joined: August 12th, 2020, 8:22 pm

Re: A Javascript Cellular Automata Viewer

Post by hotdogPi » August 28th, 2022, 3:49 pm

It doesn't look multiplayer to me, unless I was somehow the only one there.
User:HotdogPi/My discoveries

Periods discovered: 5-16,⑱,⑳G,㉑G,㉒㉔㉕,㉗-㉛,㉜SG,㉞㉟㊱㊳㊵㊷㊹㊺㊽㊿,54G,55G,56,57G,60,62-66,68,70,73,74S,75,76S,80,84,88,90,96
100,02S,06,08,10,12,14G,16,17G,20,26G,28,38,47,48,54,56,72,74,80,92,96S
217,486,576

S: SKOP
G: gun

User avatar
silversmith
Posts: 323
Joined: June 15th, 2020, 6:20 pm
Location: Pennsylvania, USA, Earth, Sector 5ff63D6
Contact:

Re: A Javascript Cellular Automata Viewer

Post by silversmith » August 28th, 2022, 4:00 pm

The website has roughly five views per week. You were likely the only person active.
A simulator with the tools I couldn’t find elsewhere: https://www.silversimulations.com/caplayer/
Documentation:https://github.com/teraxtech/caplayer

User avatar
silversmith
Posts: 323
Joined: June 15th, 2020, 6:20 pm
Location: Pennsylvania, USA, Earth, Sector 5ff63D6
Contact:

Re: A Javascript Cellular Automata Viewer

Post by silversmith » November 25th, 2022, 5:43 pm

I published a new release of this program, which should address some of the suggestions I received.

Besides bug fixes the changes include:
- Added LZ77 compression to patterns exported as a URL
- Added more options for searches
- Improved overall documentation
- Added setting to change the simulation speed
- Added mouse wheel zooming
- Added running an area for 1 generation
- Adjust amount of movement based on framerate
- Switched some key bindings
A simulator with the tools I couldn’t find elsewhere: https://www.silversimulations.com/caplayer/
Documentation:https://github.com/teraxtech/caplayer

User avatar
silversmith
Posts: 323
Joined: June 15th, 2020, 6:20 pm
Location: Pennsylvania, USA, Earth, Sector 5ff63D6
Contact:

Re: A Javascript Cellular Automata Viewer

Post by silversmith » December 3rd, 2022, 12:38 am

I have added some long overdue performance optimizations to the program, along with one minor bug fix.

Additionally, the hosting provider for the collaborative CA editor has changed, which will result in longer loading times for the webpage.

Edit: Added an optimization for handling large patterns.

Edit-2: Fixed a bug preventing keyboard inputs from working

Edit-3: Fixed another bug with user input
A simulator with the tools I couldn’t find elsewhere: https://www.silversimulations.com/caplayer/
Documentation:https://github.com/teraxtech/caplayer

User avatar
silversmith
Posts: 323
Joined: June 15th, 2020, 6:20 pm
Location: Pennsylvania, USA, Earth, Sector 5ff63D6
Contact:

Re: A Javascript Cellular Automata Viewer

Post by silversmith » August 6th, 2023, 7:29 am

I made more improvements to caplayer, including:
- More flexible and capable search options
- Significant performance increases
- Extended partial support of History and StateInvestigator rules to all INT rules
- Flipping and rotating patterns
- Improved pattern identifying function
- A pattern preview for copied and identified patterns
- Automatic conversion of exported rules into "B#/S#" or "B#/S#/G#" format

Here's an example search using some of the new features
https://www.silversimulations.com/capla ... Reset,When

Edit: fixed bug with broken Start/Stop button
A simulator with the tools I couldn’t find elsewhere: https://www.silversimulations.com/caplayer/
Documentation:https://github.com/teraxtech/caplayer

User avatar
otismo
Posts: 1201
Joined: August 18th, 2010, 1:41 pm
Location: Florida
Contact:

Re: A Javascript Cellular Automata Viewer

Post by otismo » August 13th, 2023, 11:27 am

@ silversmith

been following development of your Project

I have Arise, and now have added CAplayer

Your work is much appreciated -

Thank You !
"One picture is worth 1000 words; but one thousand words, carefully crafted, can paint an infinite number of pictures."
- autonomic writing
forFUN : http://viropet.com
Art Gallery : http://cgolart.com
Video WebSite : http://conway.life

User avatar
silversmith
Posts: 323
Joined: June 15th, 2020, 6:20 pm
Location: Pennsylvania, USA, Earth, Sector 5ff63D6
Contact:

Re: A Javascript Cellular Automata Viewer

Post by silversmith » August 22nd, 2023, 11:09 pm

otismo wrote:
August 13th, 2023, 11:27 am
@ silversmith

been following development of your Project

I have Arise, and now have added CAplayer

Your work is much appreciated -

Thank You !
Thank you as well! I am glad to hear others' interest in this project.

Also, in the newest update to CAplayer I implemented general multistate rule support, and it now supports LifeHistory and [R]History rules. Here is an example LifeHistory pattern by qqd:

https://www.silversimulations.com/capla ... ~37A20GA41
A simulator with the tools I couldn’t find elsewhere: https://www.silversimulations.com/caplayer/
Documentation:https://github.com/teraxtech/caplayer

Post Reply