AppImage is useful for packaging, but it doesn't prevent broken builds by itself. I've seen plenty of Linux games without AppImage that work fine, and I think I've seen at least some AppImage games that don't work (although AppImage is pretty rare). I do use AppImage for my own games, but more importantly, I use static linking where I can and I redistribute .so files and use custom rpaths where I am forced to use dynamic linking.