-
Notifications
You must be signed in to change notification settings - Fork 56
Add a few tutorial challenges #411
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like it so far, but I think we should definitely address #387 before things get out of hand. 😄
I think #378 will be particularly helpful for later tutorial challenges, so we can sequence things like "go get at least 10 trees". "OK, good, now that you have some trees, craft them into ..." "Good job, now you need some water". etc.
Sure I think those two tickets would be nice, but they can be worked around and then fixed easily. I am more interested in issues that will come up that I can not work around, like missing a |
// a <- flowerAt (2,-1); | ||
// b <- flowerAt (1,-1); | ||
// c <- flowerAt (1,-2); | ||
// return (a || b || c); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@byorgey @TristanCacqueray @lsmor When you have time, could you please playtest these few tutorial challenges? They might be too hard or explain things too much or not explain the goal enough or all of that. 😅 The debugging challenge might be critical to help with later challenges - namely the next one - it does not work yet, but any suggestions are welcome. 🙂 |
I note that tutorial 5 ( |
Things in
|
When I start the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's looking really good, thanks!
@byorgey regarding the things that should be in the tutorial:
Sorry for the long wall of text, I will probably get back to this tomorrow, so it's also for me to not forget. 😅 Note to self:
|
|
With a total of 10 tutorial challenges, I have run out of energy to write more. I am leaving a proper tutorial of Once #464 is merged, I will rebase this PR and move goal descriptions to use the the newer After that, I would like to merge this PR. Hopefully, only the wording will now require changes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is looking fantastic! Just a few small comments/suggestions.
Btw. the new goal view looks great with my long tutorial descriptions, thanks @byorgey! |
Weird, all tests failed on the crasher test, but I can not reproduce that locally:
|
Strange, I can't reproduce it locally either... |
I spent half an hour copypasting the commands from CI, to get a docker container as close as possible to our tests... ...can not reproduce there. 😠 I have no idea what is going on, so I will try this:
|
} { return false } | ||
solution: | | ||
crasher <- build {move; move; move; log "bye"; move}; | ||
wait 1000; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could a lower or higher wait value help here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I doubt that - the secret robot has only 15 numbers to iterate over and will get to the crashed robot shortly.
A lower number would not change anything, I think.
FWIW: wait 5
is the necessary value currently, so 1000 should be enough 😄
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I meant, because the test timeout, perhaps a lower value would make the win condition works better? In case the test instance is overloaded or something... Also it seems like the test timeout after 1 second by default, so maybe pushing that to 2 second could help too?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You know it does actually take 0.44s to run the test, unlike the others which take ~0.10s.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I got to step 3:
And do not intend to spend any more time on this absurd CI mystery until I can reproduce that locally. |
@xsebek I have a new theory why that test wasn't working in CI: the |
Start designing the tutorial (via challenges) so that we can figure out which new features are necessary.