New account registration is temporarily disabled.
0 reviews
  • Add Review
  • Subscribe
  • Nominate
  • Submit Media
  • RSS

Remembering Rainbows

As of right now, Gravity Pipe's memory management system is completely functional (and programmer-friendly!) and allows player to navigate the dark depths of this memory.

malloc and free (as stated before) work just like they do in C. As a programmer I can reserve certain parts of memory for a given array of numbers and then open it up for other arrays later.
Slightly more technical details below:
My implementation of malloc is essentially a priority queue of all the empty spaces in memory sorted by size. Whenever a request for space is made, the largest open space is removed from the queue, decreased in size to account for the new array and then put back into the queue. When a free request is made, empty spaces are merged together.
While this is certainly not the most space-efficient way to handle malloc, it's fast enough to handle well over a million mallocs/frees within the space between animation frames.

Whew, enough of that mumbo-jumbo.
The player can navigate memory by going to the "M" icon form the main menu and selecting a desired memory bloc. This takes the player to a screen full of different colored letters and numbers. Each character represents one byte of a file stored somewhere itenside of the Blue Sentinel's memory (more specifically, it's the hexadecimal representation of that by % 16, for spacing reasons). These bytes will be different colors depending on which user (or self-aware program!) requested the allocation of those bytes.

The player can navigate around memory with a "selector" that spans a five-byte stretch of memory. What can this selector do? Stay tuned to find out!