I am having a game, it is a simple tile-based platform-shooter, and I was wondering about this. If I have a rendering loop, that draws all enemies using a for loop, but first checks whether they 'exist'. Would it be appropriate to use 'exist' in terms of memory (if (enemy[i]) to check existence, delete enemy[i] to remove them from gameplay) or to use 'exist' in terms of gameplay (declare a local variable inside the enemies, if (enemy[i]->exists) to check for existence, enemy[i]->exists = false; to remove them from gameplay). Considering the enemies won't be seen for the entire level again, wouldn't it be smart just to remove them from memory? BTW, at level start, they are dynamically allocated, when read from a map file.