Jump to content


Photo

Gm 7.0 Extension Maker


  • Please log in to reply
50 replies to this topic

#1 Mark Overmars

Mark Overmars

    Game Maker Creator

  • YoYo Games Staff
  • 805 posts
  • Version:Unknown

Posted 24 February 2007 - 02:47 PM

I put the new extension maker program for version 7.0 of Game Maker on the site:

http://www.yoyogames...make/extensions

It will create the packages require for Game Maker 7.0 as it will be released in a few days time. Please download it and check it out. Note though that it definitely is not bullet proof and I know of some errors.

Please don't forget to read the readme, license, and help files. You will need the information in there.

I hope the extension mechanism will lead to a large number of important packages.

Note that the mechanism is much more powerful then people might think at first sight. For example, assume you want to create a clock package. You can add some nice image files of clocks. Create some scripts that create sprites out of these and that creates a clock object with the correct behavior, and add an action library that calls the scripts. The user would then probably just need to include one action with a few parameters to always have a clock visible on the screen.

Mark
  • 0

#2 tangibleLime

tangibleLime

    Lunatic

  • GMC Elder
  • 2520 posts
  • Version:GM:HTML5

Posted 24 February 2007 - 02:56 PM

Ok, I'm just checking: Will extensions made with this be able to be edited with the (upcoming?) version of this extension maker?
  • 0

#3 Daniel-Dane

Daniel-Dane

    GMC Member

  • New Member
  • 3581 posts

Posted 24 February 2007 - 02:57 PM

Yay, now I can realize my "GMC package" dream.

@Roach: This is most likely the (pre)final version.

I really wanted to test this out. But it seems that I've lost my ClipCursor() DLL :).

Edited by Daniel-Dane, 24 February 2007 - 03:08 PM.

  • 0

#4 tangibleLime

tangibleLime

    Lunatic

  • GMC Elder
  • 2520 posts
  • Version:GM:HTML5

Posted 24 February 2007 - 03:06 PM

Hm... roachext could be ~300 functions, so I don't want to start until I know it's going to work.
  • 0

#5 Daniel-Dane

Daniel-Dane

    GMC Member

  • New Member
  • 3581 posts

Posted 24 February 2007 - 03:07 PM

Hm... roachext could be ~300 functions, so I don't want to start until I know it's going to work.

<{POST_SNAPBACK}>

Are you putting all your creations into one extension?
  • 0

#6 tangibleLime

tangibleLime

    Lunatic

  • GMC Elder
  • 2520 posts
  • Version:GM:HTML5

Posted 24 February 2007 - 03:10 PM

Yup. And possibly more.

Edited by Roach, 02 March 2007 - 03:03 AM.

  • 0

#7 bluemagica

bluemagica

    Grand Wizard

  • New Member
  • 3243 posts

Posted 24 February 2007 - 03:16 PM

Wow, Mark......I love this!! But will this package be updated? cause at the site it says "Note that these programs are not supported in any way."
  • 0

#8 coolist

coolist

    The Coolist

  • New Member
  • 913 posts

Posted 24 February 2007 - 06:12 PM

hey not bad mark! Ill use it when gm7 comes out

-coolist
  • 0

#9 warriorccc0

warriorccc0

    GMC Member

  • Banned Users
  • 740 posts

Posted 24 February 2007 - 06:51 PM

hmm ya it would be good but like bluemagica said will it be updated? You said it had some errors so I believe you will update it for less errors....

#10 benoit.rouleau

benoit.rouleau

    GMC Member

  • GMC Member
  • 1533 posts
  • Version:GM:Studio

Posted 25 February 2007 - 02:53 AM

Sweet program! It could be a little more user-friendly, but hey, it's for advanced uses. Good work Mr. Overmars!
  • 0

#11 Ace

Ace

    GMC Member

  • GMC Member
  • 372 posts

Posted 25 February 2007 - 04:12 AM

Can you implement a way to extract the script names from GM7 so they can be imported into the Extention Maker? Maybe do it in a similar way of exporting scripts, exporting only the script names instead?

It would save a TON of work for already existing DLLs and GML scripts. Otherwise, older DLLs and Scripts would be a pain to implement in GM7!

Edited by Ace, 25 February 2007 - 04:13 AM.

  • 0

#12 IsmAvatar

IsmAvatar

    Good Samaritan

  • GMC Member
  • 2411 posts
  • Version:GM8

Posted 25 February 2007 - 04:28 AM

Wow, Mark......I love this!! But will this package be updated? cause at the site it says "Note that these programs are not supported in any way."

He also said that about the Library Maker, and it hasn't been updated (or at least, the latest update still says it). That just means that he doesn't provide support for it if any problems arise or any bugs are found - use at your own risk.

Edited by IsmAvatar, 25 February 2007 - 04:29 AM.

  • 0

