Author [EN] [PL] [ES] [PT] [IT] [DE] [FR] [NL] [TR] [SR] [AR] [RU] [ID] Topic: I hate Game Maker  (Read 2664 times)

0 Members and 1 Guest are viewing this topic.

Offline TheouAegis

  • Amateur Auteur of GMvania
  • Master Hunter
  • *****
  • Posts: 1860
  • 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:
I hate Game Maker
« on: November 11, 2011, 10:42:50 PM »
0
Sure, it probably makes sense to someone who actually programs, but it seems counter-intuitive to me.

From the Game Maker Manual, and I quote:
Quote
Room start: This event happens for all instances initially in a room when the room starts. It happens after the creation events.

Now, when you phrase it that way -- "Room Start" -- it seems much more logical that it is processed after the object creation events. However, elsewhere in another, very important place in GM, it's called a room "Creation code". Logically, the room would be created before the objects put inside of it, wouldn't it? I mean, aside from God creating light without celestial bodies to produce the light, the whole of the universe was created before the plants, animals and humans were put in it. You don't make an omelet without first taking out a skillet or frying pan. You don't make perfume without first making a vial to mix the chemicals in.

But apparently you can make objects without first making a room that they're made in. This pretty much renders the Room Start event nearly useless. This caused me so many headaches, trying to set unique values for instances.

And oh the joys of reading the manual! I then stumbled upon this line of scripture as well:
Quote
In the pop-up menu when you right click on an instance with the <Ctrl> key you can now indicate some creation code for the specific instance. This code is executed when the room is started, just before the creation event of the instance is executed. This is very useful to e.g. set certain parameters that are specific to the instance.

 ...

*chucks his laptop against the wall*

Edit: Anyone else notice in that last quote it says the room is started before object creation? What the hell, Mark?!
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 X

  • Xenocide
  • Master Hunter
  • *****
  • Posts: 9361
  • Gender: Male
  • Awards SuperOld Dungeonite: Members who have been around since the oldOLD days. The Unfazed: Never loses his/her calm, even in the most heated arguments. The Retro Gamer: Has a heated passion for the oldschool VG Titles.
    • Awards
  • Favorite Game: Super Castlevania IV (SNES)
  • Likes:
Re: I hate Game Maker
« Reply #1 on: November 11, 2011, 11:51:44 PM »
0
I've read the instructions too, but couldn't make heads or tails out of any of it. That's one of the reasons I gave up on this. RPGMaker 2003 was a hell of a lot easier then Game Maker.
"Spirituality is God's gift to humanity...
Religion is Man's flawed interpretation of Spirituality given back to humanity..."

Offline Kale

  • The Ophidian Lord
  • Master Hunter
  • *****
  • Posts: 2838
  • 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: I hate Game Maker
« Reply #2 on: November 13, 2011, 03:48:54 AM »
0
I'm not sure how GM works,... but think of the room as an object. So everything is an object: a character, a room, an enemy. When you think of it like that, it doesn't matter what is made first.

Offline Aridale

  • Master Hunter
  • *****
  • Posts: 4193
  • 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: I hate Game Maker
« Reply #3 on: November 13, 2011, 10:20:38 AM »
0
the room creation code is to set variables differently on objects of the same type. Instead of havin 2 of the same enemy objects but one walks to the left when its made and the other to the right you can have just ONE object and in its creation code in the room assign it to walk left or right

Its for setting object values that shouldnt be set in its own creation code because it needs to or should be different from each instance of that object

Its really hard to use tho cause cause if you assign the value in the objects creation code... even if you its just initializing it that will overwrite the room creation code. So what I do is I make the variables in the objects creation code and comment em out so I can still see em when Im lookin at the object. Then in the room creation code I assign em. And everything works fine

Offline TheouAegis

  • Amateur Auteur of GMvania
  • Master Hunter
  • *****
  • Posts: 1860
  • 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: I hate Game Maker
« Reply #4 on: November 13, 2011, 01:12:27 PM »
0
Well I discovered/learned last night that the Creation Code for objects (not the Create event) can be used for declaring variables just like in the Create event. For example, I deleted the variable "drop" from all candles, torches and lanterns, as well as their parent object. I then used the Creation Code for each instance to assign "drop = obj_Heart" or "drop = obj_Knife" or whatever. When I destroyed the candles, they dropped whatever I had assigned in "drop", so it was obvious that worked even though it wasn't a declared variable. So then all you really need to worry about is making sure you don't declare any variables in the Create event that you will want assigned in the Creation Code.

I'll have to make a slight change in my enemy code for the Bone Pillars because of this... Or you could use a conditional in the Create event, such as, using my candles as an example, "if !variable_local_exists("drop") drop=obj_Heart".
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

Tags:
 

anything