From: Warren Robbins <robbinsw@UCS.ORST.EDU> Sent: Saturday, January 01, 2000 4:43 PM > I suppose my question is: How else do people recommend trimming memory > usage for an overworld (approx. 300x200 rooms)? The area is composed > (ATM) of stock room_data structure types. My implementation was pretty memory-stingy. It was an ascii overhead system so I didn't need a whole lot of information, but by adding a few kludges to the stock room system I still had access to room flags and such, although in a limited fashion. My solution was to use descriptionless stock rooms as my terrain models. In other words, there was a plains room, a forest room, etc. These terrain rooms were all in a dedicated zone. I used a 200x200 short int array for the map, where each element was the vnum of the room that represented the terrain type. I added mapX and mapY variables to the character and object structures. If they're in zone X (the terrain zone), they were logically located in the terrain room. The CAN_SEE macros were modified so you'd only see people in that room if they also shared your coordinates. This required changes to movement and communications code. I think it took me about 3 days to get the basics set up (very quick for me at the time) and it had very little effect on memory. I think I may even have a copy of the pre-bugfixed code if you want examples. Sam +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 04/10/01 PDT