If you are only looking for the section where you want to know how to setup or develop locally the Customized Mugen repository. Please jump to the end of this document - last section.
This custom mugen was built using two separate languages. There is the mugen itself which is using C#. Then the customization was implemented by using ES6+ (Node, React). Given the nature of mugen, C# is not easy, that's why using the other language was the viable choice. Project nickname is "Ultimate AI Mode".
It is very important to read this whole documentation first. Overall, the most important section here is the "Vital Steps Before Running the App". Be sure to read that section thoroughly.
:::info
:bulb: Recommended to read the whole documentaion.
:::
Frontend
PolkaCombat is dApp (Decentralized Application). So the Frontend was built using React and other modern tech related to React. But all in all it's a typical modern React application. The things to note in frontend are:
It is hosted inside Netlify (should migrate it to your own Netlify or recommended is to transfer it to DigitalOcean)
It is using Web3 to integrate ETH blockchain
It is using an Infura API key (check .env file)
It is using GraphQL
Please explore all the directories, for this repo contains lots of sections. Also, please check vital section below.
Frontend
The frontend code base is using latest React and mixed with JS vanilla.
The main open source boilerplate I used was https://github.com/lxieyang/chrome-extension-boilerplate-react and I created my own version on top of it. Since the boilerplate is solely for Chrome. So that is also one thing to take note that this new version will create outputs both for Chrome/Brave and Firefox.
The code base supports manifest version 3 for Chrome. But the Firefox only supports version 2. So, there's a lot of things to do when creating the extension. Version 3 is better and it is also the future for extensions. Since version 2 will be officially stopped around 2022.
:::info
:bulb: NOTE: Frontend's final build is hosted on Chrome/Brave/Firefox's respective servers.
:::
Details
This code base serves as the middle man or bridge between the Game (custom mugen) code base and PolkaCombat frontend/backend code bases. In short, if you want to change some of the character's ability (power, speed, etc) the process will be:
PolkaCombat frontend will trigger an api call to main backend
then the main backend server will trigger an api call to Game API server
which then the game code base itself will fetch and response to the call
then those changes will reflect on the game which lives inside the windows server (Vultr platform).
:pushpin: Routes
You will notice that there are other route controllers. Just don't mind them. Focus on the mugen routes and controllers. You can just delete the other routes and controllers. Those are just for testing/play/learning purposes.