#13 Mark Overmars

Mark Overmars

    Game Maker Creator

  • YoYo Games Staff
  • 805 posts
  • Version:Unknown

Posted 25 February 2007 - 05:43 PM

They current version will be final for the current release of Game Maker 7.0. I will most likely work on a slightly improved version in the near future. But of course I will keep that compatible with the current version. So you can start working on your packages now, although you have to wait a few days before you can test them.

Concerning importing function names, the problem is that there is not enough information in GML script definitions. In particular the arguments are not specified. I recommend you to put all the function names in a text file (in the way described in the help file) and then use the button to import them. When you have many functions this is actually faster than entering them directly into the Extension Maker.

(One of the major problems with the current version of the Extension Maker is that it stores full paths in the description file. Hence, you cannot give the description file to somebody else or move the whole package that you are working on to a different folder. However, if there are just a few files that is not such a big deal because you can change the locations of the files in the interface.)

Mark
  • 0

#14 Ace

Ace

    GMC Member

  • GMC Member
  • 372 posts

Posted 25 February 2007 - 06:07 PM

Concerning importing function names, the problem is that there is not enough information in GML script definitions. In particular the arguments are not specified. I recommend you to put all the function names in a text file (in the way described in the help file) and then use the button to import them. When you have many functions this is actually faster than entering them directly into the Extension Maker.

(One of the major problems with the current version of the Extension Maker is that it stores full paths in the description file. Hence, you cannot give the description file to somebody else or move the whole package that you are working on to a different folder. However, if there are just a few files that is not such a big deal because you can change the locations of the files in the interface.)

Mark

<{POST_SNAPBACK}>



I agree with the problem of arguments, but if one could at least export the names of the functions from GM to a text file with basic formatting, it would be easy to append the arguments to that text file and save a load of work to import existing script names into Extention Maker.

Also, would it ever be possible to define custom events with the Extention Maker? Since one can define global constants that are usable in the editor now, wouldn't it be possible to predefine universal conditional events for use in objects as well? Maybe you'd use the Other Event's user events to implement this? If not, could it be done more easily with conditional Timelines instead?

In a similar way, could it be possible to have external sprite resources choosing which ones would need to be loaded at the start of the game, but still allow them to be visible in the GM editor while building the game? Or would this be better approached by providing a path to an external sprite instead of storing it in GM?
  • 0

#15 Yourself

Yourself

    The Ultimate Pronoun

  • GMC Elder
  • 7352 posts
  • Version:Unknown

Posted 25 February 2007 - 06:15 PM

Since one can define global constants that are usable in the editor now, wouldn't it be possible to predefine universal conditional events for use in objects as well?


That doesn't make any sense. Events are nothing like global constants.
  • 0

#16 Daniel-Dane

Daniel-Dane

    GMC Member

  • New Member
  • 3581 posts

Posted 25 February 2007 - 06:20 PM

Isn't it already possible to create events? I didn't see it in the lib builder but I've tried opening a custom lib example with an "unknown something" in the event. It could have been corrupted, what do I know.
  • 0

#17 i_forget

i_forget

    GMC Member

  • New Member
  • 347 posts

Posted 25 February 2007 - 09:00 PM

That's because you did not have the lib.
  • 0

#18 Gupocca

Gupocca

    Artist

  • GMC Member
  • 644 posts
  • Version:Unknown

Posted 25 February 2007 - 09:06 PM

This updated version looks great! I like how you put the LibBuilder and the Extension Maker together.
  • 0

#19 Ace

Ace

    GMC Member

  • GMC Member
  • 372 posts

Posted 26 February 2007 - 02:11 AM

Since one can define global constants that are usable in the editor now, wouldn't it be possible to predefine universal conditional events for use in objects as well?


That doesn't make any sense. Events are nothing like global constants.

<{POST_SNAPBACK}>



What I meant was that they could be included in the editor when editing objects just like constants. In other words, they can be defined and used while making your game in a similar way to constants, except instead, they are conditionals instead of return values.

They could be selected through the other event popup menu because they would be included in the editor (once again, similar to a predefined constant, but instead they are predefined conditionals that would be useable in any object in the editor.)

If objects have many common events, such as some common states or flags, this would save time in both project development, and in highly repetitive code interpretation.

It would be very useful to include conditional Other Events in a similar way that you can include constants, and have them available through the GM Object Editor.

Does this make sense now?
  • 0

#20 Yourself

Yourself

    The Ultimate Pronoun

  • GMC Elder
  • 7352 posts
  • Version:Unknown

Posted 26 February 2007 - 02:34 AM

Not really, no. Defining a custom event type wouldn't be anything like defining a constant. If you do define such a conditional, where does GM evaluate that conditional? What scope does that conditional get evaluated in? What order are they executed in?

