{"id":22383532,"url":"https://github.com/tetration-lab/muddy-forest-x","last_synced_at":"2025-07-31T04:31:50.192Z","repository":{"id":190858431,"uuid":"595493001","full_name":"Tetration-Lab/muddy-forest-x","owner":"Tetration-Lab","description":null,"archived":false,"fork":false,"pushed_at":"2023-04-11T07:08:07.000Z","size":8776,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-04-14T02:01:48.099Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Tetration-Lab.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}},"created_at":"2023-01-31T07:33:17.000Z","updated_at":"2023-11-11T03:57:26.000Z","dependencies_parsed_at":"2023-08-26T20:00:25.625Z","dependency_job_id":null,"html_url":"https://github.com/Tetration-Lab/muddy-forest-x","commit_stats":null,"previous_names":["tetration-lab/muddy-forest-x"],"tags_count":0,"template":false,"template_full_name":"latticexyz/mud-template-minimal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tetration-Lab%2Fmuddy-forest-x","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tetration-Lab%2Fmuddy-forest-x/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tetration-Lab%2Fmuddy-forest-x/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tetration-Lab%2Fmuddy-forest-x/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tetration-Lab","download_url":"https://codeload.github.com/Tetration-Lab/muddy-forest-x/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228215139,"owners_count":17886348,"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-12-05T01:13:59.915Z","updated_at":"2024-12-05T01:14:00.730Z","avatar_url":"https://github.com/Tetration-Lab.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Muddy forest\n\n![image](https://user-images.githubusercontent.com/11013287/216083359-0c5f49f3-0291-4417-b95d-21ea5e7c7906.png)\n\nWelcome to Muddy forest the MMO RTS game repo. you can check out the game [here](https://muddyforest.tetrationlab.com/)\n\n## Project Directory Structure\n\n```\n└── packages\n    ├── circuits // ZK circuits written by Rust using Arkworks\n    │ ├── pkg // WASM bindgen package\n    │ ├── out // Pre-generated PK, VK, and Solidity verifier\n    │ └── src // Circuit's source code\n    ├── client // TS Front end\n    │ ├── nginx\n    │ ├── public\n    │ └── src\n    └── contracts // Core game logic\n        ├── src\n        ├── cache\n        ├── out\n        ├── abi\n        └── types\n```\n\nCurrently, the zk verifier of our game is yet implemented in the contracts, so all of the actions in-game is not validated with verifier.\n\n### Package Informations\n\n- [Circuit README](/packages/circuits/README.md) for more information about ZK circuits, crypto primitive, and proving system we used and instructions to regenerate keys or modify circuits. As well as how clients can access hashing function and other circuit functions through WASM bindgen.\n- [Client README](/packages/client/README.md) for more information about game client, in-game assets handling, and guide for contribution to our front end.\n\n## Usage\n\n### ENVs\n\nDo this when initilizing the project or if you want to switch the deployment mode.\n\n#### Local\n\n```\ncp packages/client/.env.loc packages/client/.env\n```\n\n#### Production (Lattice-chain contracts)\n\n```\ncp packages/client/.env.prod packages/client/.env\n```\n\n### Running Nodes And Clients\n\n```\nyarn\nyarn dev\n```\n\n## ECS\n\nMUD and Entity Component System is the main idea of this repo. if you not familier with it you can read more [here](https://mud.dev/)\n\n### Component\n\nComponent is main game data. Read from preexisting component is recommended under this paradigm. Writing into component would require careful consideration since it might break others part of the game.\n\n```\nAttack\nCooldown\nLevel\nResearch\nBaseBlueprint\nDefense\nLocation\nResearchCount\nBlueprint\nDestroyed\nName\nResource\nBlueprintType\nFaction\nOwner\nType\nBuilding\nInventor\nPosition\nUpgradeCount\n```\n\n### System\n\n```\nAttackSystem\nNameSystem\nSetupBaseShipBlueprintSystem\nBuildBuildingSystem\nSetupBaseShipUpgradeBlueprintSystem\nBuildShipSystem\nResearchSystem\nSetupFactionSystem\nInitResourceSystem\nSendSystem\nSpawnSystem\nMoveSystem\nSetupBaseBuildingBlueprintSystem\nUpgradeShipSystem\n```\n\n### Contribution\n\nIdeally longer term we want this project to be open, composable, and permissionless (on some level). But in this early stage anyone can open PR into this repo to contribute to any part of the game. We will consider merge request in similar way to if this project is fully on chain with governance system.\n\n- System that doesn't require write access to component that you're not the author will be merge without question. (similar to if you directly compose into the game after there's proper system RBAC)\n- System that require write access to component that you're not the author will require concent from component author. (similar to RBAC too.)\n- Change to front end that user can turn on will be merge with out question. (similar to alternative FE or plugin)\n- Change to front end that effect every user will subject to some common sense check.\n- Bug, Doc, Chore will be treat like others open source project.\n\nfollow [conventional commit specification](https://www.conventionalcommits.org/en/v1.0.0/) is recommended but not required.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftetration-lab%2Fmuddy-forest-x","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftetration-lab%2Fmuddy-forest-x","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftetration-lab%2Fmuddy-forest-x/lists"}