#include typedef uint32_t Entity; #define ENTITY_INVALID 0 #define MAX_ENTITIES 4096 Entity entities[MAX_ENTITIES] = {0}; int spawn_queue = 0; //lock queue when used int EntityUpdate(void) { } void EntityManager(void) { bool close_signal = false; while(!close_signal) { //update all entity data //spawn newentity from queue //cull entity } return; } void SpawnVisualEffect() { //spawn a timed entity used for a visuel effect }