GMLscripts.com

Discuss and collaborate on GML scripts

You are not logged in.

#41 2009-09-05 06:57:51

Flatlander
Member
Registered: 2009-09-03
Posts: 9

Re: GM8 - Things that work differently than GM7

Mark is really ploughing through the bug reports now.

His comment for report 370 says, "... In GM9 we will most likely redo the whole graphics."
http://gm8.yoyogames.com/view.php?id=370

Any idea what he has in mind?

Last edited by Flatlander (2009-09-05 11:55:11)

Offline

#42 2009-09-05 13:32:25

flexaplex
Member
Registered: 2008-12-11
Posts: 72

Re: GM8 - Things that work differently than GM7

Yes he is making his way through a lot, I think he is planning to get through all the reports before the next BETA release which is great. There is not actually that many left now, if he keeps up this rate it shouldn't take that long.

Some of his reports have been on a slightly more positive note this time. He has commented that a lot of suggestions could be good to implement but that he is not planning on altering things for this version, so there is at least hope that some of these things could be implemented in the future. Most of these are commonly known suggestions which most people would like to see.

These include:

Redo of graphics system. So far mentioned the possibility of adding option to disable bilinear filtering.
Changing to arrays. So far mentioned making arrays passable and extended possibilities when initializing arrays .
Short-circuiting expressions.
Ability to have var declaration without using a semi-colon.
Extending the debugging mechanism.
Script, DLL api and gm functions be able to return multiple values via arguments parameters.
Tile count and tile found functions

I don't wish to guess what will be implemented in GM9 or not though, there could be all sorts of changes/improvements/additions in GM9 given the rewrite and new blood in YYG's looking and working with the source. I also wouldn't want to take a guess at how long it will be before it is released, however I am thinking it will probably be quite a long while.

There are couple more old bugs/glitches fixed:

- The draw_path bug has been fixed: http://www.gmlscripts.com/forums/viewtopic.php?id=1629

Mark actually said the issue was it not drawing beyond 4000 pixels not the amount of points. I never thought of it being the distance but I should of really because in the example file it actually draws a bit past the point when the bug kicks in, it's obvious now. I will update that soon.

- Mark's fixed a small glitch with show_message_ext: http://gmc.yoyogames.com/index.php?showtopic=424954

- Mark's fixed a small glitch with evaluating 0.5 as true in expressions. Ie in the case of this code:

if (0.5)
{
show_message("This isn't shown");
}
else if !(0.5)
{
show_message("This isn't shown either");
}

Also a few little changes:

- About a bug report on closing the debugger:

I anyway changed the working of the close button in the debug form. It will no longer stop the game, only close the debug window.

- Also Mark said he added a suggestion of mine which is a zoom feature in the new mask properties window. I had a good feeling that suggestion would get through.

There have still been a lot of suggestions shot down though (a lot of them were Icuurds). Some noticeable ones for me are:

- Unfortunately he said he does not plan on changing mod so it has proper cyclic behaviour with negatives. Saying it behaves this way in many programming languages, which is true but annoying in all of them in my opinion. I would fight against this call but I doubt he would change it any way as he said he doesn't really plan on changing gml in this version. In the next version beta release I will bring it up again, just got to live with it in the mean time.

- He also rejected the notion of changing # to \n for the new line mechanism. He agreed it would be better but said it would not be worth the incompatibility with previous versions.

- The suggestion for an argument_count variable has been dismissed. Though he did not specify his reasons for this.

Last edited by flexaplex (2009-09-06 15:14:17)

Offline

#43 2009-09-07 07:52:40

xot
Registered: 2007-08-18
Posts: 1,201

Re: GM8 - Things that work differently than GM7

- The suggestion for an argument_count variable has been dismissed. Though he did not specify his reasons for this.

Yeah, I just noticed its status had finally changed. I'm not at all surprised by the resolution.

I won't change this. If you want to make a script with a variable number of arguments the best way to do it is to supply as the first argument the number of arguments.

From other comments, it seems like the GML interpreter is pretty convoluted, and I can easily see how Game Maker might be structured to always pass a fixed number of arguments internally. It may not be any more possible to detect which arguments are intended, particularly in the case D&D, than it is from GML.

