https://github.com/dherault/arccode
A role-playing game for developers
https://github.com/dherault/arccode
Last synced: over 1 year ago
JSON representation
A role-playing game for developers
- Host: GitHub
- URL: https://github.com/dherault/arccode
- Owner: dherault
- License: gpl-3.0
- Created: 2024-08-09T03:18:45.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-03T09:05:18.000Z (over 1 year ago)
- Last Synced: 2025-03-10T10:47:08.522Z (over 1 year ago)
- Language: TypeScript
- Homepage: https://arccode.dev
- Size: 84.7 MB
- Stars: 20
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Arccode
## What is it
Arccode is a role-playing game for developers. It works with a VSCode extension that collects the keywords you code (such as `let` or `function`) to turn them into XP and level ups!
## Motivation
Coding is inherently fun — it's an act of creation that yields visible results. However, it can also become repetitive and laborious. That's why I created Arccode: to bring joy to your day and shield you from monotony. By incorporating variable rewards and a sense of progress into coding, I believe we can make the experience even more enjoyable. So, have fun coding!
## Data collected
The VSCode extension collects keyword metadata when the content of a file of a supported language is changed. This metadata is used to calculate the player's progress and to generate the game's content.
Here is an example of such data:
```json
{
"javascript": {
"function": 4,
"const": 12
},
"ruby": {
"def": 3,
"class": 1
}
}
```
As you can see, the original code is not stored, only the keywords and their counts.
## Installation
To install the dependencies run:
```bash
npm run install:all
```
## App development
To start the development server for the web app:
```bash
cd arccode.dev
```
In one terminal run:
```bash
npm run emulators
```
In another run:
```bash
npm run dev
```
## Extension development
To develop on the extension open the `packages/arccode-vscode-extension` directory in a separate VSCode window (it's important).
Watch for changes:
```bash
npm run watch
```
Then open `src/extension.ts` and press F5 to launch another VSCode window with the extension loaded in development mode.
## Package development
Additionally, you can edit any package under `packages/` and run `npm test` to test it.
## Contributing
Pull requests, issues and feedback are welcome!
### Adding a reward
You can add an unlockable reward to the game by submitting a PR.
It must include a 256x256 PNG image under `/arccode.dev/public/images/gears` and a new entry in the array in `/arccode.dev/src/data/gears.ts`.
## License
[GPLv3](https://www.gnu.org/licenses/gpl-3.0.html)