{"id":17791316,"url":"https://github.com/schell/aagol","last_synced_at":"2025-08-08T19:05:02.436Z","repository":{"id":66386410,"uuid":"2948947","full_name":"schell/aagol","owner":"schell","description":"another automaton game of life","archived":false,"fork":false,"pushed_at":"2011-12-13T01:01:12.000Z","size":108,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-07T16:45:21.405Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/schell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-12-09T17:53:35.000Z","updated_at":"2014-04-24T01:43:44.000Z","dependencies_parsed_at":"2023-02-20T03:15:27.885Z","dependency_job_id":null,"html_url":"https://github.com/schell/aagol","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schell%2Faagol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schell%2Faagol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schell%2Faagol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schell%2Faagol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/schell","download_url":"https://codeload.github.com/schell/aagol/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246741183,"owners_count":20826063,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-27T10:50:35.702Z","updated_at":"2025-04-02T01:47:38.591Z","avatar_url":"https://github.com/schell.png","language":"JavaScript","readme":"aagol\n=====\naagol is \"another automaton game of life\".\n\nwtf does it do?\n---------------\naagol is a system of states and rules that transition into new states based on those rules.\n\nis it any good?\n---------------\nmeh.\n\nrules\n-----\nUsers write programs and watch them transform the state of the world. It is similar to Conway's game of life. It consists of a number of parts: \n\n    1. The server (the world): \n        The world consists of a 2d grid of spaces in a given state.  \n        States: \n            0 Empty  \n            1 Block \n            2 Program \n            3 Resource  \n        Rules:\n            Programs can move into empty spaces\n            Programs can switch places with blocks\n            Programs that surround a resource on two sides turn that resource into a like program (replicate)\n            Programs that have no neighboring like programs turn into empty space (die)\n            Unlike programs are resources (for your programs)\n            Newer programs have iteration priority\n            \n        The server takes care of ticking the world forward based on certain transitions the cells make. Life cells' transitions are programmable by the user.\n        \n    2. The client:\n        Receives game state and displays it. Could possibly just receive the initial game state and transitions to cut down on data transmission.\n        \n    3. The language:\n        Defines transitions of programs. The user defines a pre and post transition state using a char array in which each char represents a cell. \n        The user defines a 3x3 block of the world as a string of states 0-3 or X (the program being iterated over):\n            000 000    \n            2X0 20X \n            000 000\n        This transition shows a program that is right of a like program in otherwise empty space moving to the right.\n            000 000     \n            0X0 X0X\n            020 020\n        This transition shows a program above a like program moving EITHER left OR right.\n            000 XXX\n            0X0 X0X\n            020 X2X\n        Randomly move anywhere (except to the space already occupied by a like program).\n            000 000\n            0X0 000\n            202 2X2\n        Move down in between two like programs.\n            003 0X3\n            0X0 000\n            020 020\n        Move in on a resource.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschell%2Faagol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fschell%2Faagol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschell%2Faagol/lists"}