Author [EN] [PL] [ES] [PT] [IT] [DE] [FR] [NL] [TR] [SR] [AR] [RU] [ID] Topic: Since so many people here seem to use game maker.....  (Read 36167 times)

0 Members and 1 Guest are viewing this topic.

Offline Claimh Solais

  • Ronove the Radical
  • Master Hunter
  • *****
  • Posts: 2421
  • Gender: Male
  • GO FIGHT!!
  • Awards The Great Defender will always defend the object of his or her fandom. Permanent Resident: Seems to always be around to post/reply.
    • Claimh Solais
    • Awards
  • Favorite Game: Castlevania: The DraculaX Chronicles (PSP)
  • Likes:
Re: Since so many people here seem to use game maker.....
« Reply #30 on: June 08, 2011, 10:31:26 AM »
0
Please be more specific, Kale. There are numerous games made on Game Maker out there. I don't have any downloaded anymore other than Super Castlevania III and Inccubus' Demon Castle stage 1 test. A lot of them were rather forgettable, too, and played terribly.
Currently Playing: Resident Evil 2 [N64]
Games Beaten This Year (2020): 20 Games

Offline Aridale

  • Master Hunter
  • *****
  • Posts: 4192
  • Gender: Male
  • =D
  • Awards Permanent Resident: Seems to always be around to post/reply. Hack Master makes creations out of CV parts. (S)he makes Dr. Frankenstein proud.
    • Awards
  • Favorite Game: Castlevania II: Simon's Quest (NES)
  • Likes:
Re: Since so many people here seem to use game maker.....
« Reply #31 on: June 08, 2011, 11:43:26 AM »
0
if you played a well made game made with game maker odds are you wouldnt ever know the difference unless someone told you

Offline Claimh Solais

  • Ronove the Radical
  • Master Hunter
  • *****
  • Posts: 2421
  • Gender: Male
  • GO FIGHT!!
  • Awards The Great Defender will always defend the object of his or her fandom. Permanent Resident: Seems to always be around to post/reply.
    • Claimh Solais
    • Awards
  • Favorite Game: Castlevania: The DraculaX Chronicles (PSP)
  • Likes:
Re: Since so many people here seem to use game maker.....
« Reply #32 on: June 08, 2011, 12:40:13 PM »
0
Well made, but I didn't necessarily like them. I'm not sure what you mean by difference.
Currently Playing: Resident Evil 2 [N64]
Games Beaten This Year (2020): 20 Games

Offline Kale

  • The Ophidian Lord
  • Master Hunter
  • *****
  • Posts: 2837
  • Gender: Male
  • Awards One-Time Show: Not quite a lurker, but posts infrequently and in only few areas. Permanent Resident: Seems to always be around to post/reply.
    • Awards
  • Likes:
Re: Since so many people here seem to use game maker.....
« Reply #33 on: June 08, 2011, 01:00:09 PM »
0
He means, if it's made well, then you can't tell if someone used GM to make it or not.

That said... Super Castlevania 3?


Can you guys name some more?

Offline Claimh Solais

  • Ronove the Radical
  • Master Hunter
  • *****
  • Posts: 2421
  • Gender: Male
  • GO FIGHT!!
  • Awards The Great Defender will always defend the object of his or her fandom. Permanent Resident: Seems to always be around to post/reply.
    • Claimh Solais
    • Awards
  • Favorite Game: Castlevania: The DraculaX Chronicles (PSP)
  • Likes:
Re: Since so many people here seem to use game maker.....
« Reply #34 on: June 08, 2011, 01:24:16 PM »
0
Well, there's also the fact that it has the GM loadup thing also.

SCV3 isn't done yet, nor is it a big game at the moment, about 26MB, so... yeah. That's three stages and two characters. I can imagine when it's done being about... I dunno, 130?

But SCV3 and another game called The Adventures of Kyoob are the only two GM games I can name off the top of my head. I remember a card battler one, but I don't remember the name.
Currently Playing: Resident Evil 2 [N64]
Games Beaten This Year (2020): 20 Games

