The Ultimate Guide for Saving Memory

Memory is the most valuable resource in Creative. We can basically all agree on this. No matter your skill level, you’ve probably wanted more memory in the past, or not had enough. It leads to amazing projects getting cut off, things getting cancelled because of pure scale, when they could be the best Creative game ever made.

Today, we start solving that problem. Here’s a bunch of ways to save memory, and save some hassle too!

GENERAL TIPS:

  1. Channels over wires - channels are almost always the better option. There is literally no reason not to use channels (aside from quantum mechanic/AUO shenanigans)
  2. Check for duplicates - if you have 2 machines that result in similar outcomes, you may be able to merge them and save memory! You can use block code for multiple functions, or a timer for multiple timings. Additionally, make sure your devices or props aren’t stacked. (Unless you want them to be.)
  3. See if there’s a better way to do it - sometimes, you won’t have as good or efficient of a machine as you want. Check the forums or the discord for a better way to do it!
  4. Blocks over devices - when possible, see if you can use a block system instead of a physical system. (Use block code!) Often, a physical system will cost more than a block system, and have less functionality at the same time.
  5. If they can’t see it, no decoration is needed - when playtesting, try to see the bounds of your view area. There’s no point in having extra terrain somewhere where nobody can appreciate it!
  6. Experimentation is key - while this is sort of just reiterating point 3, see if there are cheaper devices, or cheaper ways of doing it. If you need help, comment here or make a help post. Someone will be willing to give you a hand!

SPECIFIC TIPS:

  1. (500 → 40) Instead of using a repeater that repeats indefinitely, you can use a pulser.

    This system will give a plastic bottle every second. We can easily make this by looping two wire repeaters, then giving them a start line in and an output line out. One repeater needs to have a delay other than 0 or it won’t work, though.
  2. (20+ → 20) If you are trying to make a series of straight walls that are more than 20 tiles long, use a barrier instead! They cost 20 memory, and since walls are 3 to a floor’s 2, it’s much more efficient memory-wise!
  3. (35+ → 15)When chaining signals to get block code involved, make sure to use notifications, if possible. They are currently the cheapest block codeable device, with only a 15 memory cost for the functionality of much, much more. (Triggers use 40, item granters 35, text 60, etc…) You can use these in things like trigger clocks, and make them become notification clocks!
  4. (80 → 65) If you do end up making a trigger clock instead, make sure not to use 2 triggers unless it’s absolutely necessary. Use a wire repeater instead. Goes from 80 memory to 65.
  5. (150+ → 150)Camera views are 150 memory, but they may in extreme cases be very helpful towards lowering memory. If you have a big room and don’t want to lay out extra tiles around it so that continuity is maintained, use a camera zone!
  6. (a lot → less) Do you really need a property? Sometimes, people can add properties as an extra step when they really aren’t necessary.

That’s all I could collect for now. Worry not, more will be added as more tricks are found! If you have any ideas or suggestions, please let me know, and have a good day!

References:

18 Likes

Nice Guide! This should be quite useful for anyone making a memory intensive game!

3 Likes

Add this: if you are checking if a player is in a zone to do a single thing, don’t use a property and block. Make the zone activate and deactivate a trigger that will do what you need.

4 Likes

To follow up, this will help when the thing you need to do is not a block code thing, but like granting an item or respawning a player. Granting 100 cash won’t work though.

4 Likes

Another thing: scaling properties. So you have a game with cash. It has a cash per question upgrade or something like that. We have a property that tracks the cash per question the next upgrade’s price. You also have blocks to increase them. This is bad. We can save at least 450 memory, including a property. Make a property that tracks the level of the upgrade. Next, make your blocks that check if the player can buy the upgrade has some MULTIPLE of the level property. This thing is the same for the blocks in the item granter. Make it grant a multiple of the level property. The level property can incremented by a counter instead of using blocks to make it increase. This is not a very good example, but this concept has a really useful.

4 Likes

Sorry, can you explain what you mean by using a property and block? Why would anyone do that lol

3 Likes

Like set a property to true if the player enters the zone.

3 Likes

does anyone do that? seems completely inefficient and wasteful
maybe im missing something

also that already kinda falls under the bucket category of ‘see if there’s a better way to do this’

2 Likes

It is. That would have been my approach like a few weeks ago.

2 Likes

oh wow ok alright then ill update it

3 Likes

I was block crazy back then. Still am coming out of it.

2 Likes

i mean, blocks are super useful (especially for only 15 memory!), but why even have the property in the first place lol

2 Likes

To see if the player is in. And why are we even talking about an obsolete system?

2 Likes

Ohh, I see. That makes sense, because then you just turn off the signal when the player leaves.

We’re talking about it because you said I should add it to the list, and I’m trying to figure out how to word it.

2 Likes

Yeah. I don’t know how everyone else would do it because it seems like no one else uses blocks.

1 Like

their loss! blocks are way more useful than most devices most of the time.

3 Likes

What I’m realizing now is that while blocks are really useful, most of the time, they are way too powerful. The systems can usually be replicated with devices for less than 500 memory.

2 Likes

dont let team gimkit catch you saying that…

yes they are though

2 Likes

Who’s team gimkit?

2 Likes

The gimkit team/creators/designers

3 Likes