Code Monkey home page Code Monkey logo

rarity's Issues

[Dark Planet] Full Game Bounty Request

Dark Planet is a planetary game based on Rarity. Rarity is a planetary inhabitant. This is a world fighting for energy.

Version 1.0:

  1. summoner is a resident of the planet.
  2. summoner's xp must be greater than 0.
  3. the v1 version only has 8000 summoners.
  4. while the summoner is collecting energy, the summoner's energy may also be plundered.

Detailed rule description:

1.startCollectingEnergy(uint256 rarityID)
Become a resident of the planet and start collecting energy. At this time, the user's status is public, and the energy grows with time. The user in the public state is at risk of exposure. The exposed summoner will have a battle. The energy of the winner increases, and the energy of the loser returns to 0, which is a dead state. Users in the dead state can execute the triggerCaptureMechanism function. If the execution is successful, the energy increases, and the dead user will be reactivated and can participate in the energy plundering war again.

2.endCollectingEnergy(uint256 rarityID)
Stop collecting energy. At this time, the user's state is hidden, and the energy stops growing. There is no risk of exposure to hidden users.

3.triggerCaptureMechanism(uint256 rarityID)
All planet residents can execute this function. Success requires luck. After the capture is successful, the executor's energy increases.

According to the law of the dark forest, users do not know when they will be exposed or who their opponents are. In order to improve the survival rate, users should try their best to increase their energy before exposure.
The function will continue until the last 100 people, and the program will stop capturing.

Version 2.0:

In version 1.0, 100 users will be screened out and 100 planets will be derived. The maximum inhabitants of each planet is 10,000. The new planetary energy plundering war has begun. the exposed summoner will have a battle, and the summoner’s attributes and skills will determine the result, The resources of the losing summoner will be plundered.
The 2.0 version use land. land is the base layer of DarkPlanet, and its compatibility will be better.

Current progress:

Version 1.0: It has been developed, with 8,000 participating residents, and 298 looted users.
Version 1.0 UI: https://darkplanets.vercel.app, still under development.
Version 1.0: Ready to open the second planet and let more people participate.

Github: https://github.com/DarkPlanets
Twitter: https://mobile.twitter.com/geekery_eth
Discord: https://discord.com/invite/98DYyHAZ

[The Goddess Tower] - Idle Game - Full Game Body Request

Hi summoners,

We're a team of 3 developers from Vietnam. We've been developing the Rarity UI site and spreading it over our Vietnamese community since the beginning. We aim to make Rarity an Idle Game that even can play on Mobile, of course, with the support from Metamask wallet. The character designs were made by Evan Todd-McCoy who's really famous on Reddit or Artstation site with his pixel creations. Also, thanks to you and @tansawit for initiating the project on Github.

The project was launched as open-source and for sure will keep it that way.

### Current Feature

  • Integrated with Rarity Address (Mint, adventure, adventure all)
  • Rarity Gold
  • Rarity Attribute
  • Added retry to completion function to improve the RPC calling failure

### The Early Version of The Game Mechanics
As our goal to make an Idle version of Rarity to conquer the Goddess Tower, we plan on settle down the simple version of the game mechanics with the basic rules as:

  • The game will be built on top of Rarity's summoner. The current attribute system & Summoner's level will play a crucial role in the Idle version as primary stats and multiplier, respectively.
  • The only level in the Idle game is from the Summoner's level; However, it will be further integrated with the Athena Systems. The summoners could level up Athena Systems by clearing the tower. The Athena System will give a range of buff to the summoners like magical findings, higher multiplier, ailment effects, etc.
  • For the simplified version, we're going to cover only the secondary stats and skip the special effects like (poisons, burn, physical/magical penetration, etc..) for now. The secondary stats are calculated based on the summoner's primary stats, level (multiplier), and the class as well. The secondary stats will only cover Magical/Physical Atk, Def, Magic Rest, Physical Rest, Accuracy, & Dodge for this early version.
  • Items under the legendary tier only provide secondary stats that make the Summoner's Level & Primary Stats the most important thing in the game.
  • Each floor of the tower will have a list of enemies & bosses to be randomized. The Goddess's gonna roll her dice on the adventurer.
  • The raid result will be based on the total combat power of the summoners (3 frontline and 1 sideline summoners from a team) and the tower's demon defenders.
  • The buff/debuff skills come with a range effects (only some special classes like Monk with their inner balance or Bard have fixed effects).
  • The total combat power will have resulted from the buff/debuff from both teams and again the Goddess needs to roll her dice to enjoy the show here. On our worst day, we could get minimal buff effects while the tower enemies get a bunch of high-level demons with strong buff/debuff skills that greatly affect our overall combat power.
  • The game will be set in manual & automatic modes with a cooldown of 1hour/raid. The cooldown time will be reduced by the Staking System of the game currency (up to you to select the main currency, which could be FTM or gold).
  • It's gonna take the game currency as some fees to raid the Goddess Tower. Every successful raid could get back 55-70% of the total fee. The adventurer needs to dump their unused items looted from the tower to get more gold. As for the early version and without the Items database, we could run an x2 reward so the adventurer could get enough to continue their raid for good.

### Team
We have a team of 3 part-time developers for now.

  • 1 full-stack web developer
  • 1 software engineering
  • 1 game developer

Roadmap & Milestones

  • Continue integrating new contracts from the community
  • Deploy the contract for the early version of Idle game
  • Build up gear system & special effects
  • With the support fund, we could request Evan Todd-McCoy to further design the game animation as well as gear designs, and for sure get more devs onboard
  • PvP & weekly tournaments will come soon
  • Full version unlocked with all special effect skills, unique legendary affixes, goddess's blessing, and so on

Any donation is greatly appreciated.

Wallet Address: 0x8951555e012D4A0BfCf7eFd3F9908D97a55E7F91
Website: https://rarity-hawk.netlify.app/
Twitter: https://twitter.com/GoldHawkEye189

