ByteLegend – learn programming while playing a game

check

简体中文

字节传说:玩游戏,学编程

字节传说是什么

字节传说是一个免费、开源的多人在线RPG游戏,通过这个游戏,你可以学到现实世界里的编程技能。

1

如何玩

  • 访问字节传说,点击右上角的登录按钮并使用GitHub账号登录。
  • 和其他游戏一样,玩就是了——和NPC对话,收集物品,完成任务,等等。
  • 和其他游戏不同的是,你在这个游戏中获得的是真实世界里的高薪编程技能。

为什么选择字节传说

  • 免费
    • 是的,我们是免费的。
  • 开源
    • 是的,我们是开源的。这意味着你在游戏里看到的任何东西都是可以修改的:游戏地图、流程、NPC对话、国际化的文本,等等。
    • 如果您在游戏中看到任何不对的地方,请不要犹豫直接提交issues/pull requests。我们和成千上万的玩家一起感谢您的贡献。
    • 点击这里查看如何贡献代码。
  • 好玩
    • 因为这是一个游戏,不是啰里八嗦的说教。
  • 特别为中国玩家优化的服务器
    • 我们有ICP备案,因此特别在国内部署了服务器和CDN。
    • 您不需要做任何配置,我们通过基于地理位置的DNS服务自动为您分配国内服务器和CDN。
  • 国际化
    • 从第一天起,我们就支持地球上的所有语言,您只需要点击字节传说右上角的切换语言按钮即可。
    • 如前所述,你可以对字节传说中能看到的任何东西做出修改,包括修正不佳的翻译或者添加一种新语言。
    • 点击这里查看如何增加一种语言或者帮助我们改进翻译的质量。

致谢

没有社区和开源世界的帮助,这个游戏不可能存在。我们唯一能做的就是让它免费开源,从而使更多人受益。

请访问字节传说并点击右下角的致谢按钮查看本游戏使用的开源项目和游戏资源。

Contributing

我们感谢您作出的任何贡献:

  • 任何文字错误:typo、用词或者翻译不当。
  • 游戏地图错误:有问题的格子图片、错误的标注等。
  • Bugs:前端、后端以及游戏脚本。

详情请阅读贡献者指南

本地启动

请确保你的JAVA_HOME指向JDK 11。

  • git clone https://github.com/ByteLegend/ByteLegend
  • cd ByteLegend
  • git submodule update --init -- game-data
  • 运行./gradlew bootRun,然后访问http://localhost:8080

第一次运行可能要花费几分钟,因为我们需要生成所有的游戏资源。后续的启动应该只花几秒钟。

请注意server git submodule目前尚未开源,因为其中包含复杂的后端配置和敏感信息(GitHub webhook, GitHub app, k8s secrets等)。
不过,我们在server-opensource中提供了一个开源版本的后端服务实现。

点击这里 查看开发者文档。

What is ByteLegend

ByteLegend is a free, opensource MMORPG game where you acquire realworld high-paying programming skills.

Index page

How to play

  • Go to ByteLegend, click “Log in” at right-top corner, then log in with your GitHub account.
  • Like any other games, you just play the game, by talking to NPCs, collecting items, finishing the missions etc.
  • Unlike any other games, your get real, high-paid-job-ready programming skills in the real world!

Why ByteLegend

  • Free
    • Yes, it’s free, as in “free beer”. 🙂
  • Opensource
    • Yes, it’s opensource. This means everything you see in the game is customizable: game map, story, NPC conversations, i18n texts, …
    • Please don’t hesitate to create issues/pull requests for anything bad you see in the game. We and thousands of players appreciate your contribution very much.
    • See here for more information on how to contribute.
  • Fun
    • It’s a game!
  • Internationalization
    • We support ALL languages on this planet since day 1. You just need to click and select language on right-top corner of ByteLegend.
    • As we said above, you can make a contribution to anything you see in ByteLegend, including fixing bad translations or adding more languages to the game.
    • Check out here to see how to add a language or help us improve translation quality.

Credits

This game would be impossible without the community and the opensource world, so we make it free and opensource to benefit more people.

To see the software and game materials used in this game, go to the right-bottom corner of ByteLegend and click Credits button.

Contributing

We appreciate your contribution to anything in the game:

  • Any bad texts: typo, wording or translation.
  • Game map errors: bad tile image, incorrect marking, etc..
  • Bugs: frontend/backend/game script.

Please read the contributing guide before you start.

Start locally

Please make sure your JAVA_HOME configured to JDK 11.

  • git clone https://github.com/ByteLegend/ByteLegend
  • cd ByteLegend
  • git submodule update --init -- game-data
  • Run ./gradlew server-opensource:bootRun, then access http://localhost:8080.

The first run may take minutes because all game resources need to be generated. Subsequent runs should start in seconds.

Please note that server git submodule hasn’t been opensource yet, as we have complex backend services/credentials there (GitHub webhook, GitHub app, k8s secrets, etc.).
However, we do provide a opensource version of backend service in server-opensource module.

See here for more details.

GitHub

https://github.com/ByteLegend/ByteLegend