Issue with seeded map generation

Mitya Sirenef msirenef at lightbird.net
Sat Dec 8 17:27:32 EST 2012


On 12/08/2012 04:32 PM, Graham Fielding wrote:
> Hey, all!
 >
 > I've managed to get my project to a semi-playable state (everything 
functions, if not precisely the way I'd like it to). One small issue is 
that when the player movs from one level to the next, the items and 
monsters in the previous level all 'reset' and return to the positions 
they had when the level was seeded.
 >
 > I've puzzled over (and attempted) quite a few workarounds, and had no 
success. I don't want to pickle the entire level (that would be overkill 
for what I need), but I want to update the item/monster locations so the 
player can drop an item and come back to it later.
 >
 > Should I add something to the 'drop_item' function, or call soemthing 
in make_map?
 >
 >

How many levels do you have and how much does each take up in memory? It
might be ok to to simply save the level in memory under its number; if
the map takes up a lot of space you can make objects take up less memory
by using __slots__, and then change levels by doing something like this:

def change_level(num):
   self.levels[self.current_lvl] = self.levelmap
   if num in self.levels:
     self.levelmap = self.levels[num]
   else: [handle new level creation]
   self.current_lvl = num

  -m




More information about the Python-list mailing list