More importantly, why couldn't you just used the user defined events already in Game Maker?

Besides all this, an event defined in this way would undoubtedly be much slower than those built into Game Maker, since a conditional would have to be interpreted.
  • 0

#21 Ansgar

Ansgar

    OM Studios

  • New Member
  • 333 posts

Posted 26 February 2007 - 03:53 PM

Am I right that it's currently not possible to make a constants-only extension package without including any (gml) file? It could be nice for some commonly used sets of constants, for example colors. Just a suggestion.

EDIT: Reply to Mark's post below: Well, that's true. I guess I was just thinking too perfectionistly (if this word exists...).

Edited by Ansgar, 26 February 2007 - 06:30 PM.

  • 0

#22 Mark Overmars

Mark Overmars

    Game Maker Creator

  • YoYo Games Staff
  • 805 posts
  • Version:Unknown

Posted 26 February 2007 - 05:49 PM

You can include an empty GML file if you only want to define constants.

Concerning other events. You can create an object that in its Step event does something like

{
  if (condition0)  { with (all) event_perform(ev_other,ev_user0); }
  if (condition1)  { with (all) event_perform(ev_other,ev_user1); }
  if (condition2)  { with (all) event_perform(ev_other,ev_user2); }
  ...
}

Place one persistent instance of this object in the first room and from now on for all instances of all object you can let the user events react to the conditions. (One warning, don't do this when you have a huge number of instances of objects. In that case you better only call it for the important objects.)

Mark
  • 0

#23 Invero

Invero

    GMC Member

  • GMC Member
  • 212 posts

Posted 26 February 2007 - 11:35 PM

Hi there This is awesome ;)
But I have 1 question my friend who has gamemaker 6.1 reg cant run the demo version he says it wont work on his pc but it works just fine on my computer :S. ....
Whats wrong with his gamemaker ?
  • 0

#24 Ace

Ace

    GMC Member

  • GMC Member
  • 372 posts

Posted 26 February 2007 - 11:45 PM

Not really, no.  Defining a custom event type wouldn't be anything like defining a constant.  If you do define such a conditional, where does GM evaluate that conditional?  What scope does that conditional get evaluated in?  What order are they executed in?

More importantly, why couldn't you just used the user defined events already in Game Maker?

Besides all this, an event defined in this way would undoubtedly be much slower than those built into Game Maker, since a conditional would have to be interpreted.

<{POST_SNAPBACK}>




I see your point about the slower interpretation of GML conditionals. The reason I asked is because I'd like to develop some form of a finite state machine (FSM), or heirarchal state machine (HSM) within game maker, and I thought this might allow the freedom to do so. However, it does have its faults.

What about implementing some form of a state controller for objects? The closest thing I've come up with in enhancing GM's ability to do this through the editor is using the current timeline mechanism, but it's a bit akward coding-wise since it's not made specifically for this.

If only Timelines could be set to loop through the editor. It would be even better if its length of time could be determined by some form of a conditional statement.
  • 0

#25 dhuyd

dhuyd

    GMC Member

  • GMC Member
  • 265 posts
  • Version:GM:Studio

Posted 26 February 2007 - 11:59 PM

The great thing about the extension is if you click on other you can add any file
  • 0

#26 dhuyd

dhuyd

    GMC Member

  • GMC Member
  • 265 posts
  • Version:GM:Studio

Posted 27 February 2007 - 12:07 AM

There isn't any specific folder that you have to have your extensions like you have your libs, right?

Edited by dhuyd, 27 February 2007 - 12:07 AM.

  • 0

#27 Daniel-Dane

Daniel-Dane

    GMC Member

  • New Member
  • 3581 posts

Posted 27 February 2007 - 07:15 AM

When you have extracted the extension it will turn into a self-extractor (not an executable) and install itself in the extensions folder in the Game Maker directory.
  • 0

#28 dhuyd

dhuyd

    GMC Member

  • GMC Member
  • 265 posts
  • Version:GM:Studio

Posted 28 February 2007 - 12:19 AM

Mark,

Have you ever thought of combining Game Maker, Lib Maker, and Extension Maker into one program? :GM006:
  • 0

#29 Quimp

Quimp

    Pretzel fanatic

  • New Member
  • 275 posts

Posted 28 February 2007 - 02:29 AM

I'm wild guessing, that he has. Remember that both the lib maker and the extension maker are not supported.

These programs are not supported in any way
and are only provided for your convenience.
The programs are provided AS IS and all
warranties are disclaimed by the author.
See the license agreement for details.


  • 0

#30 gymnastdaniel5

gymnastdaniel5

    Roboleader

  • GMC Member
  • 1018 posts

Posted 28 February 2007 - 02:48 AM

This really useful I will most likely use it when gm7 comes out!
  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users