{"id":24122156,"url":"https://github.com/tlinden/golsky","last_synced_at":"2025-02-28T19:24:31.821Z","repository":{"id":240778705,"uuid":"803440001","full_name":"TLINDEN/golsky","owner":"TLINDEN","description":"game of life with ebitengine","archived":false,"fork":false,"pushed_at":"2024-10-20T11:11:03.000Z","size":3375,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-11T11:41:48.982Z","etag":null,"topics":["cellular-automata","conways-game-of-life","ebitengine","game-of-life","gameoflife","golang"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TLINDEN.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-20T18:18:13.000Z","updated_at":"2024-10-20T11:11:07.000Z","dependencies_parsed_at":"2024-06-02T18:41:32.861Z","dependency_job_id":"575be483-418a-4416-96be-49e1b6034b87","html_url":"https://github.com/TLINDEN/golsky","commit_stats":null,"previous_names":["tlinden/gameoflife","tlinden/golsky"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TLINDEN%2Fgolsky","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TLINDEN%2Fgolsky/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TLINDEN%2Fgolsky/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TLINDEN%2Fgolsky/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TLINDEN","download_url":"https://codeload.github.com/TLINDEN/golsky/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241210936,"owners_count":19927817,"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":["cellular-automata","conways-game-of-life","ebitengine","game-of-life","gameoflife","golang"],"created_at":"2025-01-11T11:38:37.993Z","updated_at":"2025-02-28T19:24:31.794Z","avatar_url":"https://github.com/TLINDEN.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# golsky - Conway's game of life written in GO\n\n![Golsky Logo](https://github.com/TLINDEN/golsky/blob/main/.github/assets/golskylogo.png)\n\n[![License](https://img.shields.io/badge/license-GPL-blue.svg)](https://github.com/tlinden/golsky/blob/master/LICENSE)\n[![Go Report Card](https://goreportcard.com/badge/github.com/tlinden/golsky)](https://goreportcard.com/report/github.com/tlinden/golsky) \n\nI wanted to play around a little bit with [**Conways Game of Life**](https://conwaylife.com/)\nin golang and here's the  result. It's a simple game using\n[ebitengine](https://github.com/hajimehoshi/ebiten/).\n\nJohn Conway himself: https://youtu.be/R9Plq-D1gEk?si=yYxs77e9yXxeSNbL\n\nBased on: https://youtu.be/FWSR_7kZuYg?si=ix1dmo76D8AmF25F\n\n# Screenshots\n[![golsky-mainmenu.png](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/256_golsky-mainmenu.png)](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/golsky-mainmenu.png)\n[![golsky-options.png](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/256_golsky-options.png)](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/golsky-options.png)\n[![golsky-bindings.png](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/256_golsky-bindings.png)](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/golsky-bindings.png)\n[![golsky-evolution-trace.png](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/256_golsky-evolution-trace.png)](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/golsky-evolution-trace.png)\n[![golsky-zoom.png](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/256_golsky-zoom.png)](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/golsky-zoom.png)\n[![golsky-debug.png](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/256_golsky-debug.png)](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/golsky-debug.png)\n[![golsky-capture.png](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/256_golsky-capture.png)](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/golsky-capture.png)\n[![golsky-captured.png](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/256_golsky-captured.png)](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/golsky-captured.png)\n[![golsky-dark-theme.png](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/256_golsky-dark-theme.png)](https://github.com/TLINDEN/golsky/blob/main/.github/assets/screenshots/golsky-dark-theme.png)\n\n\n[Youtube video game preview](https://www.youtube.com/watch?v=xEto6Oew16I)\n\n# Features\n\n* flexible parameters as grid and cell size\n* colors can be inverted\n* evolution  traces can be shown,  with age the cells  color fades and\n  old life cells will be drawn in red\n* game grid lines can be enabled or disabled\n* game speed can be adjusted on startup and in-game\n* you can zoom in and out of the canvas and move it around\n* game can be paused any time\n* it can be run step-wise\n* game state can be saved any time and loaded later on startup\n* various Life rules can be used, the rule format `B[0-9]+/S[0-9]+` is fully supported\n* game patterns can be loaded using RLE files, see https://catagolue.hatsya.com/home\n* you can paint your own patterns in the game\n* the game can also be started with an empty grid, which is easier to paint patterns\n* wrap around grid mode can be enabled\n* you can also save rectangles of the grid to RLE files\n\n# Install\n\nIn the github releases page you can find ready to use binaries for\nyour OS. Just download the one you need and use it.\n\n# Build from source\n\nJust execute: `go build .` and use the resulting executable.\n\nYou'll need the golang toolchain.\n\n# Usage\n\nThe game has a couple of commandline options:\n\n```default\nUsage of ./golsky:\n  -c, --cellsize int               cell size in pixels (default 8)\n  -d, --debug                      show debug info\n  -D, --density int                density of random cells (default 10)\n  -e, --empty                      start with an empty screen\n  -H, --height int                 grid height in cells (default 40)\n  -i, --invert                     invert colors (dead cell: black)\n  -l, --load-state-file string     game state file\n  -n, --nogrid                     do not draw grid lines\n  -p, --paused                     do not start simulation (use space to start)\n  -f, --rle-file string            RLE pattern file\n  -r, --rule string                game rule (default \"B3/S23\")\n  -s, --show-evolution             show evolution traces\n  -t, --ticks-per-generation int   game speed: the higher the slower (default: 10) (default 10)\n  -v, --version                    show version\n  -W, --width int                  grid width in cells (default 40)\n```\n\nWhile it runs, there are a couple of commands you can use:\n\n\n* space: pause or resume the game\n* while game is paused: press n to forward one step\n* page up: speed up\n* page down: slow down\n* Mouse wheel: zoom in or out\n* move mouse while left mouse button pressed: move canvas\n* i: enter \"insert\" (draw) mode: use left mouse to toggle cells alife state.\n  Leave with insert mode \"space\". While in insert mode, use middle mouse\n  button to drag the grid.\n* r: reset to 1:1 zoom\n* escape: open menu\n* s: save game state to file (can be loaded with -l)\n* c: enter copy mode. Mark a rectangle with the mouse, when you\n  release the mous button it is being saved to an RLE file\n* d: toggle debug output \n* q: quit\n\n# Report bugs\n\n[Please open an issue](https://github.com/TLINDEN/golsky/issues). Thanks!\n\n# License\n\nThis work is licensed under the terms of the General Public Licens\nversion 3.\n\n# Author\n\nCopyleft (c) 2024 Thomas von Dein\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftlinden%2Fgolsky","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftlinden%2Fgolsky","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftlinden%2Fgolsky/lists"}