[achievements system] Expansion ecosystem request (maybe a little more?)

RarityAchievement: Achievement System for Rarity

Rarity Achievement is a smart contract to create a decentralized achievement system for Rarity by Andre Cronje. The concept of the project can be adapted and adopted by other crypto games in the ecosystem.

For the summoner

  • Track the total amount of achievement points earned by the summoner while playing the game
  • Track the list of achievements earned

For the other contracts/web developers

  • Enable a way to unlock achievements when the user interacts with a contract
  • Enable to unlock content if the user has reached a certain amount of achievements points or has unlocked a specific achievement

What does this enable for the ecosystem?

  • Players are more engaged to play the game to earn achievements
  • Contract with achievements will be used more
  • The overall longevity of the game is extended
  • Other contracts / dApp could enable some content only if the user has reached a minimum level of achievements points
  • Achievements points (that’s just an idea) could be “burned” to purchase specific items payable with achievements points instead of golds
  • More concepts to come

How to interact with the contract?

For smart contract developers that want to register and award achievements

If you want to see an example of a contract that integrate with RarityAchievement you can look at RarityBlockSandbox.sol

What your contract needs to do is

First of all, you need to import both the RarityAchievement interface and Model

import ../interfaces/AchievementInterface.sol”;
import ../data/AchievementModel.sol”;

Save a reference to the RarityAchievement contract like this

AchievementContractInterface _ac;

Declare the Achievement Metadata ID used by your contract

uint256 private mobAchievement;
uint256 private miniBossAchievement;
uint256 private bossAchievement;

Register your achievement metadata calling _ac.registerAchievement(achievementMetadata); for each of your contract’s achievements.

registerAchievement takes a metadata as input and return the metadataID you need to send the contract when you want to award an achievement to a summoner.

The model of the metadata is like this:

AchievementModel.AchievementMetadata metadata = AchievementModel.AchievementMetadata({
    id: 0, // ID here is not important, will be replaced by the AchievementContract
    source: address(this), // source is not important, will be replaced by the AchievementContract
    source_name: "The nightmare dungeon!",
    difficulty: AchievementModel.Difficulty.Uncommon,
    title: "Defeated first miniboss",
    description: "You have been brave enough to defeat the Eruptus, the mini boss of 'The Fantom Dungeon'",
    points: 10
})

I’ll explain each of those

  • idis the ID of the metadata. You can pass 0 because it will be replaced by the RarityAchievement contract when you call the registration process
  • source is your contract’s address
  • source_name is the name of your contract. For example The Fantom Dungeon, it will be used by web apps to know from which contract the achievement comes.
  • difficulty is how difficult is to get this achievement. It goes from Common to Legendary
  • titleis the title of the achievement
  • description is the description of the achievement
  • points are the number of achievement points that the summoner will receive when awarded the achievement. Try to be fair otherwise, your contract will not be used by other web apps/contracts!

id and source are optional, they will be replaced by the RarityAchievement contract, other properties are required, otherwise, the transaction will revert!

When you have registered all your achievement you just need to award those achievements when the summoner has done some specific action like for example

  • Beaten a difficult boss
  • Crafted 100 swords
  • Collected 100.000 gold
  • Reached level 10
  • Defeated 10 times a dungeon

To award an achievement to a summoner you need to call _ac.awardAchievement(summonerId, achievementMetadataId);.

Please be aware that:

  1. You can award only achievement that your contract owns
  2. You cannot award multiple time the same achievement to the same summoner

If you want to be sure that a summoner already owns an achievement you can call _ac.hasAchievement(summonerId, achievementMetadataId);

For web3 developers / other integration

If you want to build a frontend to list the summoner’s achievement you are in the right place. These functions could also be used by other smart contract developers to create derivative contracts.

For example, you could allow a summoner to craft the ultimate sword only if he owns the achievement unlocked after crafting 100 swords. Or you can allow accessing the final dungeon only if the summoner owns all the achievements from previous dungeons and so on. Just use your imagination!

Back to web3 devs. You have 3 utility functions you can call:

hasAchievement(uint256 summonerId, uint256 metadataId) will return a bool. It will be true if the summoner owns a specific achievement.

getPoints(uint256 summonerId, address[] memory sources) it will return the total amount of achievement points owned by the summoner.

The sources is an array of whitelisted contracts from which you want to filter the achievements from. For example, you want to get only points gained by ContractA and ContractB contracts, you just need to pass those addresses as an array.

If you don’t want to filter at all, just pass an empty array like this []

function getAchievements(uint256 summonerId, address[] memory sources, uint256 offset, uint256 limit) will return the list of Achievements owned by the summoner. The sources parameter is used for the same reason: get only the achievement awarded from those contract addresses. The offset and limit parameters are used to paginate the results (because of RPC limitations). Use them only if you get some errors while querying the contract otherwise just pass 0 as the offset and 9999999999 (or any big number) as the limit.

Feedback, help, new ideas?

I’m open to discussion and feedback, if you have any please DM me on Twitter @StErMi or open a GitHub issue/PR!

[RarityPVP] Expansion Request

Rarity PVP

  • All level 2 summoners can participate
  • Total 100 rings
  • You can choose to become a ringmaster and wait for others to jump in
  • You can also challenge the ringmaster directly
  • Entrance fee 10 gold coins
  • The winner wins 50 gold coins, the loser will lose 50 gold coins
  • Defeat the ring master and you will become the ring master to accept the challenge of others

Website: https://www.raritypvp.xyz

Code: https://github.com/Qsnh/RarityPVP

Get all summoners belonged to an address

How can I get all summoners associated to my address?
balanceOf shows only number of tokens I have, but I'd like to retrieve the full list of token IDs by my address.
Is it possible to do via rarity contract?

Factions & Battlefields

Factions & Battlefields

I'm currently building factions, a set of smart contracts that aim to create Battlefields on which Factions of summoners can fight to win prizes. The code is available here and I have been working with rarity.game to integrate it on the UI.

