I think the only ‘tricky’ thing about XP is that it’s currently working like a ‘finite’ resource. You get to a certain SRS level on a certain grammar point, you get a certain amount of XP – let’s call it X. If you Reset that grammar point back to SRS level 0, you lose X points of XP. If you get it back to the same SRS level again in the future, you get back those X points. So, XP marks a certain ‘level’ of advancement through BunPro’s grammar and vocab items.
But cramming could be done as much as one wanted to, so if you simply gain XP every time you cram, then it’s like generating XP out of nothing, making it an ‘infinite’ resource, and thus less valuable. Someone could cram for weeks on the same N5 grammar points and even at 50% value could earn more XP than someone who has actually advanced through several new grammar points.
If cramming were to be able to ‘earn’ XP, it would have to also be a finite/limited resource.
Well, here’s a possible idea. Just brainstorming again. Suppose that each grammar point had a secondary ‘cramming level’, to supplement the main SRS level.
Then, you could cram, say 5 times, and gain 5 levels of Cram-XP, say, up to 50XP total. Once you’ve done the max, you don’t gain anymore Cram-XP for that grammar point.
Now, as that brainstorm stands, it would basically just be a kind of ‘parallel XP system’. Might be a lot of extra work for not much benefit? And it doesn’t really seem to work the way you seem to want it to work, where you would get cram XP for every day you cram.
So, what about if these ‘cram levels’ were only temporary. In the simplest case, you could just have a single cram-level: Have you crammed this point recently or not?
Suppose the ‘recent’ threshold is like one month or something. So, you cram item A on the 1st of the month, item B on the 8th, and item C on the 21st. You’ve gained +3 Cram-XP. The next month rolls around, and on the 1st of the new month, item A’s cram-level goes down one to 0, so you lose that Cram-XP, and you’re down to 2 Cram-XP. You cram A again on the 5th, and cram B also on the 6th (renewing it’s expiry date to the next-next month’s 6th). You’re back up to 3 cram-XP. The 8th rolls past, and since you re-crammed B it doesn’t expire. But the 21st rolls past and your C cram expires, and you’re back down to 2 cram-XP.
So, it would basically be like ‘keeping up your ‘fitness’ level’. Try to maintain 50 cram-XP over the course of a few months. Or, you could go for stretch goals: Try to cram as many different items in a month, maybe a couple hundred or maybe much more.
Or, if you can have multiple cram-levels per item (like SRS levels, but they expire), then you could go for ‘focused training’, try to get certain N4 grammar points to cram-level 6 for a whole month. Maybe higher cram-levels expire faster, so it’s harder to maintain them at a high level.
Basically, could have a quite flexible system with many different ways of using it, but still maintaining the idea that XP is a limited/finite resource that can’t just be gained every day forever.
And, if the cram-levels are made to work as described, then you ‘cram XP’ could simply be normal XP, but the cram-levels expire, automatically deducting their associated XP bonuses.
(Then again, if it was normal XP that frequently expired, might end up with weird behaviour like gaining a level one day, losing that level the next, regaining and relosing it over and over, depending on how much you cram/don’t cram. )