I like your last video. looks promising and amazing!
I am sorry if I bother you, but isn't there a memory leak:
void BubbleEntity::dying() {
...
BubbleEntity* b1 = new BubbleEntity(x - 5 + rand() % 10, y - 5 + rand() % 10, bubbleSize + 1);
BubbleEntity* b2 = new BubbleEntity(x - 5 + rand() % 10, y - 5 + rand() % 10, bubbleSize + 1);
...
}
or here:
SpriteEntity* star = new SpriteEntity(ImageManager::getInstance().getImage(IMAGE_HURT_IMPACT), xs, ys);
and so on.