• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!

Taking My Code to the Professional Level

Schwee

Member
Hey everyone,

So I am planning on creating a metroidvania game, and I am very familiar with programming in general as well as as lot of GM specific related concepts. I have attempted to create my own builds for games on multiple occasions but the part where I always get stuck is essentially scaling the project out. From stuff to organizing assets, to creating scripts in an efficient way to reuse behavior, to more abstract concepts, I am not sure what to do besides make it up as I go along.

Does anyone know of any good tutorials that cover these types of concepts? Or examples of completed games in which you can go through the build completely?

If you by chance are at all interested in the project, I am an artist with experience. You can see examples of my work at http://www.jakeschweihs.com.

I appreciate the feedback ahead of time! Thanks guys.


Jake
 

GMWolf

aka fel666
Check out my tutorial on object orientation

it explains how to implement features such as polymorphism and composition. Very important ideas when working on larger projects.

You may also be interested in some of my later tutorials, where i tend to show how you can make use og gm's features to aid design.
 
I would really recommend getting your hands on any sort of open source project in a language you are familiar with.
This can help you see different architectures that have been used and how they were able to scale well.
If you wanna shoot me a PM or anything, I would be more than willing to help.
 

GMWolf

aka fel666
I would really recommend getting your hands on any sort of open source project in a language you are familiar with.
This can help you see different architectures that have been used and how they were able to scale well.
If you wanna shoot me a PM or anything, I would be more than willing to help.
Unfortunately GM has very different 'good practices', and not many open source projects...
 
Unfortunately GM has very different 'good practices', and not many open source projects...
I was not referring specifically to gamemaker. I was referring to applications in general.
The same principles can carry over from one language to another fairly well.
 

GMWolf

aka fel666
I was not referring specifically to gamemaker. I was referring to applications in general.
The same principles can carry over from one language to another fairly well.
Yes and no.
if you look at a C program, then yes, a few things can be carried over.
Look at c#, java, etc, and again, a couple concepts can be ported over to GM.

But many concepts don't translate directly to GM. Such as the use of objects being a little different.

Of course you will learn verybuseful things. But I believe there is still a need for more opens source GM projects.
 
Yes and no.
if you look at a C program, then yes, a few things can be carried over.
Look at c#, java, etc, and again, a couple concepts can be ported over to GM.

But many concepts don't translate directly to GM. Such as the use of objects being a little different.

Of course you will learn verybuseful things. But I believe there is still a need for more opens source GM projects.
I do not understand what you are trying to get at here?
I am not saying everything should be taken literally with 100% coverage from one standard to another.
I am saying good coding practices can be learned and picked up from various locations other than gamemaker.


I didn't think I would have to quantify everything so specifically, so let me edit my previous quotes for you? I underlined the edits.

"I was not referring specifically to gamemaker. I was referring to applications in general.
The same principles can usually carry over from one language to another fairly well."

"I would really recommend getting your hands on any sort of open source project in a language you are familiar with.
This can include or not include gamemaker projects.
This can help you see different architectures that have been used and how they were able to scale well.
If you wanna shoot me a PM or anything, I would be more than willing to help."
 

Zerb Games

Member
Watch @Fel666's videos... Something important though is to properly structure your code. Use comments, plenty of them. Make sure to properly indent on the correct lines, and terminate your statements even if it's not needed. If you can, don't copy and paste code repeatedly, make a script instead, saves time, and makes your code look cleaner.

Also, don't use a lot of if statements in your code if you don't need to, use a switch statement if you need a lot of if's. Or use a finite state machine if you have a lot of different "states," and object can be in, like a player swimming v.s. running for example.
 

GMWolf

aka fel666
I do not understand what you are trying to get at here?
I am not saying everything should be taken literally with 100% coverage from one standard to another.
I am saying good coding practices can be learned and picked up from various locations other than gamemaker.


I didn't think I would have to quantify everything so specifically, so let me edit my previous quotes for you? I underlined the edits.

"I was not referring specifically to gamemaker. I was referring to applications in general.
The same principles can usually carry over from one language to another fairly well."

"I would really recommend getting your hands on any sort of open source project in a language you are familiar with.
This can include or not include gamemaker projects.
This can help you see different architectures that have been used and how they were able to scale well.
If you wanna shoot me a PM or anything, I would be more than willing to help."
yes :rolleyes: I didnt read it all that carfully, and yes, as i stated afterwards, you are correct :)
Reading code, no matter the language, will always help you improve your own.
I wasnt trying to say you where wrong, just elaborating on it :)

I just feel like there are a lot of constructs that are hard to get a feel for in GM. Things such as the way objects should be handeld in GM.
When reading OO code, you may want to create an object interface. This is the reason many people have asked for 'object scripts' in GM.
[editing later]
 
yes :rolleyes: I didnt read it all that carfully, and yes, as i stated afterwards, you are correct :)
Reading code, no matter the language, will always help you improve your own.
I wasnt trying to say you where wrong, just elaborating on it :)

I just feel like there are a lot of constructs that are hard to get a feel for in GM. Things such as the way objects should be handeld in GM.
When reading OO code, you may want to create an object interface. This is the reason many people have asked for 'object scripts' in GM.
[editing later]
Definitely agree. I think what can help the most in gamemaker is having an understanding of object oriented functional programming languages, since that's how most of gamemaker behaves.
 

Schwee

Member
@Online Handle Do you have any specific open source games in mind I could look at? A metroidvania or platformer would be best I imagine. Also, I am actually very familiar with OOP, and somewhat familiar with how those concepts translate to GM. I understand the concept of creating abstract objects with base code that can be parented or w/e, but I'm not sure how to apply that knowledge properly just yet.

@Zerb Games Done, done, and done! The first thing I am doing to get back into the swing of things is going through all my existing code and commenting just about every single line. And I always use the ; to terminate out of habit. The next thing I will be doing after commenting is figuring out more about how I can utilize scripts. I can see a few simple examples where I have code copy/pasted, but I am also interested in attempting to reuse more logic if necessary for other enemies and what not. Also, could you elaborate on a state machine? So far, all of my states are setup via nested if/elseif/else statements.
 
@Online Handle Do you have any specific open source games in mind I could look at? A metroidvania or platformer would be best I imagine. Also, I am actually very familiar with OOP, and somewhat familiar with how those concepts translate to GM. I understand the concept of creating abstract objects with base code that can be parented or w/e, but I'm not sure how to apply that knowledge properly just yet.

@Zerb Games Done, done, and done! The first thing I am doing to get back into the swing of things is going through all my existing code and commenting just about every single line. And I always use the ; to terminate out of habit. The next thing I will be doing after commenting is figuring out more about how I can utilize scripts. I can see a few simple examples where I have code copy/pasted, but I am also interested in attempting to reuse more logic if necessary for other enemies and what not. Also, could you elaborate on a state machine? So far, all of my states are setup via nested if/elseif/else statements.
Found a good thread here: https://forums.tigsource.com/index.php?topic=15906.0

Although, I have not looked through any of them, so I cannot confirm with certainty.
 
Top