The suggested cure remains lame. At least it's not as bad as it was when we only had 12 arguments. Another birthday ruined!!!

Abusing forum power since 1986.

Offline

#44 2009-09-07 13:57:46

flexaplex
Member
Registered: 2008-12-11
Posts: 72

Re: GM8 - Things that work differently than GM7

Well I've learnt more from Marks remarks that things work different internally than what I thought they did. I guess I should not have been making presumptions about the mechanism GM uses. Mark has said they plan to do a lot of speedups of code in the next version of Game Maker though, maybe if we're lucky the functionality will also change to allow this to be possible.

Offline

#45 2009-09-09 14:30:49

Flatlander
Member
Registered: 2009-09-03
Posts: 9

Re: GM8 - Things that work differently than GM7

"I am not going to try to solve this for GM8 because GM9 will almost certainly use C++ for the runner. We will then probably redo a lot of the graphics code (also to speed it up)."
http://gm8.yoyogames.com/view.php?id=638

I thought he had already done that (C++) in GM8, hence the 'speed increase' in the 'what's new'?

Last edited by Flatlander (2009-09-09 14:31:20)

Offline

#46 2009-09-09 15:26:01

xot
Registered: 2007-08-18
Posts: 1,201

Re: GM8 - Things that work differently than GM7

I think the speed increase is probably from some minor optimizations to the existing interpreter. Because of the way GML works, it wouldn't take much improvement to make a huge difference on code heavy games. Simply recoding the interpreter in C++ without other changes probably wouldn't have a significant overall effect.

There is a C++ runner for Windows, but I don't believe it has been released. I have every reason to believe the GM8 is almost identical to GM7 in every way. I'm not sure if Mac GM8 uses a C++ runner or not. I'm guessing not. The IDE is certainly still strictly Delphi/Object Pascal.

I do know that part of challenge for the Mac runner is the lack of DirectX. I wouldn't doubt they are finding it difficult to efficiently emulate certain DirectX functions on the Mac. For performance reasons and maximum compatibility across platforms (which YoYo seems to be committed to), GM is going to have to go through some major changes. I believe the next major GM release will almost certainly be SDL/OpenGL based (or maybe SFML/OpenGL). I expect GM8 to be the last of its kind.

I believe that Mark's unwillingness to tackle certain feature requests in GM8 is also a good indication that the next version of GM will be major overhall, probably completely rewritten from the ground up, making it an even bigger change than what happened between GM5 and GM6, maybe the biggest change ever.

Another indication of big changes ahead for GM9 are YoYo's stated desire to get Game Maker games running on iPhone. The Apple iPhone SDK won't allow GM games in their current form. YoYo will have to remove critical features from GM to ever get on iPhone. The iPhone SDK forbids executing external applications as well as any kind of access to interpreted languages other than those provided by Apple's API. That means no more dynamic objects, timelines, or triggers; no more execute_string or execute_file; no execute_program or execute_shell, no script_add (which might appear in GM9); no more anything that can add code to a game. It also means that YoYo Games Instant Play will never appear on iPhone.

http://wikileaks.org/leak/iphone-sdk-agreement.pdf

Apple iPhone SDK wrote:

3.3.2 An Application may not itself install or launch other executable code by any
means, including without limitation through the use of a plug-in architecture, calling other
frameworks, other APIs or otherwise. No interpreted code may be downloaded and used in
an Application except for code that is interpreted and run by Apple's Published APIs and builtin
interpreter(s).

This limitation has wide ranging implications and leaves Apple open to anti-trust lawsuits, ala Microsoft and Internet Explorer. The only web browsers that are allowed on iPhone are one's that use WebKit. That means Apple's own Safari or Google's Chrome. No Firefox, no Opera, no Internet Explorer, or any other browsers that don't use WebKit.

It also means: no Python, no Ruby, no Lua, no Lisp, no Java, no PHP, no Perl, no Flash, no SCUMMVM, no Z Engine, no Sierra AGI, no 8-bit computer emulators that include BASIC, no Photoshop, no Excel, no Word, no -- well, a person could go on forever.