I'm not sure it qualifies for a grant, but since it's already under construction, why not try?

Factions

Factions are simple: there are 5 of them (The Harpers, The Order of the Gauntlet, The Emerald Enclave, The Lords' Alliance and The Zhentarim) and any summoner with its character created (i.e. has attribute points set) can join one. Once "enrolled" in a faction, a summoner must wait for a delay before enrolling in a new faction.

Any other contract can query the enrollment status of a summoner to develop more features (i.e. Guilds of summoners only from a certain faction).

Battlefields

Battlefields are places where enrolled summoners are sent to fight for their faction. To be sent, a summoner must pay a tribute to its faction, which is stored in the faction's treasury. Each summoners, when joining the battlefield, adds power to its faction. By the end of a period, a clash between factions starts and the faction which has the highest power wins the treasury of all the other factions. Summoners of the winning faction can then claim a share of the tribute they earned.

Each battlefields is an independent smart contract, with its own rules (how summoners contribute to the faction's power, tribute to pay, period between clashes, etc.), which allows evolving with the ecosystem as it grows. The first battlefield is a simple one, using only the skills and attributes of summoners to calculate the power they add to their faction

[World Map] Expansion bounty request

Introduction

The world map provides 2D coordinates and a way to move as a new building block for new ideas.

What has been done

UI -> http://rarity-map.world
Contract -> https://ftmscan.com/address/0xe6CDE3b637A9c28Ab38D51147B531C323CA35021.

links

Contract code -> https://github.com/npasquie/Rarity-World-Map
UI code -> https://github.com/npasquie/rarity-map-front

medium announcement -> https://tobou.medium.com/introducing-raritys-world-map-7605021966f6
twitter announcement -> https://twitter.com/t0bou/status/1436694510025781255

screenshots

image
image

Design choices

After spawning, a summoner can move every 24 hours. Every summoner spawns on a random location inside the spawn square, which is two weeks of travel wide. The spawn square is in the middle of a massive space to explore, which borders can be reached in two years.
The contract is upgradeable, if asked to, I will delegate / burn my upgrade ability. I made it upgradable to allow for total freedom of creativity on top of the map.

Implications

The map has sparked some discussions. The most anticipated feature seems to be land claiming. We can imagine guild wars for territory, ressources tied to specific places, dungeons available in specific locations, commerce across the land, etc.

Roadmap

With another interested dev, we are in discussion about land claiming implementation.

to support

address for bounty (any amount welcome) 0x188e62B5995932EE1c9b810DdB6400a03153c3Cb

Thanks for reading !

[Mission System] Expansion Request

Missions
Introduction
Build Mission System for the ecosystem, it allows heros to gain extra bounties by claiming and completing missions to increase the playability.

Description
Initially, each hero claims a random daily mission every day, the mission is allowed to be switched twice every day (if the hero is not satisfied with the given mission) , and each switch will cost the hero 20G(the amount can be negotiated, it is to add gold coin recovery option for the game.

Roadmap
*Add daily mission claim feature: like taking an adventure, scouting the cellar once, minting an equipment or leveling up once.
*Add Dungeon mission.
*Add exclusive class mission: like class missions to become a grand wizard.
*Add more and diversified missions as the game develops.

Fund Usage
*The development of code contract
*Contract deployment and further support

Issue
Since the game is currently at its initial stage, there are few manipulable actions, which means that initial mission count maybe lack of numbers, and continuous updates are required. We wonder if we can apply for the grant with this proposal, if we reach an agreement, our team will start to code.

Missing tokenOfOwnerByIndex

I can see in source code of rarity.sol that there are implementation of function "tokenOfOwnerByIndex" but it is not present in deployed ABI, neither in ftmscan READ CONTRACT interaction.

Why is that?
And what is recommended method for getting all summoners of one address?
Looping through all summoners dont seems to me as a good idea.

[brownie scripts] UI ecosystem request

I have started to pull my Brownie scripts out of my private repos and put them into a git repo dedicated to Rarity. This will make it easy for other people to install them and use Python to automate their summoners.

I already have some scripts working, but they haven't yet been copied into my repo.

  • summon multiple
  • generate random ability scores (related #55)
  • set skills for multiple summoners
  • level up multiple summoners
  • adventure for xp
  • scout and adventure on any contract
  • craft multiple things
  • manage a Guild and any NPCs (See #57)
  • create a Dungeon (see #58)
  • buy a name

These scripts use multiple smart contracts to manage the summoners.

There are a few utility contracts that are probably useful for everyone:

  • CloneFactory: I know gas efficiency isn't as important on Fantom compared to ETH, but this is pretty easy to use and makes contract deployments even cheaper.
  • DelegateGuard: revert if (or if not) delegate called
  • RarityCommon: contract addresses and approval helpers (related #15).

Name is not exclusive

I found the names could be set multiple times though others use it. Should not be there a claim method to own the name?

[RarityMMO] Full Game Bounty Request

Raritymmo.com is my vision of what a blockchain RPG experience should be like. I would love support to take more time to dedicate to this growing project.

Vision

To build a UI with an amazing user experience, so that new users are welcomed into an MMO built on the blockchain. My primary focus is creating a story around the experience, rather than automating the tasks involved with the process.

30 Day Analytics

  • 300,409 pageviews
  • 52,241 unique visitors
  • 265 GB bandwidth (recently migrated to a CDN)

Recent Updates

  • Added dungeons, skills, and attribute setting per hero
  • Migrated to Bunny.net CDN and paying for image optimization
  • New landing page
  • New skills codex

Funding

  • Funding goes to support me and possible future team
  • Developers
    • Just me. My day job isn't web development yet (I would ♥️ it to be though). On my free time, I'm a full-stack React developer, specializing in building UIs with UX focus
    • Need a solidity/backend Developer
    • Designer (if funding allows)

Roadmap

  • Implement crafting and feats, continue to implement new features as they are launched
  • Refining the dashboard to show more than 1000 heroes by paginating the heroes
  • Expanding the search functionality to help filter and support those with thousands of heroes
  • Continue to expand on the stories, by randomizing content displayed during various encounters/dungeons/events
  • Add unique art and design to all elements of the game

[Rarity Mobile] UI Bounty Request

Rarity Mobile

Introduction
Most of the Decentralized Applications are browser based. While this makes the contracts accessible for many devices, mobile users do not interact smoothly with the application since browser interaction (especially on decentralized apps) is rough.

User Interface

An mobile application that will allow users to interact with rarity contracts in Android will be created. This mobile application will also send the users notifications when their time for adventure or dungeon has come.

Roadmap

  • Create initial project with basic functionality like viewing summoners and making adventures and dungeons.
  • Add point assignment and skills
  • Add marketplace

Team

  • I will develop the application alone. Might work with a designer if someone here wants to help.

Publishing

  • All code will be open source. I will publish it from this account.
  • I will publish the app on F-Droid App Store since Google Play might reject the app due to their policy.

Build instructions?

Probably a dumb question since I havent written any solidity in years, but how do you build this?
Just running solc ./*.sol (solc version 0.8.6) gives me some error: Compiler error: Stack too deep when compiling inline assembly: Variable value0 is 1 slot(s) too deep inside the stack.

Equipping weapons and armor

Is there currently a method for tracking which weapons and armor have been "equipped" by a summoner? Similar question about memorized spells for relevant classes could be asked.

If such a method does not exist, I propose that a mechanism be introduced to track which weapons and armor have been equipped by a summoner.

Using the inventory of the summoner is not sufficient IMO as it will not enforce the relevant requirement and restrictions for equipping an item.

A method to equip
A method to unequip
A method to check currently equipped

[RarityGame] Full Game Bounty Quest

Rarity Game

Rarity Game is a complete UI to interact with rarity.
With a couple of tools, it enables users to handle a lot of summoners while maintaining the aspect to individually craft each of your summoners to be the best one.

Rarity Game includes:

Developers:

Rarity Game Is developed by 3 members of the Rarity community Twitter handlers: (0xchronos, mat_nadler, 0xlucid).

Roadmap:

  1. Helper contracts: Contracts to fetch all information from a summoner ID to help UI fetch information faster.
  2. Full UI redesign
  3. (Probably) DEX for summoners (trades between summoners)
  4. (Probably) Names and items market.

Spell Components to Fuel Economy

A really simple way of introducing economics into world is discovery of components (during adventure) enabling spell use within adventure or outside, e.g. buffing adventurers before adventures, restoring/curing other useful economic activity, e.g. identify, mending, locate object (directing which dungeon/adventure to pursue)

Quite excited how this progresses commerce

  • Requires list of components used in spells and used to reward dungeons. [https://www.d20srd.org/srd/variant/magic/metamagicComponents.htm]
  • community to provide market for component exchange? (automatic)
  • community to provide market for spell invocation (realtime/automatic)

[Rarity Visualizer] - Full Game Bounty Request

Hi, summoners!

We are a small team of two, from Argentina, working on rarity-visualizer.

History of the project

We were one of the first UI for Rarity and we have been working on this since we started to see the contract on ftmscan. We continue pushing new changes every day but it's hard to keep up with the daily updates.

We would like to ask for a bounty in order to keep it up with all the changelogs we have in mind. All the basics of the core contract project, with additionals like gold, attributes, dungeons, and naming

Obviously, these changes are a drop in the water in comparison with all the changes we have on the plate planning to release next week!

image

Plans for the future

We planned to keep this UI, as simple and minimal as possible, as a visualizer! A comfortable way to check and update your stats without too much hassle

I invite everyone to visit rarity-visualizer and of course, if anyone wants to be part of the team, we are looking for paid designers!

Fund Usage

  • Host/Services (www.rarityvisualizer.com)
  • DEX and Market for Summoners and Items
  • World Map for Summoners in Lands
  • Market for Lands
  • Every contract related to official rarity will be implemented
  • Contract support if it's needed
  • Non-blockchain Game linked with Rarity World where players could play with summoners other types of games

Members

  • txxnano
  • dagokas

Feel free to drop comments or suggestions!

Thanks for reading!

Address : 0x4074e13296B353eCD4796925bb61DaF2dE9945d0

PS: We receive a lot of donations but it would be nice to have something secure to start paying to a designer/programmer

[guild contract] ecosystem request

I am working on a Guild contract that allows multiple players to control the same summoners.

The guild also has a name, a url, and an erc721 NFT for use as a profile picture.

It allows the owner and any members to combine multiple transactions into one.

This contract can own summoners itself or manage the member's summoners if they approve it.

As is, all members have a lot of power over all the summoners, so DO NOT JOIN A GUILD WITH PEOPLE WHO MIGHT STEAL FROM YOU.

A Guild can also control a bunch of NonPlayerCharacters. This will give the guild members easy access to resources and leveled summoners.

WIth the right (currently unwritten) proxy smart contracts added as members, limiting people from stealing from the guild is possible. I don't need this for myself at this point, but I'm thinking about it and believe it would be very useful for the community.

Long term I want a guild that is fully autonomous. Anyone would be allowed to call "work" on the guild and help the guild collect xp/gold/crafting materials. In exchange, they would receive "renown". This renown is not transferrable, but it can be traded with the Guild for the gold/crafting materials/npcs owned by the Guild.

Once there is an AMM for Rarity, the guild could even deposit its materials there.

[Rarity World] Full Game Bounty Request

We want to complete a basic game framework and present it to you guys. Though the pace may be slow, don’t worry about it, we will let you know as soon as we have progress.

Game introduction

Title: Rarity World
Type: Pixel ARPG
Engine: cocos-2d
Platform: PC (more subsequent compatibility)

Aim: To create a Pixel ARPG that players can play right away and enjoy themselves.
Personas, skills, and equipment can be read directly from the user's wallet for the attribute association of game characters.
Daily tasks are implemented by contracts, and turn-based system is adopted in this game.
The current NFT ecology is used in the process of equipment acquirement, skill upgradation, dungeon adventures, etc.
Players can operate the game intuitively and interact with other players to complete tasks. So irrelevant imagination and confusion are unnecessary when facing the words that appear in this game.
This game is a huge project, and we will improve it gradually.
The initial version is coming soon.

V 0.1 Main functions

  • - Linked users will get user NFT information

  • - Create roles (each profession’s features and skills will be displayed)

  • - Role list

  • - Users can switch roles at any time

  • - Complete daily tasks and dynamically display the time of the next task (training animations will be displayed)

  • - Dungeon adventure (turn-based display of battle results)

  • - Character skills (you can dynamically bind skills to the corresponding characters in this game)

  • - Chat channel (international communication)

  • - Setup system (language and sound)

  • - Multi-language support (only Chinese and English are supported in the early stage, and more languages will be used later)

V 0.2 Main functions

  • Economic system of the game
    • Real-time combat props (medicines, auxiliary props)
    • Game equipment trading (trading NFT equipment via contracts)
    • Game exclusive tokens, which can be used to trade game props in the in-game auction house. (Token Swap exchange function is added)
  • Exclusive game equipment gems (additional in-game attribute bonus can be obtained by inlaying gems into equipment, and the forging of gems consumes game tokens and in-game materials)
  • PVE map (5 players will team up in real-time dungeon combat, and exclusive game tokens and gemstone composite materials can be obtained after victory)
  • Chat channel (private communication, current map communication)

V 0.3 main functions

  • Achievement system (players can earn achievements after completing tasks)
  • Medal system (players will be awarded with medal NFT or game attributes after earning specific achievements)
  • PvP arena (players can participate in 1V1, 3V3 team battles, ranked 1-50 awards Token and game exclusive props, titles, and medals)

V 1.0 Main functions

  • Chat channel (faction communication, gang communication)
  • Faction battles (different faction can carry out PVP in the wild, losers will loss honor points, which can be gained by killing opponents. players can use honor points to redeem tokens)
  • Gang Skills (Gang skills help improving talent system)

Team Introduction:

We are an open team, and UI/VI designers are needed here.
You can contact us if you are interested.

Current Members:

  • 1 blockchain engineer
  • 1 game engineer
  • 1 front-end engineer

Project Address:

We are developing the game actively, and the project website and address will soon be available.
We would like to invite you to join Rarity World after the completion of V 0.1.
Specific project progress will be updated in real time on the front page of the official website.

Examples of game images (still in development)

Update according to development progress

Login Page
Role selection interface
In-game interface
Setup interface
Combat interface
Skill release interface
Backpack interface
Equipment interface

[GraphQL] An optimal subgraph with aggregated data

I'm currently using this subgraph that should keep address ownership up to date. It gives you a bit of data, but I'd like to see that expanded on quite a bit.

If multiple contracts can be aggregated, a new endpoint that:

  • Aggregates summoner ownership per address
  • Includes an aggregation for each hero:
    • level, summoner class, experience, experience to go for next level
    • attributes scores
    • adventure, crafting and dungeon cool down times per hero
    • claimable gold and gold
    • skills and ranks

[RarityManifested] Full Game Bounty Request

Vision
RarityManifested is a UI that is built on top of the contracts by Andre. Our mission is to bring high-quality graphics and fun gameplay mechanics to RarityManifested. With the current state, the UI is heavily leveraged the core contracts: summoner, abilities, skills, codex. Once the UI has fully integrated the core mechanics, we plan to introduce quests, games, guild, etc.

Qualification
RarityManifested is a working UI today with summoning, adventure, dungeon, inventory, gold claiming, attributes distribution. Skills distribution should be released shortly. Faction and lore are also being worked on to make the game more immersive rather than just point and click!

Since release just about a 1 week ago, RarityManifested has brought 300k pageview and 25k users to rarity.

Fund Usage

The fund will be used for the following purposes:

  • Development
  • Game Illustrations && UX Design
  • Game Content
  • Server, Hosting, and Transaction Fee

References
Twitter: https://twitter.com/raritymanifest_
App: https://www.raritymanifested.com/
Discord: https://discord.gg/mNrhvWU4xU

[Rarity] Enchantments and Magic Effects for Items, Bosses, Dungeons

Already working on the spell list but this request is to placehold management of weapon/armor/item/adventurer/dungeon/boss spells & enchantments.

Spells are complex and may affect attributes, game mechanics (e.g. hp, AC, dis/advantage) as well as summon monsters, magical items and leave persisting effects.

Intention is to deliver code keeping true to the d&d20 mechanics and interfaces for others to lego build UX and components on top. Please reach out to me on discord. e.g. looking for community to build UX to equip spells prior to dungeon, remove effects from adventuring, mint enhancements for items in the economy

Only myself at this point: will limit to core mechanisms

[secure dice] Expansion ecosystem request

The current dice contract can be manipulated by miners. It also returns the same roll on every call inside a transaction. This works fine for the current adventures, but I think there are more advanced adventures that will want truly random dice.

I think using Chainlink's VRF would work well. As far as I can tell, it is currently in Fantom's testnet but is not yet on mainnet. If anyone knows the mainnet launch date (or addresses), that would be appreciated.

In addition to the smart contract for dice. I will write a best-practices guide for using the dice in your adventures.

[RarityExtended] Full Game Bounty Request

Rarity Extended 🏹🛡

We built Rarity Extended with the idea to provide a smooth gaming experience for people who want to play Rarity. Our goal is to allow users with no - or little knowledge - on contract interaction to be able to play the game, and the experienced folks to be able to enjoy a sweet retro UI.

The whole project is open source and we will keep it that way.

Right now, in the UI you can:

  • Mint an adventurer
  • Track your progress and play the game with:
    • Rarity
    • Rarity Gold
    • The Cellar
    • Rarity Attributes
  • Fight against a giant rat to enter the Cellar
  • Deposit into a WFTM, using a zap for FTM, vault from Yearn (DeFi integration)
  • More integrations soon!

Team

We are currently a group of 6 people

  • 1 Product Manager
  • 1 UI/UX designer + Game master
  • 1 Game master
  • 2 SC developers
  • 1 FE developer

Roadmap:

Integrations

  • Skills (see this video for WIP, release tomorrow, or directly the draft PR!)
  • Crafting
  • The Forest v2
  • A new Guild System where you could do adventure with your crew
  • Market where you could buy/lend/rend Mercenaries (other adventurers), goods, and crafting stuff
  • More adventures and basic quests for people to be able to perform multiple cooperative - or competitive - actions

Story

  • Character Sheet to be able to customize your adventurer backstory.

  • Adventurer Customizer (based on the sprite you have you could select every element to build YOUR adventurer, saved on-chain as SVG)

  • Skills for your adventurers (Rarity-Extended/RarityExtended#44)

  • The Forest V2, send your adventurer in a multiday adventure in the Forest (Rarity-Extended/RarityExtended#59)

  • The Bank, deposit and earn tokens and yield thanks to ape.tax (Rarity-Extended/RarityExtended#73)

  • Items from the officials codex, check all your items directly in RE (Rarity-Extended/RarityExtended#83)

  • Crafting, use your loot to craft weapon and armor (Rarity-Extended/RarityExtended#83)

  • Tooltip and Info, a nice UI (the best) is nice, but to be able to get info about the game, is better

  • The Boars, coop/versus quest where you have to maintain, or kill, all the boar ecosystem

  • RarityName & RNS, build you charactersheet for you year long adventure

  • Customizable Adventurers, be unique (sprite/svg custom)

  • UI/UX reflow, let's build something smooth and better

  • Multi-step adventure, what if you could start an adventurer with multiple path, for days ?

[Rarity Bazaar] UI bounty request

image
Rarity Bazaar is right now the most used platform for trading unwrapped Rarity gems, It doesn't require liquidity pools and is very convenient for miners: they are able to set up sell listings before the gems are mined, so once they do get mined, they automatically are put up for sale. Smart contract for the bazaar is custom made and so is the design. I went with the oldschool game marketplace look and feel which makes it stand out from other modern UIs.

EDIT: I now finished writing code for Craft(I) material trading, soon bazaar will have UI for it and will accomodate trading for it

EDIT: Craft(I) material trading is now active with UI on Rarity Bazaar

I would like to: onboard a front-end dev to correct and improve my design and continue adding features + expand the marketplace to acommodate other tradeable items.

Crafting Contract: Experiencing Error

When I input the same data that works in 20 _simulate (Read) in 2 _craft (Write) I get a high gas error.

I am using summoner: 503925 (from my wallet), base: 1 (Goods), item 2 (candle) and no materials. Crafting appears to work in Read but not in Write. Level 2, Wizard (11), 1,000 Gold and Crafting skill 2. I appear to have all the prerequisites.

Cannot find the issue. Wondering if anyone can replicate?

[Rarity] Random function does not match dice values

The random function 0x7426dBE5207C2b5DaC57d8e55F0959fcD99661D4 result is offset by one, so it does not match dice values.
For example, d6 produces 0,1,2,3,4,5 rather than 1,2,3,4,5,6

At the moment this is affecting the Crafting check, since the d20 result is 0-19 rather than 1-20 as it should be per SRD.

[Rarity Battle] Full Game Bounty Request

Introduction

The Rarity Battle is an add-on to the rarity ecosystem that enables summoners can fight for bonus.

Usage

User can call fight() for start a battle. Fight cost 100RB for ticket, and paid 1FTH as the bet.
When win, the paid value and half of the bonusPool will add to the sender's bonusBalance. If the summoner combo_win 20 or more times, he will get the whole bonusPool.
When loose, the paid value will add to the bonusPool.
Every summoner can fight 10 times for free, after 10 times, can call exchange() to exchange RB from RarityGold(1:1) OR call buy() to buy RB use FTM (1:500)

Currently there has no UI for Rarity Battle.

Roadmap

  • Create UI for Rarity Battle
  • Add extra bonus to the bonus pool
  • Support weapons and armor
  • Base on summoner's skills and attributes, create a time wheel battle modal.
  • Support team battle for multi summoners.

Links

Contract:0x68B0037484F546788065B9d7159072AaA0B8f23a

[FantomEye] Unique Bounty Request

FantomEye is a native Price bot for Fantom Opera. It has been serving Fantom network for more than four months. It has been installed in more than 215 discord (including rarity discord) servers and more than 25 telegram servers. It is one of the most used price bots in Fantom Ecosystem.

FantomEye is not just a basis price bot, it display token info, DEX info. In the future, there will be more features to come, like, APY calculator, Farm indicator, rug check, supports for more NFTs.

Recently FantomEye added a command to support Rarity game. People can just type .game rarity <summoner_id> and bot displays summoner's info, inventory, and quests.

image

So far, it supports @andrecronje contract and Third party contracts for Names, and Dark Planet.

I am the only one who is working on FantomEye, and I am planning to add more features for Rarity game, which will be displaying summoner's armor, weapons, accessories, all new dungeons, and new quests and Arenas.
My plan is to connect Metamask with Discord/telegram account and let people interact with Contract using commands, so they can just do everything on Discord/Telegram. Like, they can buy stuff, upgrade weapons, go to arena/battle, pretty much everything that contracts allow.
FantomEye is very popular among Rarity adventurers, with the higher demand and more people using it, I might have a separate bot RarityEye just for Rarity and it will be full game (UI).

Donation Address: 0x14c87ceE8109cEf4fcE934551f5cc7bd4d94037f
Discord: https://discord.gg/58DgJy8Djr
Telegram: https://t.me/FantomEye
Twitter: https://twitter.com/eyefantom
You can try the bot in Rarity Discord as well: https://discord.com/invite/F5URbkcvmD

[Rarity Mining] Expansion Bounty Request

Rarity Mining

Introduction

Rarity Mining is an expansion for Rarity which introduces a gathering skill and accompanying features to Rarity. Summoners will be able to mine rocks and other resources from a variety of mining locations. The assets will be linked to a specific summoner but will also be ERC20 compatible and withdrawable to a user’s wallet.
Initially we start with one mining location (The Belonav Cave) where summoners can collect Rarity Rocks based on their strength. There are no skill or class prerequisites for collecting rocks and thus initially the rocks will not hold much value. In the future those rocks will be able to transformed into items and other resources which will eventually lead to new items.

Contracts

The contracts this extension starts with are:

  • RarityRock.sol: an ERC20 compatible resource
  • TheBelonavCave.sol: Hourly, summoners can collect Rarity Rocks based on their strength. New Rarity Rock will be minted through this contract.

User Interface

An user interface (based on Rarity Extended) will be maintained to interact with the current and future contracts required to play the mining expansion. It is open source and publicly available at raritymining.com.

Roadmap

  • New mining locations with different prerequisites and rewards for mining at that location
  • New locations will introduce new mechanics for mining
  • Smithing/grinding to convert Rarity Rocks and other mineable resources into items. Due to the ease of collecting Rarity Rocks (the first mineable resource) , there will be time based item releases
  • Keep updating the UI to incorporate new smart contracts of the Rarity Mining expansion
  • Expand the UI with trading functionalities for Rarity Rocks and future resources

Links

Fund Usage

  • Website expansion (development, styling, illustrations, UX)
  • Contract deployment and support
  • Transaction fees
  • Lore development
  • Stimulating other parties to integrate Rarity Mining resources and features

Too few prerequisites

Hi,

Based on [1] "Greater Weapon Specialization" [2] should have prerequisite on 49 and 50 (given enumeration in #6), because now you don't need to have "Weapon Specialization" to learn this feat.

It would introduce some complexity to allow more feats as prerequisites, so maybe to keep system simple this little nuance could just be omitted, especially if it's just one feat.

Just opening discussion if it should be changed or kept.


[1] — https://www.d20srd.org/srd/feats.htm#greaterWeaponSpecialization

[2] — https://github.com/andrecronje/rarity/blob/main/feats.sol#L938-L940

SKILLS: CRAFT should be set to TRUE for WIZARDS (11); currently, FALSE.

Andre's post suggests that CRAFT is a CLASS SKILL for WIZARDS (reference: https://andrecronje.medium.com/?p=7dded308a607); however, line 118-119 list CRAFT as a FALSE. This is leading WIZARDS to pay 2 skill points vs 1 to gain CRAFT.

else if (_class == 11) {
return [false,false,false,false,true,false,true,false,false,false,false,false,false,false,false,false,false,false,true,false,false,false,false,true,false,false,false,false,false,true,false,false,false,false,false,false];

Thanks for building this. Amazing stuff! /Orion

[point buy calculations] UI ecosystem request

I found an html page for calculating standard D&D 4E point buys and modified it to use Rarity's point buy system (it was a bit more work than just changing the point buy cost).

Here is the code: https://github.com/SatoshiAndKin/rarity-brownie/blob/main/misc/point-buy.html

Here is a selection of the "good" ability score arrays: https://gist.github.com/WyseNynja/134b735b221ddf15ea4aa244096d07ce

If I make these pages prettier, will they qualify for an ecosystem bounty?

[The Great Plains] Expansion Request

The Great Plains

Introduction

The Great Plains is an add-on to the rarity ecosystem that enables users to hunt and loot creatures on the Plains.
The current mobs are the Slime,Wolf,Horse and Buffalo.

Usage

Users can call the startHunt() function to begin their hunt.
After four days they can then call killCreature() to complete their hunt and receive their loot.

Roadmap

  • Add skill checks
  • Add boss mob
  • Deploy Contract
  • Create Web Ui
  • Expand on uses for creature spoils

Links

Fund Usage

  • Website hosting, creation and services
  • Contract deployment and support

[Bug Report] Feats-1 codex improved shield bash and Gambit ally status berserk typos

In the codex feats 1 (https://github.com/andrecronje/rarity/blob/main/codex/codex-feats-1.sol) at ID 64 "Improved Shield Bash" the "prerequisites_feat = 64;" <-- Is set to 64, which is the ID for this same feat. It should probably be 63 which is the shield proficiency.

Also in Codex Gambits (https://github.com/andrecronje/rarity/blob/main/codex/codex-gambits.sol) there is in a double space in line 58 "return (_id, 0, "Ally: Status: Berserk"); dunno if this matters or not :D

[The Mercenary Camp] Expansion Bounty Request

Introduction

The Mercenary Camp is a place where up to five adventurers gather to embark on a raid against a monster.
I've written a medium Article with the full details here.

State of the Expansion

Version 1 of this expansion is finished and deployed. More than 60 adventurers have already participated in a raid.
See the Roadmap for future plans.
Deployment address: 0xa8125f9de317093F3404c2899a6e27B0FaEFeAF0

Crafted items can be used in the raids

The first real use case for crafted weapons and armor. The items affect the summoner's stats based on d20srd rules and without any items, the summoners will have a tough time in battle.

The enemies are monsters across the Fantom network

In Version 1 of the Mercenary Camp, adventurers can battle Dragons from the Lair of Wisdom game.
These Dragons are cared for by Trainers (players in their game), have their own stats and are fully integrated into this expansion.
The Dragons' stats are scaled to provide a challenging, but doable fight for the adventurers. I believe this integration of another thriving FTM game ecosystem is a much more engaging way to play instead of randomly generating monsters.
However, the expansion is not limited to just Dragons. In the future, adventurers can raid all kinds of monsters across the Fantom network.

A fully D&D based combat system with attack rolls, damage rolls, crits and more

I tried to base the combat system as much as possible on the d20srd rules.:

  • Attack rolls vs Armor class.
  • Damage rolls based on the weapon used and stats.
  • Critical hits.
  • Dragon breath AoE attacks (with a chance to recharge, like in D&D).
  • Saving throws against breath attacks.

Every attack emits a log that can be parsed by an UI to re-create the full combat. Here is an example with just log data from a live raid:

ezgif com-gif-maker

Rewards for adventurers

For now, the expansion does not use any tokens, fees or rewards. Everyone can play as much as they want for free.
What they do get after a raid, is a customized tokenURI with a battle report:

image

However, the expansion can easily account for handing out any kind of loot to the adventurers. I would of course be happy to discuss and introduce a reward that can be used in the ecosystem.

User Interface

Currently the raids can only be conducted via direct contract calls (FTMscan for example).
I am working with the rarity.game team on an UI for the expansion. Here is a sneak peek:

image

However, this will take a while to develop as working on core features of the game is a priority.

Roadmap

  • Monitor the raids and make balance changes (can be done without re-deploying the mercenary camp)
  • Add a graphical interface
  • Add some form of rewards, happy to discuss what and how
  • Add more monsters to the list of raid targets

FTM Address for Bounty: 0xCd0f3a4b2495Aa052465c82a1C18599EBd1280e5

Level up event is not emitting the new level

the subgraph didn't update summoners level-ups.

The issue is with the event emission.

Variable _level is the old level, not the new one.

function level_up(uint _summoner) external {
        require(_isApprovedOrOwner(msg.sender, _summoner));
        uint _level = level[_summoner];
        uint _xp_required = xp_required(_level);
        xp[_summoner] -= _xp_required;
        level[_summoner] = _level+1;
        emit leveled(msg.sender, _level, _summoner);
}

[generic multi-day adventure] Expansion ecosystem request

I am working on a generic Dungeon contract that takes ownership of a player's summoner for multiple days.

The contract will control multiple NonPlayerCharacter contracts. The NPCs will have randomized ability scores.

Different dungeons will have different NPCs and different rooms attached to them. They will be very modular.

Once your adventure has begun, instead of calling rarity.adventure(summoner), you will call dungeon.adventure(summoner, action). The action will depend on where you are in the dungeon (forward, retreat, short rest, etc.). It will give you the normal daily 250 xp but also do some calls for the NPCs. These NPCs will internally create the gold and item rewards that are earned by completing the adventure.

Unlike existing adventures, these adventures will use securely randomized dice rolls (See #56). There might also be multiple actions needed in a single day.

These dungeons will be dangerous! If a summoner reaches 0 hp, instead of just getting 0 rewards, the summoner will be killed! Gold can be spent at the local NPC church to revive the summoner. All gold earned will be used for the dungeon's rewards.

The "boss fight" at the end of the adventure will involve one of the randomized NPCs. Completing the dungeon exceptionally well will give this NPC as a reward (along with their gold).

I'd also like to figure out a good way to have multi-summoner dungeons (parties of 4-6)

[Thiefs guild] Expansion + UI [ Updated with GitHub ]

Since I am passionate about gaming, building something for rarity gives me a lot of joy. I built Rarity gem bazaar and it's currently the most used place for trading gems. It is a service + UI for an extension of Rarity, I believe Rarity gems will see more utility and integration in the future and I plan to add features to this marketplace + extend trading to other items.
Enough about the marketplace, what I am currently building and am very excited about is a Thief's Guild, it's a WIP and github for it you can find here . The expansions is aimed to be quite large with a lot of content, so i might need as much help from the community as possible.

Disclaimer: details are far from being final and need to be fine-tuned, main value is inside the concept.

Thief's guild consists of members with different ranks based on experience (earned from guild quests ) inside the guild and a guild master. It has a treasury that can be managed by the Guild Master who can be conspired against by the members and be killed (voting power is determined by experience inside the guild ). Thus opening a window for a new master to be chosen. Allowed classes in the guild: rogue / bard / wizard / fighter (open to discussions).

The guild master can call different functions ( do strategic actions ) which will initiate a cooldown . As an example: a guild master at a given time can choose to either onboard new members to enlarge the treasury of the guild or call bribeGuards() function ( 1 of many different actions ) to reset guards' satisfaction level. If for example, guard's satisfaction level becomes too low they will raid the guild and take x% of the treasury and arrest the guild master for x time, rendering him unable to do further actions for the time being.

Guild members can do stealing quests everyday to gain guild xp, stealing quests may yield loot, ( loot can be different types for different classes ) loot fate is randomness is seeded by acceptanceTime ( open to discussions ). There are different xp multipliers for classes and certain loot also gives xp multiplier bonuses.

optional features/ideas:

  • Guild xp could be bought by gold/normal xp to make new members able to climb the ranks too.
  • The required payment for guild application increases by 1/2/x% with each new onboarding wave.
  • The guild master's summoner has to be "staked" so if he is killed his character also dies.

This is just the tip of the iceberg, there are other actions/possibilities for the guild but writing everything down here would make the text too big + I believe some discussions need to be done with Rarity community so potential roadblocks can be identified in advance + properties like payments / xp earnings / loot could be fine tuned before being hardcoded inside the contract. I would like to gather people from community and get input from them.

Fund usage:

  • Solidity development
  • Art
  • UI development
  • Hosting
  • Community management

[Question] Character Speed

I'm working on some DLC for rarity (my first smart contract!) and I was wondering what is the base speed of summoners? I was looking in the repo and I couldn't find anything concrete / nothing I could access in code. I saw some descriptions for races and equipment that effects speed, but nothing stating what the base speed of everyone is. If there's nothing concrete in code, I can surely make it but I'd rather interface with the base rarity contract as much as possible for character stats

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.