Achievements! #1541
Replies: 8 comments 11 replies
-
THIS IS SO COOL @TiBiBa!!
This will be hard haha because the js gives you a timeout after 3 sec and you cannot run large programs anymore. But let's see if a kid can still screw up stuff :D |
Beta Was this translation helpful? Give feedback.
-
We've made a lot of progress on the achievements. For all coding progress I would like to prefer to #1543. A language-independent back-end implementation is created that depends on "achievement keys". This way the .yaml files and thereby the achievements can be translated in any language as long as the keys match. Currently it is implemented in English and Dutch. A back-end and front-end parser is written to enable us to "push" new achievement from anywhere on the user pipeline. Below an overview of the already implemented achievements within the current branch: GeneralAdventure is Worthwhile (Store a program for each adventure in a level) Programs created (Done)Getting Started I (Run 1 Hedy program) Storing of programs (Done)One to Remember I (Store 1 Hedy program) Submitting of programs (Done)Deadline Daredevil I (Submit 1 Hedy program) Hidden achievements(Users will be unable to see these unless they are achieved or use GitHub and read this discussion) Hedy-ious (Print 10 times the same string without using a loop) LevelsLevel 1Use all newly introduced commands (print, ask, echo, forward, turn) Level 2Use all newly introduced commands (is) Level 3Use all newly introduced commands (at random) Level 4Use all newly introduced commands (print, ask) Level 5Use all newly introduced commands (if) |
Beta Was this translation helpful? Give feedback.
-
Newly added achievements
|
Beta Was this translation helpful? Give feedback.
-
Currently the achievements structure is implemented. Being language-dependent built upon .yaml files. We have a bit of a unique situation: The Secondly, we current perform a db call on each achievement verification check. Due to the growing nature of the achievements implementation this might get a little bit out-of-hand. As this is currently the case for when:
It might be wise to discuss some implementation changes to reduce the amount of db calls. For example, retrieve the achievements at login and store in a session. Then verify new achievements with the session instead of the db (as users might nog get achievements that frequent). If it's new: push achievement to db and re-fresh session with db call (to ensure identical sets). |
Beta Was this translation helpful? Give feedback.
-
Newly added achievements
|
Beta Was this translation helpful? Give feedback.
-
We just implemented all teacher achievements, in the process adding two more:
|
Beta Was this translation helpful? Give feedback.
-
Almost all achievements are implemented except a few. These are mainly due to having to re-write a large chunk of code before we are able to correctly check, story and display the achievements. Lastly, the
Also all level achievements still have to be implemented. It might be better to implement these later on as they are highly related to the "unlocking" of new levels. We should first think thoroughly about how we would best address this feature. |
Beta Was this translation helpful? Give feedback.
-
Last achievement implementation update (bold is implemented):
|
Beta Was this translation helpful? Give feedback.
-
As already proposed as an issue in #1516 we would like some way to implement achievements and the unlocking of levels. To prevent the issue overview from getting too crowded (we already have 114 open ones at this moment!) this discussion post is used to create an overview and discussion of the possible achievements as well as some implementation thoughts and issues.
Implementations ideas
Technical thoughts and issues
Achievements
In this subsection we discuss all possible achievements ordered by category and Hedy level. For some achievements we already thought of a catchy name. This is, of course, subject to change and might differ from the actual implementation name.
General
Programs created
Storing of programs
Submitting of programs
Hidden achievements
(Users will be unable to see these unless they are achieved or use GitHub and read this discussion)
Levels
Level 1
Level 2
Level 3
Level 4
Level 5
Beta Was this translation helpful? Give feedback.
All reactions