Fundamentals:
Game Maker here. I use Unity myself, but these tips are some universal techniques that any programmer can use. Memory Management and optimization: most engines have garbage collection to free memory back up, since if there is too much garbage it can lower framerate. Creating and destroying objects yourself is very inefficient, but I found a technique that can lead to a fun little weekend project: object pools. An object pool is a collection of objects held in a group that can be positioned and activated, and then upon completion, hidden and reset back into the pool. Don’t be discouraged; starting out with object pools just involves creating and destroying objects, which can be a fun little project. I also recommend the 2D Extras asset from the asset store, it has smart tiles and animated tiles, it’s old but essential for a 2D tilemap game.
Anyway an example of a good object pool is creating the pool object with a C# script that instantiates the prefabs that also have a separate script. Then storing them in an array or list, tracking their state or their starts, selecting inactive objects for use, and automatically resetting the pool object, be it explosion FX, or bullet or particle effect. You can anticipate the maximum number of objects in a pool array, or with a list, add objects as needed that destroy themselves if they’re not being used. An object pool is great for particle FX, once you can build a good efficient object pool of FX and constantly reused objects you are well on your way to building fun, customized game code.
If you’re just starting don’t even worry about it, just instantiate and destroy, don’t use destroy immediate. A quick tip I’ll cover later is use a game manager script to track status, and a sound management object.
Double Fundamentals
Game Maker here! Quick little Unity tips; K.I.S.S. (Keep It Simple Stupid). One simple task at a time until you accomplish something complex.
Destroy(30) is a 30 second destroy timer. Optimize in the background, always when feasible. Image size: graphics card loves multiples of 8 (i.e. 8×8, 8×16, 32, 64, 128, 256, etc.), this greatly decreases file size, access time, and texture rendering.
Sounds are huge and in Unity can be optimized to zero and crunched generally.
P.S. 500 MB protect zip is too big for a flash drive save!
Bear Boot Bandit back with some fun facts: PNG has millions of colors, and a transparency channel is the smallest file size million-color transparency go-to game file picture format. Everybody says use these huge sound files, am I wrong? I optimize mp3s to zero and crunch them, unless it’s delicate music; it’s an internet technique, who knew? To back up at the end of the day, save your whole project file to a zip, and upload to Microsoft One Drive with a date and focus, or try Github branches.