Code Monkey home page Code Monkey logo

wighawag / stratagems Goto Github PK

View Code? Open in Web Editor NEW
23.0 4.0 5.0 9.41 MB

Stratagems is an Autonomous World where players are actual gods. They are literaly the one creating the world.

Home Page: https://stratagems.world

License: GNU General Public License v3.0

JavaScript 0.79% TypeScript 51.43% Solidity 17.46% HTML 0.76% Svelte 21.82% CSS 1.55% Handlebars 0.14% Lua 0.20% PLSQL 5.75% Shell 0.10%
autonomous-worlds composable game onchain permissionless persistent

stratagems's Introduction

Stratagems Logo

Twitter GitHub commit activity License open issues


๐Ÿ‘พ๐ŸŒ An Autonomous World In Constant Evolution

Stratagems is a game where players are actual gods. They are literaly the one creating the world and its inhabitants.

Stratagems is an Autonomous World and is thus permission-less and persistent. Its rules are immutable yet it is fully composable and as a community players can bring new dimensions to the world all permissionlessly.

We expand on that idea in our latest essay: "Natural Compoability in Autonomous Worlds".

โ™Ÿ๏ธ What is stratagems exactly ?

Stratagems is a world created by players and anyone can join at any time. Players use a specific set of factions to compete for control of the world. Alliances and betrayal are part of the arsenal as factions mixes around the world thus created.

Stratagems is thus first and foremost a social game. Its main inspiration is Conquest.eth who successfully created a deeply social game out of simple mechanics.

Stratagems explores this further by having even simpler rules. It also reduces the gas cost to a minimum by spreading the actions over a week. It works because most of the game plays out in the conversations and strategies happening among the players.

While maximally on-chain, Stratagems scales with players by offering compelling off-chain gameplay thanks to its associated social complexity.

๐ŸŽฎ How do you play ?

Players participate in the game by depositing ETH (ratio to be defined) to place a new piece of land on the endless sea. They specify its location and faction.

By doing so, they risk the associated ETH but also get a chance to potentially capture the same (and more) from other players.

More details coming soon! Follow our twitter or register your interest on our website!

Stratagems Screenshot

๐ŸŽŽ Who we are?

We are Etherplay, an Open Source Game Studio building Autonomous worlds.

We have been building fully on-chain games since 2016-2017 and what we consider to be Autonomous Worlds since early 2019 following in the footsteps of Huntercoin. We started our adventure with the aptly named "Ethernal" and then launched the autonomous version of Conquest.eth in April 2022 which will remain live until Gnosis, the chain it runs on, dies if ever (See our recent announcement).

Our founder, Ronan Sandford is also an active developer in the web3 space with contributions towards EIP like ERC-1155 and ERC-2771, but also tools like hardhat-deploy and Jolly-Roger. He has been tinkering with on-chain NFTs with Mandalas and Bleeps. You can find more on his personal website.

๐Ÿ’ป Install

We are assuming here that you have nodejs and pnpm installed

We also recommend to install zellij

  1. Clone the repository

    Before cloning you will need to have git LFS (Large File Storage) installed

    git clone https://github.com/wighawag/stratagems.git
    cd stratagems
    

    Then, ensure the LFS hooks are present:

    git lfs install

    If you installed git lfs after already cloning the repo, you will also need to execute the following:

    git lfs pull
  2. Install dependencies

    pnpm i
  3. Then Assuming you have zellij installed

    pnpm start

    And you are ready to go!

Note If you do not have zellij (on windows for example) you can use wezterm

pnpm start:wezterm

Or you can also launch each component in their own process

pnpm local_node
pnpm contracts:compile:watch
pnpm contracts:deploy:watch
pnpm indexer:dev
pnpm web:dev

๐Ÿ‘พ Play

Just navigate to the url mentioned in the console. If you have no other thing running, it should be http://localhost:5173/

Deploying to a network

Just execute the following

pnpm contracts:deploy:prepare <network>

and it will ask you few questions and get your .env.local setup with the var needed to deploy on the network of your choice.

You just need to have a endpoint url and mnemonic ready for it.

You can of course configure it manually with more option if you need

Then you can deploy your contract

pnpm contracts:deploy <network>

And you can verify the contract

  • on etherscan:
pnpm contracts:verify <network> etherscan
  • using sourcify:
pnpm contracts:verify <network> sourcify

for etherscan if the network is not supported by default (no endpoint), you can provide your own:

pnpm contracts:verify <network> etherscan --endpoint <api endpoint url>

๐Ÿ™Œ๐ŸŽ‰ How You Can Contribute

If you're passionate about Autonomous Worlds and infinite games, or if you have your own ideas to bring to the table, we welcome your contributions!

Here's how you can get involved:

  • Submit a Pull Request: If you see any potential improvement, go for it. We welcome any kind of contributions

  • Reach out to us if you want to join the project, We are especially looking for web dev (css experience), game dev and web/UX designer.

  • Sponsor us Any amounts are welcome. It will help us continue improving the game. All our work is open-source and any sponsor is thus for the public good :)

  • Partner with us Our game is unique in that you can put funds in it and promote your own project. There is even scope to bring your project's token in the game. Reach out to us if you want to know more

Join us on this exciting journey of innovation and creativity. Let's have fun! ๐ŸŽฎ๐Ÿ‘พ๐Ÿš€

stratagems's People

Contributors

wighawag avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.