Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Research how to implement the C# battle into Dojo Contracts #77

Open
danielcdz opened this issue Oct 22, 2024 · 12 comments
Open

Research how to implement the C# battle into Dojo Contracts #77

danielcdz opened this issue Oct 22, 2024 · 12 comments
Assignees
Labels
documentation Improvements or additions to documentation enhancement New feature or request external-contributor Available for external contributors ODHack9 This issue will be available ONLY during the ODHack9

Comments

@danielcdz
Copy link
Contributor

danielcdz commented Oct 22, 2024

📖 Description

In recent weeks, we've experienced some changes in the battle logic within Unity. Currently, the logic in our Dojo Contracts does not reflect these updates. In this issue, we are looking for a dedicated contributor to review the C# battle logic and create a document with valuable insights, along with a small proof of concept (PoC) for implementing the battle mechanics into a Dojo Contract.

📓 Summary

  • Review the relevant Unity scripts and identify those related to the battle mechanics.
    • Battle scripts are here and start with the prefix Battle.
  • Study the code to fully understand the logic and mechanics.
  • Create a document (preferably in Google Docs) to share with the maintainers.
  • In the document, compile key insights such as an overview of the mechanics, key characteristics, important points about the battle system, and anything else you think would be useful.
  • Prepare a small PoC with an initial implementation of the Dojo Contract. This PoC does not need to be fully functional but should serve as a foundation for further development, so don't feel pressured to deliver a complete contract.
    • The PoC can be placed in the document, use a tool to format the code to make it more readable.

📦 Deliverable

  • A document with the requirements mentioned in the Summary.

⚠️ Notes

  • We don't need to open a PR for this issue. we will review and add comments directly in the Google Doc.
  • You will need experience in Cairo(Dojo Engine) and C# to be a good candidate for this issue.
@danielcdz danielcdz added documentation Improvements or additions to documentation enhancement New feature or request external-contributor Available for external contributors labels Oct 23, 2024
@RolandoDrRobot
Copy link
Contributor

These files help as reference:
This is the previous implementation in the dojo side, this could help has base for the POC

C# Unity scripts

@danielcdz danielcdz added the ODHack9 This issue will be available ONLY during the ODHack9 label Oct 23, 2024
@KevinMB0220
Copy link
Contributor

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

Hi, I'm from Dojo Coding. To complete this task, I’ll first review the Unity scripts related to the battle mechanics, focusing on those with the prefix "Battle". I’ll thoroughly study the logic to fully understand how the mechanics work. Then, I’ll compile a document summarizing key aspects, including an overview of the mechanics, important characteristics, and other relevant points about the battle system. Finally, I’ll create a small Proof of Concept (PoC) for a Dojo contract that reflects the battle mechanics, which will serve as a foundation for future development. The PoC won’t be fully functional but will provide a solid starting point. The document will be shared with the maintainers via Google Docs.

@martinvibes
Copy link

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

ello @ i'm a frontend developer and an experienced technical writer i would love to work on this issue
Pleasee kindly assign :)

@suhas-sensei
Copy link

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

i have experience in game dev as well as blockchain previously as personal projects and OS, so hoping to make use of them here and mark my first odhack contribution

How I plan on tackling this issue

I will write it in the form of a comparison and optimization of the battle system and render an overall analysis, including parallel execution diagrams showing how moves, states, and rewards are handled differently between the Unity and Dojo implementations.

@BrunoAmbricca
Copy link

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

Hey guys, Bruno here from the dojo coding community. I´ve been coding with c# for the past 4 years in many jobs and been for the past 2 months working with dojo engine on the project of my own team, encountering many problems and solving them.

How I plan on tackling this issue

I would read all the docs and code you already have and start designing a solution based of creating different modules that do different key tasks to then unite them into the final result.

@ShantelPeters
Copy link

I am applying to this issue via OnlyDust platform.

My background and how it can be leveraged

I have extensive experience in both Cairo and C# programming, with a focus on smart contract development and game mechanics in Unity. My background includes analyzing and implementing complex game logic, which allows me to effectively bridge the gap between game design and smart contract functionality. I have previously documented intricate systems, ensuring clarity and usability for future developers and maintainer

How I plan on tackling this issue

To address the alignment of the Dojo Contracts with the updated battle logic in Unity, I will first review the relevant battle scripts to understand their mechanics thoroughly. Following this, I will document key insights, including an overview of the battle mechanics, key characteristics, and implementation notes in a structured Google Doc. Additionally, I will develop a small proof of concept (PoC) for integrating the battle mechanics into a Dojo Contract, providing a basic structure without the need for full functionality. The PoC will be included in the document, formatted for readability, and I will seek feedback from the maintainers to ensure clarity and usability for future development.

@aniruddhaaps
Copy link

I'm a c# dev. A new-comer here, willing and ready to contribute to solve the issue.

@emarc99
Copy link

emarc99 commented Oct 24, 2024

Would love to tackle this!

I have a computer engineering bachelors, and I programmed in C/++/# for different embedded systems projects. I also do research works related to computer science as freelance. Currently, I'm close to completing node guardians and starkling cairo paths.

@bitfalt
Copy link

bitfalt commented Oct 24, 2024

I'm a web3 developer with experience in Unity creating VR/AR applications, so I'm familiarized with C#. Also, I have a vast experience developing smart contracts in Cairo to understand how to implement the battle logic. I've done a few small projects using Godot Engine, to understand the game logic behind a battle.

To tackle this issue I would do the following:

  • Read and understand fully the C# battle logic and its components (characters, beasts, etc), if any doubts come up while doing this I'll ask the maintainers for clarification.
  • I'll start making a draft of the document with key insights of the battle mechanics
  • Once the draft is approved and feedback from the maintainers is received, I'll start making the PoC of the Dojo Contract.
  • Eventually, I'd love to help make the PoC a complete smart contract.

@danielcdz
Copy link
Contributor Author

@bitfalt hello! do you have any updates?

@bitfalt
Copy link

bitfalt commented Oct 29, 2024

hii! So far understanding the code. I was wondering where should I send you the Google Docs? Let me know if Telegram is fine :D

@danielcdz
Copy link
Contributor Author

Telegram is ok! @bitfalt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request external-contributor Available for external contributors ODHack9 This issue will be available ONLY during the ODHack9
Projects
Status: In progress
Development

No branches or pull requests

10 participants