Eine mögliche Funktion level: time[in s] ↦ level(time) wäre:
q := (60*60*24*365)^(1/99)
level := time -> 1+floor(ln(time)/ln(q))
Sie liefert zum Beispiel folgende Werte:
time level
1 1
2 4
3 7
4 8
5 10
6 11
7 12
2000 44
10000 53
30000000 99
31536000 100
Einige kleinere Level können bei ganzzahligen Sekunden nicht erreicht werden.