Offline Aridale

  • Master Hunter
  • *****
  • Posts: 4192
  • Gender: Male
  • =D
  • Awards Permanent Resident: Seems to always be around to post/reply. Hack Master makes creations out of CV parts. (S)he makes Dr. Frankenstein proud.
    • Awards
  • Favorite Game: Castlevania II: Simon's Quest (NES)
  • Likes:
Re: Since so many people here seem to use game maker.....
« Reply #35 on: June 08, 2011, 09:34:20 PM »
0
well if someone left the GM loading splash and bar in their game they released they probably didnt do too good a job in other areas either...

Offline TheouAegis

  • Amateur Auteur of GMvania
  • Master Hunter
  • *****
  • Posts: 1861
  • Gender: Male
  • Awards The Retro Gamer: Has a heated passion for the oldschool VG Titles. The Great Defender will always defend the object of his or her fandom. Hack Master makes creations out of CV parts. (S)he makes Dr. Frankenstein proud.
    • GMvania Developer's Blog
    • Awards
  • Likes:
Re: Since so many people here seem to use game maker.....
« Reply #36 on: June 08, 2011, 09:58:10 PM »
0
The loading screen is entirely customizable. If you disable it, GM games look like any other computer game when loading up.

Which brings me to my next tip: Use splash screens for preloading resources and setting global variables. My CV3 engine currently sets variables in a transition room, but I'll probably change that later and handle that in the Konami logo screen room.

Also, on the issue of resources: Delete them when they're no longer needed. Eases the RAM.

On the topic of movement, you really do need to use your own movement engine. GM's is just bad, in my opinion. Once you start using a custom movement script, you'll never want to use GM's again. Check out the Grandma Platformer Engine, which has one of the more popular custom styles.

Also, collision detection is so much easier with collision_line() and collision_rectangle(), although you have to be careful with them as they are as slow or even slower than place_meeting(). Collision_point() is useful too, but most of the time you'll need to check more than a single point. You just have to be careful not to call them when not needed, so imbed them inside complex conditionals (like in my engine).
« Last Edit: June 08, 2011, 10:07:40 PM by TheouAegis »
Your mom has had more floppies put in her than a Commodore 64!


Follow my lack of progress on my game at my blog:
http://gmvania.blogspot.com

Offline Claimh Solais

  • Ronove the Radical
  • Master Hunter
  • *****
  • Posts: 2421
  • Gender: Male
  • GO FIGHT!!
  • Awards The Great Defender will always defend the object of his or her fandom. Permanent Resident: Seems to always be around to post/reply.
    • Claimh Solais
    • Awards
  • Favorite Game: Castlevania: The DraculaX Chronicles (PSP)
  • Likes:
Re: Since so many people here seem to use game maker.....
« Reply #37 on: June 08, 2011, 11:45:39 PM »
0
The loading screen is entirely customizable. If you disable it, GM games look like any other computer game when loading up.

Everyone that I've downloaded a game from leaves it exactly the same, and the games always show up in a 320x240 window on my screen. There's also a fadeout everytime you walk into a a new area (but that can be confused with MMF2).

But believe me, I'll know a GM game when I see one. ^.^

Speaking of which, I'm learning code to use this thing. It sounds sw33t from what you all have been doing with it.
Currently Playing: Resident Evil 2 [N64]
Games Beaten This Year (2020): 20 Games

Offline Esco

  • In SERIOUS need of sprite help for the SOTN HACKED engine! PM me please if you can help.
  • Forgotten One
  • Legendary Hunter
  • ****
  • Posts: 506
  • Gender: Male
  • Awards Hack Master makes creations out of CV parts. (S)he makes Dr. Frankenstein proud.
    • Awards
  • Favorite Game: Castlevania: Symphony of the Night (PS1/SS)
  • Likes:
Re: Since so many people here seem to use game maker.....
« Reply #38 on: June 09, 2011, 03:37:40 AM »
0
The loading screen is entirely customizable. If you disable it, GM games look like any other computer game when loading up.

