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:16

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, but considering you'd have to suck chunks of the map out of memory to do their AI anyway, that could be fine, assuming a certain monster density. If you were going to store a monster pointer (or less crazy, an array index) in the map anyway for easy lookup, you can probably pack a monster's info into less space than a reference to it would take.

Not sure what you want with so many monsters though. Not like you're going to encounter more than a screenful at once. Why not just fake it?

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