Abusing forum power since 1986.

Offline

#47 2009-09-09 16:12:05

xot
Registered: 2007-08-18
Posts: 1,201

Re: GM8 - Things that work differently than GM7

I just saw this with regard to some long lingering graphic issues:
http://gm8.yoyogames.com/view.php?id=638

Mark Overmars wrote:

I am not going to try to solve this for GM8 because GM9 will almost certainly use C++ for the runner. We will then probably redo a lot of the graphics code (also to speed it up).

Sandy has also just updated the Glog with some more information about GM for Mac and the future of Game Maker.

http://glog.yoyogames.com/?p=561

Some choice quotes:

Sandy Duncan wrote:

2. On a more significant note (technically speaking) weve made substantial progress on the size of the files.  The Maker is down to less than 20MB (unzipped) from 56MB and the Runner is now more manageable at less than 8MB (down from 40MB  !).  We can make them even smaller by removing PPC support, but weve chosen not to do that yet.

Sandy Duncan wrote:

@greg24 Hello Marc is working hard on GM8 bug fixes..in fact I know he has it down to a very manageable number. GM4Mac is just the start, We are at a very exciting point for YoYo and Game Maker. Hopefully we can make a lot of announcements in the next few weeks and months, but for now youll need to be happy with GM4Mac and GM8 this yearlots more coming though.

LostOverThere  wrote:

Looking great! Although I too am not a Mac user, I cant wait to be able to port my projects across to OSX. Hopefully this project will encourage someone to port GM across to Linux at one point as well

Sandy Duncan wrote:

@lostovertheremaybe someday.

Sandy Duncan wrote:

@dadio OpenGL definite possibility for both Mac AND PC in future.more (much) later this year.

Abusing forum power since 1986.

Offline

#48 2009-09-09 22:03:07

icuurd12b42
Member
Registered: 2008-12-11
Posts: 303

Re: GM8 - Things that work differently than GM7

Personally, I think the MAC port is a waste of time... Unless it opens the possibility for iPhone, even then, if I have to buy a mac or mac os emulator for vista if there is such a thing, to make a iphone game, it's a waste of time..

I can't understand why they did not put all their efforts in gm8 eh, gm9, first and then do a port. The Mac though good, is not regarded as a gaming platform... So, down the line, people making game maker games usually have a PC...

Frankly, I find their development a bit slow too... It's been 2 years now... How long does it take to clone GM's pascal source to c++?

If I was a paid programmer working on GM c++, I'm prety sure I'd have a beta gm c++ by now.

It's like they have one guy doing everything... yoyo site, plugin, gm9 and gm mac...

Offline

#49 2009-09-10 02:57:56

xot
Registered: 2007-08-18
Posts: 1,201

Re: GM8 - Things that work differently than GM7

It's like they have one guy doing everything... yoyo site, plugin, gm9 and gm mac...

I think that's probably accurate. YoYo is a very small outfit. I get the impression that there are three or four very small teams.

Mark Overmars is apparently working on GM8 for Windows alone.

Another small team is working on the C++ runner. It has been in private beta for many months now.

This team or another maintain the servers and/or the plug-ins.

A third party, perhaps one person, is working on the Mac port. I recall that development of GM4Mac was stalled for several months because of mysterious problems with their allegedly Delphi-compatible Mac development tools.

At least one of the YoYo founders (James North-Hearn aka YoYoJim) has moved on to other things.

Personally, I'm glad to be getting GM8 if only for the fixes to bugs we've had to live with a last two-and-a-half years. Those fixes would have been better two years ago, but I'll take what I can get.

GM9 is a long way off. There won't be any iPhone development until then.

Abusing forum power since 1986.

Offline

#50 2009-09-12 08:29:18

flexaplex
Member
Registered: 2008-12-11
Posts: 72

Re: GM8 - Things that work differently than GM7

Well Mark's finished going through all the reports now. Other notable bug fixes are the double collisions and ds_grid bugs. some more have not really been solved but just documented in the manual.