Which brings me to my next tip: Use splash screens for preloading resources and setting global variables. My CV3 engine currently sets variables in a transition room, but I'll probably change that later and handle that in the Konami logo screen room.

Also, on the issue of resources: Delete them when they're no longer needed. Eases the RAM.

On the topic of movement, you really do need to use your own movement engine. GM's is just bad, in my opinion. Once you start using a custom movement script, you'll never want to use GM's again. Check out the Grandma Platformer Engine, which has one of the more popular custom styles.

Also, collision detection is so much easier with collision_line() and collision_rectangle(), although you have to be careful with them as they are as slow or even slower than place_meeting(). Collision_point() is useful too, but most of the time you'll need to check more than a single point. You just have to be careful not to call them when not needed, so imbed them inside complex conditionals (like in my engine).

Figures.... I see your post, after I made another LONG one asking for help on the gm forums.

Thanks for the advice, I will try to follow it. Can you give me a few small examples of using those collision variables? And how do I "delete resources" in game, and is there any way to delete some of those variables that are always declared by GM but that I will not be using?
- Esco... the original New Yurican and creator of the Castlevania: SOTN Hacked Engine!

Link to the blog for the "hack:" http://sotnhacked.wordpress.com

Offline Aridale

  • Master Hunter
  • *****
  • Posts: 4192
  • Gender: Male
  • =D
  • Awards Permanent Resident: Seems to always be around to post/reply. Hack Master makes creations out of CV parts. (S)he makes Dr. Frankenstein proud.
    • Awards
  • Favorite Game: Castlevania II: Simon's Quest (NES)
  • Likes:
Re: Since so many people here seem to use game maker.....
« Reply #39 on: June 09, 2011, 11:56:22 AM »
0
unless its something your loading thru code you shouldnt have to worry about clean up in GM cause its all handled for ya. If a rooms not set to persistent everything in that room is cleared from memory when your no longer in that room. That includes any objects not persistent and graphics sounds etc. And when the game ends its all flushed as well. The only time you specifically need to worry about it is if you use a DLL that has a deinit function then you should use that deinit in the game end event. But if your using Extensions (better in every way than dlls with scripts) as long as whoever made the extension setup its deinit function if it has one then itll be run automatically just like any init functions

Offline Esco

  • In SERIOUS need of sprite help for the SOTN HACKED engine! PM me please if you can help.
  • Forgotten One
  • Legendary Hunter
  • ****
  • Posts: 506
  • Gender: Male
  • Awards Hack Master makes creations out of CV parts. (S)he makes Dr. Frankenstein proud.
    • Awards
  • Favorite Game: Castlevania: Symphony of the Night (PS1/SS)
  • Likes:
Re: Since so many people here seem to use game maker.....
« Reply #40 on: June 09, 2011, 04:14:39 PM »
0
unless its something your loading thru code you shouldnt have to worry about clean up in GM cause its all handled for ya. If a rooms not set to persistent everything in that room is cleared from memory when your no longer in that room. That includes any objects not persistent and graphics sounds etc. And when the game ends its all flushed as well. The only time you specifically need to worry about it is if you use a DLL that has a deinit function then you should use that deinit in the game end event. But if your using Extensions (better in every way than dlls with scripts) as long as whoever made the extension setup its deinit function if it has one then itll be run automatically just like any init functions

So far the only DLL I have is one for using ogg music. And I haven't even tested it yet; I haven't gotten that far with my lessons yet. :)
In fact I am still trying to get collisions to work. The bottom, top and right sides work but not the left side for some reason; my character can still get stuck when jumping near the wall. Here is my current file if ANYONE wants to take a look and help: http://www.mediafire...zkzf17d5bzeszk7

Thanks for the info though, that makes things easier for me. The reason I am concerned so much about performance is that we have quite a few small common enemies like skeleton that when killed spawn about 6-10 pieces to be used in their death animation. And this can quickly become a LOT of sprites when you take solid objects used for collision with walls into account. SOTN can sometimes have about 90 sprites on screen (for the enemies and player things) so I want to make sure I code this in a way that there are not performance issues.

