{"id":34711155,"url":"https://github.com/philogicae/ethbuc2025-gyges","last_synced_at":"2026-05-24T01:33:38.169Z","repository":{"id":286173134,"uuid":"960495177","full_name":"philogicae/ethbuc2025-gyges","owner":"philogicae","description":"Implementation of Gyges, a strategy board game, during EthBucharest Hackathon 2025","archived":false,"fork":false,"pushed_at":"2025-04-21T15:53:32.000Z","size":443,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-05-24T01:33:37.590Z","etag":null,"topics":["arbitrum","arbitrum-stylus","gamefi","rust","solidity"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/philogicae.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-04T14:31:02.000Z","updated_at":"2025-06-19T21:40:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"c5fbdaa5-cf5c-4029-952c-d388ff8168f9","html_url":"https://github.com/philogicae/ethbuc2025-gyges","commit_stats":null,"previous_names":["philogicae/ethbuc2025-gyges"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/philogicae/ethbuc2025-gyges","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philogicae%2Fethbuc2025-gyges","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philogicae%2Fethbuc2025-gyges/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philogicae%2Fethbuc2025-gyges/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philogicae%2Fethbuc2025-gyges/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/philogicae","download_url":"https://codeload.github.com/philogicae/ethbuc2025-gyges/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philogicae%2Fethbuc2025-gyges/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33418547,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T22:14:44.296Z","status":"ssl_error","status_checked_at":"2026-05-23T22:14:43.778Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["arbitrum","arbitrum-stylus","gamefi","rust","solidity"],"created_at":"2025-12-24T23:57:15.639Z","updated_at":"2026-05-24T01:33:38.160Z","avatar_url":"https://github.com/philogicae.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EthBucharest 2025 - Gyges\n\nImplementation of [Gyges](https://boardspace.net/english/about_gyges.html), a strategy board game.\n\nWhy this game? Because nobody knows it and the rules seem to be simple on paper... but the game is actually complex and pretty deep when we take a closer look (like Go).\n\nThe duration of a game can go from 10 seconds to 2 hours, if the levels of the players are close.\n\nAs a solidity dev, it was the perfect opportunity to discover Arbitrum Stylus, refresh my Rust, and have fun with low-level optimizations (Yes it's FUN).\n\n## How to play\n\nRead the rules: [here](https://boardspace.net/english/about_gyges.html)\n\n## Stack\n\n- Rust language\n- [Arbitrum Stylus](https://arbitrum.io/stylus)\n- [Nitro-devnode](https://docs.arbitrum.io/run-arbitrum-node/run-nitro-dev-node) for local tests\n- Some python/bash scripts as minimal CLI\n\n## Notes\n\nTbh I focused on understanding the specificities of Rust/Stylus and optimizing EVM storage (The state of the game fits on a single bytes32).\n\nDidn't have time to:\n- Restrict paths properly: should not be able to pass by an occupied cell or a cell already used during the turn.\n- Placement restriction when 'flying' (after replacing a piece): can place a piece on any empty cell, but should not be able to go behind the opponent line.\n\n## TODO's\n\n* Improve the smart contract:\n    - Heavy refactoring\n    - Add missing restrictions\n    - Add winner check\n* Build the webUI (probably with React)\n* Add AI opponent using LLM agent","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphilogicae%2Fethbuc2025-gyges","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphilogicae%2Fethbuc2025-gyges","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphilogicae%2Fethbuc2025-gyges/lists"}