I will update all the bug topics when GM8 is fully released. Would it be possible please xot to sort all the bug topics out here properly into the Game Maker Bugs forum before the GM8 release? Or have you not managed to find an adequate way of doing so?

Offline

#51 2009-09-12 09:23:22

xot
Registered: 2007-08-18
Posts: 1,201

Re: GM8 - Things that work differently than GM7

859 issues resolved! Way to go, Mark. As lacking as Mantis bug tracker is, it's been so nice to have truly open beta testing. The previous disconnect between reports, acknowlegement, and fixes has been a problem for a long time.

Looks like beta 3 will be released right on time, if not early.

I'll see about moving those topics for you, flexaplex.

Abusing forum power since 1986.

Offline

#52 2009-09-17 09:15:11

xot
Registered: 2007-08-18
Posts: 1,201

Re: GM8 - Things that work differently than GM7

Just saw this in a report pointed out in a GMC thread about Beta 2.

Mark Overmars wrote:

I did not even realize GM supported multiline strings. Pretty nice.

I find that highly amusing.

http://gm8.yoyogames.com/view.php?id=691

Abusing forum power since 1986.

Offline

#53 2010-02-14 08:58:56

xot
Registered: 2007-08-18
Posts: 1,201

Re: GM8 - Things that work differently than GM7

I've finally updated the online copy of the GM8 Help File from Beta 2 to the final release. Most of the changes between the two are typographical in nature. In a number of places things have been clarified. There are also a few new features as well which I'll list below.

Abusing forum power since 1986.

Offline

#54 2010-02-14 09:41:29

xot
Registered: 2007-08-18
Posts: 1,201

Re: GM8 - Things that work differently than GM7

GML > GAME PLAY > MISCELLANEOUS VARIABLES AND FUNCTIONS

debug_mode This read-only variable indicates whether the game is running in debug mode.

Finally, you can use the following function to set the title of the application:

set_application_title(title) Sets the title of the application to the given string. The title is for example shown in the task bar.

Abusing forum power since 1986.

Offline

#55 2010-02-14 09:41:53

xot
Registered: 2007-08-18
Posts: 1,201

Re: GM8 - Things that work differently than GM7

GML > USER INTERACTION > THE MOUSE

The following functions can be used to check whether the mouse wheel was used.

mouse_wheel_up() Returns whether the mouse wheel was moved up since the last step.
mouse_wheel_down() Returns whether the mouse wheel was moved down since the last step.

Abusing forum power since 1986.

Offline

#56 2010-02-14 09:42:08

xot
Registered: 2007-08-18
Posts: 1,201

Re: GM8 - Things that work differently than GM7

GML > SPLASH SCREENS, HIGHSCORES AND OTHER POP-UPS

splash_set_position(x,y) Sets the position of the splash window. This only has effect when is a separate normal splash window is used. Default Windows determines the position.

Abusing forum power since 1986.

Offline

#57 2010-02-14 09:42:15

xot
Registered: 2007-08-18
Posts: 1,201

Re: GM8 - Things that work differently than GM7

GML > FILES, REGISTRY, AND EXECUTING PROGRAMS > FILES

file_text_eoln(fileid) Returns whether we reached the end of a line in the file.

Abusing forum power since 1986.

Offline

#58 2010-02-14 13:24:11

paul23
Member
Registered: 2007-10-17
Posts: 110

Re: GM8 - Things that work differently than GM7

Really wondering what that last function actually does? - Won't file_text_read always read till the end of line?

Offline

#59 2010-02-14 18:06:46

xot
Registered: 2007-08-18
Posts: 1,201

Re: GM8 - Things that work differently than GM7

That's a good question. If the old bug reports were still online we could probably find some rationale for it. I'm pretty sure it's to supplement the file_text_read_real() function. It would also be useful if file_text_read_string() has a limited buffer size like ini_read_string() does.

Abusing forum power since 1986.

Offline

#60 2010-02-15 06:03:36

xDanielx
Member
Registered: 2009-01-02
Posts: 38

Re: GM8 - Things that work differently than GM7

debug_mode This read-only variable indicates whether the game is running in debug mode.

Better late than never...

Offline