42 Black Hole Deep Dive
(It is worth mentioning that due to the curriculum update, the current system need a fix that will most likely happen soon. I will try to update this article accordingly.)
(November 18th 2021: 42 plan to work on a new system this year and aim to be ready for beginning of the cursus of students from summer 2022 piscines. So before November 2022)
(April 9th 2022: Total number of days was increased from 615 to 670, article updated)
1. Introduction
The Black Hole has always remained mysterious for me. How many days is one project going to give me? Are the amount of days it will take me do to the bonuses worth the reward? Were among the questions that were triggering me.
Many people are struggling to manage the Black Hole, some are trying to do full bonuses and optional projects, other are rushing. Too many of them are getting absorbed. But is there an approach more optimized that could save people? I knew I had to do something and understand the formula behind this peril. So I took some time, and after lots of research and brainstorming, I finally came with an answer.
2. Summary
The best way to approach the BH system is that you are going to receive 670 days in total. You start with 77 days and you will receive the remaining 593 gradually from level 0 to level 8.41 in proportion with the XP that the project brings. The closer you are to level 8.41, the less days the projects are going to give you. You will receive 0 BH days after level 8.41.
3. False ideas
I heard many time “I’m going to do bonuses, this will brings me more days.”, or “I’m going to do this new project, it’s easy BH days.”. Well it’s the exact opposite: even if you are receiving more days in the present, you are actually receiving the days that you would receive later since you will always receive 670 days for the whole common core. So you are kind of shooting yourself in the foot.
If you are short on BH days : NEVER do bonuses and NEVER do optional projects. Go as fast as possible to the end of the common core and use your freezes.
I also heard people say that for one circle, you are getting three times the xp of the amount of days estimated for the next circle. Well not really: first, this is not taking into account the bonuses, and also, I don’t think 22 days (66 divided by 3) is enough to do piscine_CPP, cub3D and NetPractice.
4. How it really works
Here is the math formula that I made to calculate the BH days:
The formula comes from the one given by Salty on slack.
x: your current XP (maximum value = 78909)
y: your current XP + the amount of XP you will receive with a project (maximum value = 63559)
560: old number of days distributed, remain in the formula
483: 560–77 (77 is the amount of days distributed at the beginning)
0.45: arbitrary value
49980: old maximum XP where you could earn days, remain in the formula
78909: new maximum XP where you can earn days (level 8.41)
How to calculate your XP ?
I also used some data available on slack to do this table:
For example, if you are level 3.84, you need to add the XP required to get to level 3 (5885) with 84% of the XP required to get from level 3 to level 4 (5892*0.84=4949), so this means that you have in total 10 834XP. If you do a project worth 3000 XP, x = 10834 and y = 13834, you would get [((13834/49980)^0.45)-((10834/49980)^0.45)]*483 = 28 days of Black Hole.
Here is the research spreadsheet that I made and used if you want additional informations.
5. A Black Hole Calculator ?
Thanks to a collaboration with rfautier, there is now a BH calculator available on his website 42evaluators with the XP calculator.
You can try it yourself!
6. Conclusion
If you work regularly, don’t lose time doing bonuses and optional projects, try to keep some safety days from the beginning and use the freeze wisely, there is no reason you can’t defeat the BH. I wish you the best for your 42 common core :)