MUD is a framework for building ambitious apps on the EVM, and ZUSE is a framework for building worlds with strong digital physics on MUD.
ZUSE is MIT-licensed, open source and free to use.
See the examples/
folder for how to use Zuse.
- Run
brew install yarn
to install yarn andnpm i -g concurrently
to install concurrently - Run
yarn set version stable
to generate.yarnrc.yml
and use the latest stable version of yarn (3.6.0)- We need to use at least yarn 3.6.0 because we need to link the yarn packages, which have pnpm-based package.jsons.
If we use an earlier version of yarn, we would not be able to link the dependencies of each mud package, because they use workspace:* syntax
when specifying dependencies: (e.g.
"@latticexyz/common": "workspace:\*"
) - yarn 3.6.0 can interpret these dependencies, earlier versions of yarn cannot
- We need to use at least yarn 3.6.0 because we need to link the yarn packages, which have pnpm-based package.jsons.
If we use an earlier version of yarn, we would not be able to link the dependencies of each mud package, because they use workspace:* syntax
when specifying dependencies: (e.g.
- Add
nodeLinker: node-modules
to.yarnrc.yml
to tell yarn that we want our dependencies to be stored in node_modules files - Run
yarn install
at the top directory to install dependencies- Note: Since we are using a local fork of MUD, yarn will symlink each of mud's packages inside the node_modules file at the top directory.
- Clone our mud fork at https://github.com/tenetxyz/mud and place it in the same directory as this directory:
development/
zuse/
mud/
- Note: We've forked MUD so we can modify some of the packages. This repo depends on our fork of MUD.
- In our mud fork, run pnpm install (to install all dependencies)
- In our mud fork, run pnpm build (to build all packages)
- Everytime you change a file in the package, just remember to
pnpm build
. - If you don't want to build all packages in mud, you can build each individual package by:
cd
ing into the package (egcd packages/recs
)- run
pnpm build