Query: GM Best practices?

Posted by aeron on March 2, 2013, 3:36 p.m.

Hey all, so I haven't mentioned it here yet but I recently began working as lead designer on a small gamedev team. After looking into available tools we have decided to use GM:Studio to speed up development. One of the programmers is new to GM (He's a Java bean) so to help get us all up to speed I'm compiling a list of guidelines to make our lives easier. Now, I've only recently been getting back into GM so my memory on some of the conventions aren't the best. So far I've covered:

1. Prefix resource names (spr, obj, etc)

2. Use GML not drag and drop

3. Avoid built in globals (health, score, lives)

4. DS are your friends

I'm trying to think of other little rules of thumb that we might benefit from. What are your best practices when using GM? What things should you never ever ever ever ever do? How can I make sure our code doesn't get out of hand?

And as a final note, I'm actually looking to take in more programmers and artists for this project. What we're making is a 2d game centered around espionage/sabotage. We already have a couple designers, two guys on sound, one (maybe two) artists, and three programmers (including me). One of the programmers (not the Java bean) isn't sure if he can stay on so I'd really like to get more people just to be safe. So, if you think you can contribute, and wouldn't mind making some cash if (or when) this game turns a buck, feel free to leave a comment or PM. If you want more info, I can gladly provide it.

Cheers

Comments

Charlie Carlo 11 years, 9 months ago

Quote:
I don't think there's really much of an advantage to not using the speed variables
I find it easier to control collision checking and movement when I can control exactly when and how movement occurs, instead of just handing it off to GM.

KaBob799 11 years, 9 months ago

Well without collisions enabled you have pretty good control over the speed variables

MMOnologueguy 11 years, 9 months ago

I'm not quite sure what I meant there or anywhere else really. I missed a night of sleep and now I might miss another because I've got shit to do for school.

Incidentally, that's actually another good Game Maker practice. The less sleep you have, the more productive you are.

colseed 11 years, 9 months ago

Quote:
Incidentally, that's actually another good Game Maker practice. The less sleep you have, the more productive you are.
*the more productive you feel, despite making what is in fact probably the same or less progress

and I feel like the morpuguy comment before that was supposed to be sarcastic, but I honestly can't tell if it was actually meant as such…

MMOnologueguy 11 years, 9 months ago

Some of it probably was, I'm not sure. I think I might've been going for some kind of ambiguity thing. It's all very confusing (or at least it feels that way right now) and I should really stop wasting time and get working on that thing I'm supposed to be working on. That's a good game maker practice too: working on the thing you're supposed to be working on. Unless that thing isn't game maker, in which case you'll have to ask yourself, "Could this be the end? I've gone this far, but did I really need to get that alpha value just right?" Maybe there's no time now, all because you were a fucking idiot and had to get the punching animation to almost look kind of realistic if you kind of squinted a little. There's a firefight in the next block over, and the NATO-equipped jihadis are no doubt going to take the whole neighborhood within the hour. You know what that means; Assad's tanks'll be out on the perimeter, the internet'll be out, and maybe your house will explode. Why are you making a Game Maker game on the front lines of the Syrian civil war? In this case at least that was probably not the thing you were supposed to be working on.

Cesque 11 years, 9 months ago

Quote:
When it starts to get laggy cut the room speed in half and double all the speeds.

LOL.

There used to be a tigsource topic by Derek Yu with some good GM-specific hints, but I can't find it (there's the general one, but that's not the one I meant…).

In all seriousness, I didn't believe GM was inherently shite, but after going back to GM from Python, suddenly I find myself copy-pasting the same code across objects again "because it'll be faster"… so it does promote bad practice :(

Acid 11 years, 9 months ago

Don't use tabs, comments, or spacing because the computer doesn't read that stuff anyway.

Create multiple variables for the same thing because it makes sense to do that.

Wear pants.

SteveKB 11 years, 9 months ago

write all your code on one line make an inverted copy of every graphic in the game and have the object alternate between the two images for an increase in stimulation during the game.

Rez 11 years, 9 months ago

after recently trying to code something i dont usually code in GM, ive decided to just become a buddhist monk instead

aeron 11 years, 9 months ago

Quote:
after recently trying to code something i dont usually code in GM, ive decided to just become a buddhist monk instead
Why not both? You can be the first code monk. It's a hell of a lot more liberating than being someone's code monkey.