I know INSTEAD has a special direct mode with sprites, pixels, module music and LOVE 2D support. So you can make a CYOA that turns into a full 2D game and then into a parser. (It’s as hard as it sounds for new programmers though because you’re not operating with low-level SDL but not programming with some kind of asset manager either). Parser module is very polished with mobile suggestions and autocompletion but no English documentation at the moment, so I imagine it will be mostly learning-by-example.
If you’re writing in Javascript, you can string together any high-level 2D library (there’s a ton) and probably ISHML.