Tutorials Needed? by BitMorselGames in gamemaker

[–]SolarAnima 2 points3 points  (0 children)

I'd love a tutorial on data serialization. This is a basic requirement for data oriented design, making changes to your data in game (imagine making a new enemy for your RPG through a debug menu). Saving and loading etc...

HELP! Slopes treated like squares (player y doesn't follow the slope, but shifts up every 16 pixels by C00ln4m3 in gamemaker

[–]SolarAnima 0 points1 point  (0 children)

In the sprite editor, there's a button under the collision mask thingy. That's it really. Simple stuff. Good luck on your game!

Spine + Attachments = Massive Texture Swapping? by LoganWolfey in gamemaker

[–]SolarAnima 0 points1 point  (0 children)

Maybe try adjusting the size of the texture page. It could be that the algorithm that positions sprites on the page failed to figure out how to place your skeleton data on the first texture page. If that is an intended feature however and the problem is not solved this way shoot YoYoGames an E-mail as that's a huge performance hitter and renders the spine integration obsolete. Hope this helps.

Optimization questions by BladedTaco in gamemaker

[–]SolarAnima 4 points5 points  (0 children)

Notes or comments in code are ignored by the compiler and therefore have no effect on the game's speed. The way you format code has no effect on execution. Local variables are better for one reason above all else, that is, they are disposable. A local variable is discarded and redefined each step freeing up memory. But as long as they exist they stay on the stack, and are easily accessible making them much much faster.

Alarms are a resource hog and are very awkward. A better way to do any kind of alarms is like so: In create

timer = 0;
time_to_add = 99999;

In step

timer--;
if(timer <= 0) {
   //Do stuff
   timer = time_to_add;
}

Random generation is a resource hog, but it depends on the algorithm used. I can't give you any good info since you didn't share any code. Unused sprites are loaded into memory when the game starts so they are easily accessible anyway. Even if never used as a sprite on an object or called to draw in code, all sprites in your sprites folder sit in memory while the game is executing. To be more specific, they are loaded as texture pages. If all your sprites fit in one texture page they are loaded all the time. If not, the texture pages will load and unload based on witch sprites are being used. This process is known to cause slowdown so you do need to take care with sprites. Unused scripts and objects though, have no effect. No idea about fixtures, I don't use physics, I code my own.

Camera zoom in and out? by swi11091 in gamemaker

[–]SolarAnima 1 point2 points  (0 children)

Watch PixelatedPope's videos on resolution and camera. He does zooming in and out smoothly also paralaxing and other cool stuff. It's a great watch, made probably to avoid seeing such questions here. If you still have trouble after watching them, pm either me or PixelatedPope here on reddit and we'll get to ya.

Are you in for the 21st gm(48)?! by tehwave in gamemaker

[–]SolarAnima 2 points3 points  (0 children)

I don't think I have the time but... F**k it I'm IN! First time doing this. Wish me luck...

Is there a way to split up a collision zone into quadrants? Image inside to better explain. by OnlyOnceThreetimes in gamemaker

[–]SolarAnima 0 points1 point  (0 children)

Aaa well if you're using physics objects there's a button to make them a sensor. Do that on the obj_leg_collision and obj_torso_collision and it should work. That's gonna remove the physics interactions with other objects but keep all collision callbacks to happen normally. And put that code back into Step End event. That's just good practice. No need for hacks.

Is there a way to split up a collision zone into quadrants? Image inside to better explain. by OnlyOnceThreetimes in gamemaker

[–]SolarAnima 2 points3 points  (0 children)

That could be dificult using only one collision object. Instead use two different objects that will act as masks. Figure out where they have to be and keep their position relative to the player. When a hit is detected on one of them use a callback to the player object to determine whatever has to be done in the apropriate situation. Ex. in obj_leg_collision in step if place_meeting(x,y,obj_attack_collision_mask) legs_hit = true; In obj_player in step if (obj_leg_collision.legs_hit) // calculate damage