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

Overview

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.

Comments
  • Execution failed for task ':server-opensource:bootRun'.

    Execution failed for task ':server-opensource:bootRun'.

    平台信息

    Gradle: 6.8.3 Kotlin: 1.4.20 Groovy: 2.5.12 Ant: Apache Ant(TM) version 1.10.9 compiled on September 27 2020 JVM: 11.0.10 (Eclipse OpenJ9 openj9-0.24.0) | graalvm64-11.0.10 OS: Mac OS X 10.16 x86_64

    具体问题

    使用上述的两个JVM执行./gradlew bootRun -x test --stacktrace 均报以下错误: Caused by: org.gradle.process.internal.ExecException: Process 'command '/Library/Java/JavaVirtualMachines/adoptopenjdk-11-openj9.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1

    错误日志

    * Exception is:
    org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':server-opensource:bootRun'.
            at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$3(ExecuteActionsTaskExecuter.java:186)
            at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$$Lambda$508/0x0000000000000000.accept(Unknown Source)
            at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:268)
            at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:184)
            at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:173)
            at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109)
            at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
            at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
            at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
            at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
            at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
            at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
            at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
            at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
            at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
            at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
            at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
            at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
            at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
            at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
            at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor$$Lambda$141/0x0000000000000000.apply(Unknown Source)
            at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76)
            at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
            at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
            at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:411)
            at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:398)
            at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:391)
            at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:377)
            at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
            at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$$Lambda$385/0x0000000000000000.execute(Unknown Source)
            at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
            at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
            at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
            at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
            at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
            at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
    Caused by: org.gradle.process.internal.ExecException: Process 'command '/Library/Java/JavaVirtualMachines/adoptopenjdk-11-openj9.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1
            at org.gradle.process.internal.DefaultExecHandle$ExecResultImpl.assertNormalExitValue(DefaultExecHandle.java:414)
            at org.gradle.process.internal.DefaultJavaExecAction.execute(DefaultJavaExecAction.java:42)
            at org.gradle.api.tasks.JavaExec.exec(JavaExec.java:154)
            at org.springframework.boot.gradle.tasks.run.BootRun.exec(BootRun.java:88)
            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104)
            at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:58)
            at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51)
            at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29)
            at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$2.run(ExecuteActionsTaskExecuter.java:494)
            at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
            at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
            at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
            at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
            at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
            at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
            at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:56)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1(DefaultBuildOperationExecutor.java:71)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor$$Lambda$145/0x0000000000000000.accept(Unknown Source)
            at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:71)
            at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:479)
            at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:462)
            at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$400(ExecuteActionsTaskExecuter.java:105)
            at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.executeWithPreviousOutputFiles(ExecuteActionsTaskExecuter.java:273)
            at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:251)
            at org.gradle.internal.execution.steps.ExecuteStep.lambda$executeOperation$1(ExecuteStep.java:66)
            at org.gradle.internal.execution.steps.ExecuteStep$$Lambda$454/0x0000000000000000.get(Unknown Source)
            at org.gradle.internal.execution.steps.ExecuteStep.executeOperation(ExecuteStep.java:66)
            at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:34)
            at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:47)
            at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:44)
            at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
            at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
            at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
            at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
            at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
            at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
            at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor$$Lambda$141/0x0000000000000000.apply(Unknown Source)
            at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76)
            at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:44)
            at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:34)
            at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:72)
            at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:42)
            at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:53)
            at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:39)
            at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:44)
            at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:77)
            at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:58)
            at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:54)
            at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:32)
            at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:57)
            at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:38)
            at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:63)
            at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:30)
            at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:176)
            at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:76)
            at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:47)
            at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:43)
            at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:32)
            at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:39)
            at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:25)
            at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:102)
            at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:95)
            at org.gradle.internal.execution.steps.SkipUpToDateStep$$Lambda$442/0x0000000000000000.apply(Unknown Source)
            at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:55)
            at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:39)
            at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:83)
            at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:44)
            at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37)
            at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27)
            at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:96)
            at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:52)
            at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:83)
            at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:54)
            at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:74)
            at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:88)
            at org.gradle.internal.execution.steps.SkipEmptyWorkStep$$Lambda$426/0x0000000000000000.get(Unknown Source)
            at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:88)
            at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:34)
            at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38)
            at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:46)
            at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:34)
            at org.gradle.internal.execution.steps.AssignWorkspaceStep.lambda$execute$0(AssignWorkspaceStep.java:43)
            at org.gradle.internal.execution.steps.AssignWorkspaceStep$$Lambda$422/0x0000000000000000.executeInWorkspace(Unknown Source)
            at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution$3.withWorkspace(ExecuteActionsTaskExecuter.java:286)
            at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:43)
            at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:33)
            at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:40)
            at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:30)
            at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:54)
            at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:40)
            at org.gradle.internal.execution.impl.DefaultExecutionEngine.rebuild(DefaultExecutionEngine.java:46)
            at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$0(ExecuteActionsTaskExecuter.java:182)
            at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$$Lambda$418/0x0000000000000000.apply(Unknown Source)
            at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:182)
            at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:173)
            at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109)
            at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
            at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
            at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
            at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
            at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
            at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
            at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
            at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
            at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
            at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
            at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
            at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
            at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
            at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
            at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor$$Lambda$141/0x0000000000000000.apply(Unknown Source)
            at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
            at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76)
            at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
            at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
            at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:411)
            at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:398)
            at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:391)
            at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:377)
            at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
            at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$$Lambda$385/0x0000000000000000.execute(Unknown Source)
            at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
            at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
            at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
            at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
            at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
            at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
    
    opened by GGGGGHT 6
  • 无法通过以下关卡:安装Java

    无法通过以下关卡:安装Java

    字面意思。

    终端输出内容: root@RANDOMIZED /randomized# java --version java 17.0.2 2022-01-18 LTS Java(TM) SE Runtime Environment (build 17.0.2+8-LTS-86) Java HotSpot(TM) 64-Bit Server VM (build 17.0.2+8-LTS-86, mixed mode, sharing)

    opened by kiryucocorip 5
  • 第一个挑战-404错误

    第一个挑战-404错误

    问题

    image

    环境

    基于master分支,克隆最新的代码 . 执行./gradlew server-opensource:bootRun

    步骤

    启动后进行第一颗星的挑战 image

    image

    后端没有处理该请求的handler. 通过ApplicationConrtext获取DispatcherServlet发现只有处理/game/serverHandlerAdapter. 是否启动时没有将这些映射注册进去?

    opened by GGGGGHT 3
  • Typo in class name in java-fix-method-passing-value

    Typo in class name in java-fix-method-passing-value

    Hi,

    Quest README.md in java-fix-method-passing-value seems to be erroneously referring to Main instead of Home. See this PR: https://github.com/ByteLegendQuest/java-fix-method-passing-value/pull/9/files

    (the PR can't be merged as the system is treating it as a quest answer submission)

    opened by barthon-b 2
  • Brave people board cannot show all people

    Brave people board cannot show all people

    It seems that the Brave people board cannot show all people. This is a screenshot of my computer in the game.

    image

    But you can see there are some people in the bottom, we cannot see them.

    The Brave people board origin image is here:

    image

    opened by chengww5217 2
  • Add timeout limit for each job

    Add timeout limit for each job

    I wrote a dead loop in the game, as the pic shows, and submit the answer, then it blocked. image I saw the PR in the repo of this game stage, the workflow are blocking on the "Verify" stage for nearly one hour, and I didn't found anyway to stop it. image So I suggest that there should be a timeout limit for every job in repos, like 5 or 10 minutes.

    opened by SaraadKun 1
  • Add tag for every quest

    Add tag for every quest

    Just add everything related to the quest.

    If you want to solve this quest, you need to learn ...(tags)

    Also, when click the tags, it will direct to google or bing

    opened by gtn1024 0
  • Improve login UI design

    Improve login UI design

    From HN:

    The game is a bit visually-loud. It's overstimulating for me, I can't immediately figure out what I'm supposed to do to get playing. It took me a while to find the login button.

    Perhaps a fix is a smaller field of view with pan and zoom? Take my advice with a grain of salt, I'm no game designer.

    opened by blindpirate 0
This is an application that is about an X / O game. You can enter the names of the game, and there is also a screen for those who win and there is a button to continue playing and the game determines the result of each player

Game-X-O This is an application that is about an X / O game. You can enter the names of the game, and there is also a screen for those who win and the

Mohamed Rafat 2 Aug 20, 2022
Free Android 2D OpenGL Game Engine

AndEngine Donations While developing AndEngine was a lot of fun, it also also consumed many(!) months of my life. It actually continues to cost me a s

Nicolas Gramlich 3.2k Jan 5, 2023
Game made with Korge (Kotlin Multiplatform game engine)

MolesAttack Kotlin Multiplatform Game Play Html/js: https://feliperce.github.io/MolesAttack-Distribution/ Jar: https://feliperce.github.io/MolesAttack

Felipe Rodrigues 10 May 30, 2022
Our maze game is an 2d-animation game developed using android studio.

Our maze game is an 2d-animation game developed using android studio. The game consists of a ball and a board with a hole in the center of it. We are using accelerometer as controller to guide ball towards the hole. T

Suraj Devgan 6 Nov 29, 2022
A console-based game that helps you learn new words.

learn-language-game ?? ?? ?? This is a simple console-based game which helps you learn new words each day. Prerequisites An API-KEY is required from R

null 2 Jul 21, 2022
A first-person shooter game where the only things you'll hear are your own thoughts.

Bloody Silence This is a shooter unlike any you have ever played. There is no sound whatsoever, so you will need to use your eyesight to find indicato

Liz Ainslie 4 Oct 23, 2022
Bloat-free Immediate Mode Graphical User interface for JVM with minimal dependencies (rewrite of dear imgui)

dear jvm imgui (This rewrite is free but, on the same line of the original library, it needs your support to sustain its development. There are many d

null 511 Jan 3, 2023
An easy open source Android Native Game FrameWork.

JustWeEngine - Android Game FrameWork An easy open source Android Native Game FrameWork. Engine Flow Chart How To Use? Import Engine's module as Libra

JustWe 767 Dec 8, 2022
Desktop/Android/HTML5/iOS Java game development framework

Cross-platform Game Development Framework libGDX is a cross-platform Java game development framework based on OpenGL (ES) that works on Windows, Linux

libgdx 20.9k Jan 8, 2023
Cocos2d-x is a suite of open-source, cross-platform, game-development tools used by millions of developers all over the world.

cocos2d-x Win32 Others cocos2d-x is a multi-platform framework for building 2d games, interactive books, demos and other graphical applications. It is

cocos2d 16.7k Dec 31, 2022
A cross-platform Java game Engine (Framework) , support JavaFX / Android / IOS / HTML5 / Linux / MAC / Windows

Loon Game Engine (Java Game Framework) EN / KR Free Game Resources Links Download Loon Game Engine Only Android-studio Template : androidstudio-templa

cping 502 Jan 4, 2023
Cocos2d-x is a suite of open-source, cross-platform, game-development tools used by millions of developers all over the world.

cocos2d-x Win32 Others cocos2d-x is a multi-platform framework for building 2d games, interactive books, demos and other graphical applications. It is

cocos2d 16.7k Jan 7, 2023
QRGame - storage a game inside a qr code

QRGame Can we storage a game inside a qr code? Yes! At least in theory. That was the question that started that entire project. QRGame is an Android p

Aislan Tavares 10 Mar 13, 2022
Experimental multiplayer game

Enjoy retro games? Enjoy multiplayer games? Ever wanted to play one retro game against a different game in real time?

Super Retro Mega Wars 114 Dec 18, 2022
In-game editor for item NBT

Building Gradle - Dependency Management The GradleWrapper in included in this project. On Windows: gradlew.bat clean build On MacOS/Linux: ./gradlew

TabooLib Project 12 Dec 27, 2022
Basic template to create a game using minigdx

MiniGDX Game Template Create your first game using miniGDX by clicking the "Use this Template" button above. The game will be configured for: the JVM

MiniGDX 22 Dec 16, 2022
Android Kotlin: Matching Kitties: A Game Inspired by Cats

Android Kotlin: Matching Kitties: A Game Inspired by Cats A kotlin based Android memory game Screenshots | | | | | | | | | Viewing the App You can clo

Ryan Jandrick B. Obeles 20 Aug 1, 2022
a bitcoin key collision game for android

BitteryApp BitteryApp is an opensource bitcoin key collision game for Android. How to Build BitteryApp source code build in chromium building environm

null 3 Jul 12, 2021
Flappy Bird game

Flappy Bird by Compose ?? Description Flappy Bird game built with Jetpack Compose. ?? Motivation and Context All UI built with Jeptack Compose Images

Ellison Chan 172 Dec 30, 2022