Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

C memory management

Name: Anonymous 2011-02-12 5:42

Hey /prog, I'm teaching myself C by writing a roguelike and I noticed that C uses manual memory management for creating objects in the heap. I was wondering if the C-gods could lend me some advice on how to proceed with this:

I want to write a roguelike with thousands of NPCs, every NPC is a really small piece of data which does not contain any pointers (position, stats, behavior... probably ends up being a few bytes). NPCs would spawn and die constantly. How would I go about managing the memory for this?

• malloc and free individual NPCs
• Boehm-Demers-Weiser conservative garbage collector
• malloc a big chunk of memory and build some kind of memory manager on top of it (are there techniques for this?)

Please advice.

Name: Anonymous 2011-02-12 14:47

>>20
Why not store monsters in the level map itself? You'd have to iterate over the entire map to find them for the AI phase,

That would be too slow. Monsters with huge ranged attack like

    for(unit in all_monster_in_radius(my.pos, my.weapon.range)) //ok, not C
    {
       if(is_enemy(me, unit) && estimated_damage(me, enemy) > estimated_damage(me, best_target))
          best_target = unit;
    }
    attack(best_target)


will cripple game so hard that even original rogue on original hardware will run faster.

Why not just fake it?

I want to cast lock door to lock monsters and I don't want them to disappear or jump across lava river randomly.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List