OpenMon is an attempt to create a web pokemon game, solely for educational purpose. There is no backend, everything is done on the client side.
TLDR: test OpenMon
Every resources (images, sounds, names) is owned by Nintendo and the Pokemon Company. I do not claim anything. Data comes from PokeAPI github (downloaded CSVs and exported to JSON to fit my needs). Formulas and mechanics are from Bulbapedia and Pokepedia.
If you want to contribute, feel free to open an issue or a pull request. I will be happy to discuss and help you. You can also create pull-requests, but please make sure to respect the code style and the architecture.
The front-end is made with Svelte, which is a simple and efficient framework, each Svelte component consists of HTML, JS and CSS in the same file.
Directory structure:
src
contains the source code
App.svelte
is the main component serves the purpose of a router to display either player creation, save loading or world/battle./js
contains the game logic & model/components
contains screens, UI elements and menus/assets
contains images, json data...To run the project locally, you will need to have Node.js installed. Then, you can run the following commands:
npm install
npm run dev
This will start a local server running on http://localhost:5173/
To build the project, you can run the following command:
npm run build
This will create a dist
folder with the built files. The openmon.js is copied to docs
to be served on github pages.
Pushing to master will automatically deploy the project to Github Pages.