This is definitely a good idea, but way harder to implement that it looks on the surface.
I already spent about 40 hours tuning the game to what it is now and it still sucks. Tuning a dynamic difficulty system would take even more time, mostly testing.
And then of course there's the question of what happens with the highscores. If one player is presented with a simpler game than the next, scores are not comparable at all. So a ranking to "prove you're typing hacker" would be difficult as well.
You don't have to rank based on single game scores. One way to do this would be to have levels that are replayable (ie there is a number n that uniquely identifies each set of level parameters) and use chess' Elo ranking system for both players and levels.
This gives players a ranking score that is comparable, and over time your players will rank your game levels for you. It also makes it possible to matchmake players to levels.
I think sucks is a bit harsh. The curve is certainly off, but the game itself is great fun.
There is something really satisfying about how the impact of the bullets knocks backs the target ships. Also love how fast it shoots when you get on a roll.
I used to play a similar game years and years ago[1]. It's very easy in the beginning, but you quickly reach a point where it becomes very, very hard. I think I never reached level 20, but it doesn't matter, it's addictive, it's challenging, even if you don't go so far in the game you replay and replay until you beat one more level.
Some games solve this by having different modes of play. "Highscore Mode", "Campaign Mode (Easy/Medium/Hard/etc)". If you did, for example, have a dynamic scaling system, you could have that in some kind of alternate play mode that lets the user just practice, vs. a separate/more static mode that allows eligibility for highscores.
I think the dynamic scaling (difficulty multiplier?) could just be the levels advancing faster like somebody else said. If you solve a level too fast you could get a "wormhole" advancement that just gives you points automatically for the levels you skipped over.
I think this is awesome, not just as a typing tutor but as a spelling tutor. I think adding phrases and word combinations would help teach grammar too. You could also do a synonyms level, an antonyms level (I think even adults would like these) then verb levels, adjective levels, etc.
Here's another idea. A convoy of words come at you (as a sentence) with the verb out in front and you have to shoot the verb first.
Or, totally different game, fly/shoot your way through isometric Zaxxon-like "sentence diagram" landscapes.
PS: This is how I learned my times tables back in the 80s, very similar game on the TI99 ;-)
Yeah, it's probably not trivial to test and get the algorithm, perfect, but I think the basic calculus would be incredibly easy and would almost certainly beat baseline:
var wpm = getWPM();
function levelDifficulty(num) {
return getOldLevelDifficulty(num) * wpm * SOME_SCALING_CONST
}
I already spent about 40 hours tuning the game to what it is now and it still sucks. Tuning a dynamic difficulty system would take even more time, mostly testing.
And then of course there's the question of what happens with the highscores. If one player is presented with a simpler game than the next, scores are not comparable at all. So a ranking to "prove you're typing hacker" would be difficult as well.