HN user

blindpirate

136 karma
Posts1
Comments15
View on HN

Hi, I understand your concern. Let me explain.

First of all, a GitHub app can only "act on your behalf" in the repository/organization where it's installed (which is only https://github.com/ByteLegendQuest). It has no permission to access any other resources outside.

When you finish the code challenges, you actually create a pull request on GitHub and trigger a GitHub action (which is opensource and you can examine the whole process). So "act on your behalf" means "invoke GitHub API to create pull request in github.com/ByteLegendQuest organization". The app won't and can't access any resources outside github.com/ByteLegendQuest organization.

I know the permission request looks a bit scary. But I'm an individual developer, using GitHub API/webhook/actions would be the easiest and cheapest solution for me.

By design, you should be open "IDE" chest to get enough gold to go to Git Island. Didn't you open that chest?

The "invitation code box" is a fallback when people happen to use up their gold.

``` I'm learning programming in a game, come to JavaIsland coordinate (BJ, 94), open the chest with my invitation code 5ZwPT6OWwipmHRG, you and me can both get 500 gold. Join me at ByteLegend https://bytelegend.com ! ```

Even though I can't walk there, I seem to be able to click the challenges and do them

It's intended. You can finish the challenge there, but you can only get a "key" but can't have the chest open immediately. You have to go close to the chest to use that key to open the chest. The intention is to allow people do challenges without going through the whole story. I'm not saying this is perfect, but this is what current it's designed.

I did all of the challenges for "Java Reference and Value" and received only 2 stars on the second challenge. I suppose this means I did something wrong/sub-optimally, but I did not see any feedback on what that was.

When you do the challenge, you actually create a pull request on github. There's some comments in the pull request telling you what's the issue in you code. However, I shouldn't have told you this if this is a well-desgined game UI. Thanks for the feedback!

TBH, I don't have a good idea how people do the teamwork. That's why I ask for help here. Ideally, you can click another character to send DMs, and click yourself's character to speak something publicly (which is already implemented but a bit hidden). But what then? People should be able to make a team to fight with something, but I haven't designed how to make it in a programming-learning journey.

Hi thanks for the kind reply. Actually what I need is:

1. I want to have challenges for more language. This includes a roadmap of that language, and a list of repositories with GitHub actions configured: see https://github.com/ByteLegendQuest . 2. The beautiful map for those language. This not not so hard, and not so easy. Currently it's created by Tiled manually, but I'm planning some automation tool to generate such map in one second. 3. A story. I can provide technical support for game scripts and implementation, what I lack is an idea. What epic should we have to complete with writing these code? Save the world? Fighting with alien? I don't know, I want to have a good story...

Hi, I fully understand your concern (because if I were you I might think the same as you). First of all, a GitHub app can only "act on your behalf" in the repository/organization where it's installed (which is only https://github.com/ByteLegendQuest). It has no permission to access any other resources outside.

Yes, it's using Kotlin multiplatform, so I can write code once and use it at both frontend and backend.

Because the game highly depends on GitHub API and GitHub actions (when you submit code answer in the game, you are actually creating pull requests), using a GitHub account would be the best option.