On the good side of things: so far I have coded richter to be EXACTLY like SOTN, walking, running, jumping, and dashing wise. Down to the very image_speeds it is an exact duplicate.

*First I had to set the gamemaker version to 60 fps
*Then for the image speeds I just take 1/image_speed in the original game
*And for actual movement it is SOTN speed/65536

Nice and simple.

I am also thinking of making the collision for richter (with solid blocks) a separate sprite that is glued to him. It would give me a LOT more flexibility with him (this is done in symphony of the night, and as you can see it is VERY effective).

« Last Edit: June 09, 2011, 04:41:41 PM by Esco »
- Esco... the original New Yurican and creator of the Castlevania: SOTN Hacked Engine!

Link to the blog for the "hack:" http://sotnhacked.wordpress.com

Offline Aridale

  • Master Hunter
  • *****
  • Posts: 4192
  • Gender: Male
  • =D
  • Awards Permanent Resident: Seems to always be around to post/reply. Hack Master makes creations out of CV parts. (S)he makes Dr. Frankenstein proud.
    • Awards
  • Favorite Game: Castlevania II: Simon's Quest (NES)
  • Likes:
Re: Since so many people here seem to use game maker.....
« Reply #41 on: June 09, 2011, 10:17:59 PM »
0
that links jacked up. Paste the one without the file name included.

As far as collisions for animated objects goes you need to have a mask. The mask needs to be rectangular and roughly outline the sprite. If the sprites origin is in the center (it should be centered on the x axis but either on the bottom or top of the sprite on the y axis) then make sure your mask is the same number of pixels width on each side of the center (if its 12x32 and centered make sure theres 6 on each side of the middle) You can be 1 or maybe 2 off center and it might not effect the getting stuck in stuff but its best if its centered. You can assign this mask sprite to the object itself or you can switch between multiple masks based on whatever in the code (stand,duck,jump,etc)

The mask is what will control all collisions for the object and its far easier than tryin to use collision data in the sprites. Ill check out your file if you get a workin link up

Offline TheouAegis

  • Amateur Auteur of GMvania
  • Master Hunter
  • *****
  • Posts: 1861
  • Gender: Male
  • Awards The Retro Gamer: Has a heated passion for the oldschool VG Titles. The Great Defender will always defend the object of his or her fandom. Hack Master makes creations out of CV parts. (S)he makes Dr. Frankenstein proud.
    • GMvania Developer's Blog
    • Awards
  • Likes:
Re: Since so many people here seem to use game maker.....
« Reply #42 on: June 09, 2011, 11:10:52 PM »
0
I don't use masks. GM8 has much more flexibility in sprite collisions. I set bounding boxes for each sprite and use the dimensions of the bounding boxes for setting the coordinates in collision_line and collision_rectangle. Sure, there is the problem of bbox_left and bbox_right changing when image_xscale=-1, but that's easily compensated for (although I'm still tweaking the universal code). However, you cannot change bounding boxes mid-game or have multiple bounding  boxes in a sprite, like you can with masks, so you do need to spend more resources on additional sprites in order to share their bounding boxes. However, you're already spending resources on the masks if you use masks, so I think the trade-off is fair.

Keep also in mind that the sprite's origin affects position when image_xscale or image_yscale is negated. A sprite with origin (0,0) will be rotated around its very left edge, whereas a 16x16 sprite with its origin at (8,8) will be rotated around its middle. What this means is a sprite with its origin centered will stay in place when flipped, but a sprite with its origin at (0,0) will appear to jump when flipped.

Beware place_meeting() and collision_rectangle() check the entire box, so if there is even a single pixel collision, it passes as true (or returns an ID, which makes it "true" basically). The thing to be aware of especially with collision_rectangle() is that the check collisions IN AND AROUND the parameters. So collision_rectangle(bbox_left,bbox_top,bbox_left,bbox_bottom,obj_wall) will check a 16x16 sprite with a full bounding box to see if any obj_wall bounding box is present between (-1,-1) and (16,16). Keep in mind that a 16x16 sprite has a bbox_bottom of 15, not 16. This means the very bottom row of pixels will not collide.
Your mom has had more floppies put in her than a Commodore 64!


Follow my lack of progress on my game at my blog:
http://gmvania.blogspot.com

Offline Esco

  • In SERIOUS need of sprite help for the SOTN HACKED engine! PM me please if you can help.
  • Forgotten One
  • Legendary Hunter
  • ****
  • Posts: 506
  • Gender: Male
  • Awards Hack Master makes creations out of CV parts. (S)he makes Dr. Frankenstein proud.
    • Awards
  • Favorite Game: Castlevania: Symphony of the Night (PS1/SS)
  • Likes:
Re: Since so many people here seem to use game maker.....
« Reply #43 on: June 10, 2011, 02:32:46 AM »
0
that links jacked up. Paste the one without the file name included.

As far as collisions for animated objects goes you need to have a mask. The mask needs to be rectangular and roughly outline the sprite. If the sprites origin is in the center (it should be centered on the x axis but either on the bottom or top of the sprite on the y axis) then make sure your mask is the same number of pixels width on each side of the center (if its 12x32 and centered make sure theres 6 on each side of the middle) You can be 1 or maybe 2 off center and it might not effect the getting stuck in stuff but its best if its centered. You can assign this mask sprite to the object itself or you can switch between multiple masks based on whatever in the code (stand,duck,jump,etc)

The mask is what will control all collisions for the object and its far easier than tryin to use collision data in the sprites. Ill check out your file if you get a workin link up

Well for the most part I FINALLY got collisions working, but if you test the file out as you can see there are still some issues (which I could use help with).

For collisions with things like solid objects that represent tiles, I created a separate red box object to be used (which seems to be what you mentioned too), and aligned it properly to the player based on what frame and action he is taking. It's bed time for me, so right now the only actions the hitbox is set up accurately for is walking, standing still and running

Anyway, here is my file... I tested this link, so I know that it works this time: http://www.mediafire.com/?cb39hdp3yarknv3

By all means if you have any advice or things that will help, I would be more than happy to check them out. I am still very green to this whole GM thing, but so far I like it a LOT. And the sooner I get this basic stuff done, the sooner I can get to the fun stuff. Next I have to figure out how to set up damage type collision between sprites, and getting one object to create another when it is destroyed. And I should probably figure out how to change rooms and pause the game too. lol
« Last Edit: June 10, 2011, 10:03:15 AM by Esco »
- Esco... the original New Yurican and creator of the Castlevania: SOTN Hacked Engine!

Link to the blog for the "hack:" http://sotnhacked.wordpress.com

Offline Aridale

  • Master Hunter
  • *****
  • Posts: 4192
  • Gender: Male
  • =D
  • Awards Permanent Resident: Seems to always be around to post/reply. Hack Master makes creations out of CV parts. (S)he makes Dr. Frankenstein proud.
    • Awards
  • Favorite Game: Castlevania II: Simon's Quest (NES)
  • Likes:
Re: Since so many people here seem to use game maker.....
« Reply #44 on: June 10, 2011, 11:57:07 AM »
0
invalid or deleted file do you have it set as private?

For pausing thats easy. In your main controller object (the one that controls major aspects of the game and should be separate from your player object) make a var for pause. Since the games either paused or its not a boolean value is perfect. GM doesnt specifically let you make bools but you since you can name vars however you want as long as it doesnt start with a number you can prefix a var with a 'b' to show that its a boolean value. So Id name it bPaused

Then in the step event do a keyboard_check_released (or pressed but never ever just check cause that runs as long as the keys pressed. Released is best cause it happens when the player lets go of the key after pressing it) all you have to do is bPaused = not bPaused. When you define bPause in the create event for the controller object it should be false.

Then in every object that should be effected by pausing the game in its step event put if ControlObject.bPaused break;

You could even make it a global by defining it as global.bPaused then you just access with global.bPaused regardless of object

Tags:
 

anything