Jump to content


Photo

Game Maker Suggestions


  • This topic is locked This topic is locked
1162 replies to this topic

#1051 Big J

Big J

    GMC Member

  • GMC Member
  • 2852 posts
  • Version:GM8.1

Posted 14 March 2012 - 09:48 PM

My suggestion for a new networking API was meant for GameMaker 9, not GMS. I don't think it is even possible to make a cross-platform networking API.

Linux and Mac don't have TCP/IP, UDP, or Sockets? I really don't know much about cross-platform networking, but it seems silly to me that a Windows machine could not network with a Linux machine or a Mac machine.
  • 0

#1052 kikjezrous

kikjezrous

    Seer of Spaaace

  • GMC Member
  • 637 posts
  • Version:GM8.1

Posted 15 March 2012 - 02:05 PM

Nonsense! I'm doing it right now!
  • 0

#1053 Plastic

Plastic

    GMC Member

  • New Member
  • 28 posts
  • Version:GM7

Posted 15 March 2012 - 04:25 PM

What I meant with cross-platform networking, I meant working for Windows, Mac, Linux, Android, iOS, etc.
But as I only work with windows, it would be nice to have working, updated build-in multiplayer functions.

Edit: I would also like an option to set a isometric grid in the path and tile editor, to make it easier to make isometric games.

Edited by Plastic, 01 April 2012 - 06:18 PM.

  • 0

#1054 kikjezrous

kikjezrous

    Seer of Spaaace

  • GMC Member
  • 637 posts
  • Version:GM8.1

Posted 15 March 2012 - 07:38 PM

Script Mode: Removes the DnD toolbar, and replaces the drag and drop region with a place to write code. Essentially removes a bunch of steps and wasted space when all there is in your game is one code per action.
  • 0

#1055 Dark Matter

Dark Matter

    RPG Expert

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

Posted 16 March 2012 - 06:51 AM

Script Mode: Removes the DnD toolbar, and replaces the drag and drop region with a place to write code. Essentially removes a bunch of steps and wasted space when all there is in your game is one code per action.

Again, a suggestion mentioned at least 100 times before. If people even just checked the last two pages or so, we'd skip out all these repeated suggestions.
  • 0

#1056 kikjezrous

kikjezrous

    Seer of Spaaace

  • GMC Member
  • 637 posts
  • Version:GM8.1

Posted 16 March 2012 - 05:58 PM

I'm so, sooo sorry! *runs away sobbing*
  • 0

#1057 GStick

GStick

    All Secrets Exposed

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

Posted 17 March 2012 - 05:00 PM

Okay, I know this was ... sort of? mentioned previously and there was a long discussion about a similar idea... but I'd rather keep it simple:

Pass by reference.

Simple enough as doing it the way C# has it too, and since GM is a bit dynamic about all you would need is...
// some code stuff
my_script(ref variable);
This would be awfully nice to have right about... now. :whistle:
  • 0

#1058 IceMetalPunk

IceMetalPunk

    InfiniteIMPerfection

  • GMC Elder
  • 9603 posts
  • Version:GM:Studio

Posted 18 March 2012 - 05:46 AM

Okay, I know this was ... sort of? mentioned previously and there was a long discussion about a similar idea... but I'd rather keep it simple:

Pass by reference.

Simple enough as doing it the way C# has it too, and since GM is a bit dynamic about all you would need is...

// some code stuff
my_script(ref variable);
This would be awfully nice to have right about... now. :whistle:

Yes, it's been requested, and yes, it would be useful. You could just pass the variable name as a string and use the variable_*_set() function, but that's cumbersome. It's the only way now, though, and I don't foresee YYG adding pass-by-reference or pointers anytime soon (they think it would be "too complicated" for new users, and judging from the Novice Q&A forum, I'm inclined to agree).

-IMP
  • 0

#1059 Dark Matter

Dark Matter

    RPG Expert

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

Posted 18 March 2012 - 08:37 AM


Okay, I know this was ... sort of? mentioned previously and there was a long discussion about a similar idea... but I'd rather keep it simple:

Pass by reference.

Simple enough as doing it the way C# has it too, and since GM is a bit dynamic about all you would need is...

// some code stuff
my_script(ref variable);
This would be awfully nice to have right about... now. :whistle:

Yes, it's been requested, and yes, it would be useful. You could just pass the variable name as a string and use the variable_*_set() function, but that's cumbersome. It's the only way now, though, and I don't foresee YYG adding pass-by-reference or pointers anytime soon (they think it would be "too complicated" for new users, and judging from the Novice Q&A forum, I'm inclined to agree).

-IMP

Many things are too complicated for beginning - like data structures or surfaces. The point is, you're supposed to be able to advance on to more complicated things - beginners just shouldn't use it until they're ready.
  • 1

#1060 Yal

Yal

    デーモン猫ガール

  • Global Moderators
  • 9466 posts
  • Version:GM:Studio

Posted 20 March 2012 - 12:42 PM

Aren't controller objects usually made without a sprite? In that case, they would probably be excluded from collision checks.

As far as I know, collision checks are only performed for objects that have collision events (so Game Maker won't check everything's collisions with everything; that would be a really bad idea, since the workload would grow with the square of object resources) so as long as your controller don't have any collision events, it won't waste any CPU via collision checking.

What we need is the ability to execute code one LINE at a time.

It's quite possible to do that if you put show_message() calls between the lines you want to debug.
  • 0

#1061 Dark Matter

Dark Matter

    RPG Expert

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

Posted 20 March 2012 - 09:43 PM

What we need is the ability to execute code one LINE at a time.

It's quite possible to do that if you put show_message() calls between the lines you want to debug.

Break points are slightly different, and are slightly better and more flexible to use.
  • 0

#1062 Blake

Blake

    GMC Member

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

Posted 29 March 2012 - 12:20 PM

mp_grid_find_cell(id,h,v);

So that I don't have to build a replica of the grid in a 2d array just to check whether a cell is free or not! :thumbsup:
  • 0

#1063 kikjezrous

kikjezrous

    Seer of Spaaace

  • GMC Member
  • 637 posts
  • Version:GM8.1

Posted 05 April 2012 - 01:01 PM

*linuxcough*
  • 1

#1064 TheMagicNumber

TheMagicNumber

    GMC Member

  • GMC Member
  • 5247 posts
  • Version:Unknown

Posted 08 April 2012 - 12:41 AM

*linuxcough*

It's not worth it. It would be low priority if it was even considered.
  • 0

#1065 kikjezrous

kikjezrous

    Seer of Spaaace

  • GMC Member
  • 637 posts
  • Version:GM8.1

Posted 08 April 2012 - 09:17 PM

*sniff* It's worth it to me!
  • 0

#1066 IsmAvatar

IsmAvatar

    Good Samaritan

  • GMC Member
  • 2411 posts
  • Version:GM8

Posted 10 April 2012 - 03:26 AM

Is it worth $25 to you?

Also, there's always LateralGM :-p
  • 0

#1067 kikjezrous

kikjezrous

    Seer of Spaaace

  • GMC Member
  • 637 posts
  • Version:GM8.1

Posted 10 April 2012 - 11:45 AM

Wait, what?
  • 0

#1068 Samuel Venable

Samuel Venable

    GMC Member

  • Banned Users
  • 632 posts
  • Version:GM:Studio

Posted 10 April 2012 - 02:10 PM

if you dont know what LateralGM is then google it.

#1069 kikjezrous

kikjezrous

    Seer of Spaaace

  • GMC Member
  • 637 posts
  • Version:GM8.1

Posted 10 April 2012 - 06:22 PM

No, what do you mean by 'is it worth 25 bucks to you'?
  • 0

#1070 Pixlator

Pixlator

    GMC Member

  • New Member
  • 24 posts
  • Version:Unknown

Posted 12 April 2012 - 12:14 AM

I have compiled a small list of functions that could be very useful to a lot of people:

Spoiler

  • 0

#1071 Big J

Big J

    GMC Member

  • GMC Member
  • 2852 posts
  • Version:GM8.1

Posted 12 April 2012 - 02:45 AM

I have compiled a small list of functions that could be very useful to a lot of people:

draw_set_depth(): Not needed. Every instance has a "depth" variable that determines when it will be drawn. Instead of draw_set_depth(n), use depth = n. This will change its drawing order for the next frame.

Array sorting: This is what lists are for. ds_list_sort(id, ascending)

mouse_in_circle():
//mouse_in_circle(x1, y1, radius)
return point_distance(argument0, argument1, mouse_x, mouse_y) <= argument2;

mouse_in_rectangle():
//mouse_in_rectangle(x1, y1, x2, y2)
return (mouse_x >= argument0 && mouse_x <= argument2 && mouse_y >= argument1 && mouse_y <= argument3);

collision_triangle: http://www.gmlscript...lision_triangle

I do admit, a native collision_triangle() function would be awesome.
  • 0

#1072 kikjezrous

kikjezrous

    Seer of Spaaace

  • GMC Member
  • 637 posts
  • Version:GM8.1

Posted 12 April 2012 - 12:42 PM

I approve draw_set_depth, but instead of having a mouse_circle and the other one, why don't we have a native function(s) that check if a point is within the circle [rectangle]. Or out of it. I know it's simple, I have it in nearly all my games, but why not have a native version of it [them]?
  • 1

#1073 Samuel Venable

Samuel Venable

    GMC Member

  • Banned Users
  • 632 posts
  • Version:GM:Studio

Posted 12 April 2012 - 04:40 PM

^I pressed it for the heck of it, since linux support is like the only other computer OS that still isn't supported :)

#1074 kikjezrous

kikjezrous

    Seer of Spaaace

  • GMC Member
  • 637 posts
  • Version:GM8.1

Posted 12 April 2012 - 06:52 PM

Heh, thanks! You may have been the first one to have just had an impulse like that! +1 to you.
  • 0

#1075 Samuel Venable

Samuel Venable

    GMC Member

  • Banned Users
  • 632 posts
  • Version:GM:Studio

Posted 12 April 2012 - 07:03 PM

thx! your awesome. :)

back on topic.
there needs to be a java applet and flash export at least some point in the distant future. Html5 doesnt provide the same ad capabilities that flash and java provide. as it would make GM a cheap alternative to unity 3D.

#1076 IceMetalPunk

IceMetalPunk

    InfiniteIMPerfection

  • GMC Elder
  • 9603 posts
  • Version:GM:Studio

Posted 12 April 2012 - 07:48 PM

Html5 doesnt provide the same ad capabilities that flash and java provide

Um...yes, it does. Why doesn't it? Flash and Java are, for the most part, in the process of being phased out of most new browsers in favor of HTML5. Name one thing Flash and/or Java can do that HTML5 can't.

-IMP
  • 0

#1077 Pixlator

Pixlator

    GMC Member

  • New Member
  • 24 posts
  • Version:Unknown

Posted 13 April 2012 - 08:48 PM

Okay so that list I made were recommended functions. Although I would only use a few of them.
Such as: draw_set_depth(depth); and instance_nth_nearest(x,y,obj,nth);

Would setting depth = n help with drawing each sprite on a separate depth in each frame? (probably huh?)
Never tried it, it seemed to simple to work. XD

Technically the mouse_rect() I could go without. Also same with mouse_circ();
Afterall you could use this script mouse_circ:
//Actual distance formula. If you mix up the points like x1-x2,y1-y2 instead of x2-x1,y2-y1 error is returned: "cannot divide by 0", better use the distance function ^_^ 
return sqrt(sqr(argument0 - argument2) - sqr(argument1 - argument3))
or
//distance function between 2 points obviously. :P
return point_distance(argument0,argument1,argument2,argument3)

Me ranting:
Spoiler


@Big J:
The point of the mouse_rect and mouse_circ is to be able to check if the mouse was either inside or outside of the rectangle or circle. So instead you would use this code:
Spoiler


Finally overall I think this would be the most helpful thing game maker could have:
Preferences: (Check Box) On start import resources.
That way if you have scripts you make or sprites or objects you make that could be used over and over and over and over again Game Maker will automatically import the resource file they are in into Game Maker so that they are ready to go!

Then a define script section in the scripts pallet. So that (like a function) you can set the names of arguments to show when the edit box pops (Check code while typing...) up in Game Maker when adding a script to your code.
For example:
Spoiler


EDIT: I edited this post nearly 10 times lol. :tongue:
EDIT: Is it illegal to have a post this long? Or to edit a post more than 20 times?

Edited by Pixlator, 13 April 2012 - 09:24 PM.

  • 0

#1078 Desert Dog

Desert Dog

    GMC Member

  • GMC Elder
  • 6409 posts
  • Version:Unknown

Posted 13 April 2012 - 09:12 PM

Would setting depth = n help with drawing each sprite on a separate depth in each frame? (probably huh?)
Never tried it, it seemed to simple to work. XD


It doesn't, and unfortunately, your 'wish' isn't going to happen. You can't change the drawing depth mid draw event!

Imagine you've got a piece of paper. And a bunch of stamps (or stickers). You place one down, and you place others, and some you overlay ontop of others, and then you pick up one, and you want to place it underneath a stamp that's already there.
Can't be done.

That's the same with the drawing screen (for 2d, anyway) you've got this canvas, and you've got a bit list of objects, ordered by their depth, and then the command goes out, and bam-bam-bam, everythings getting layered down. You can't suddenly come to a sprite, and be like 'oh, want this one drawn under these ones!

instance_nth_nearest(x,y,obj,nth) would be handy, though, and entirely possible.
  • 0

#1079 IceMetalPunk

IceMetalPunk

    InfiniteIMPerfection

  • GMC Elder
  • 9603 posts
  • Version:GM:Studio

Posted 13 April 2012 - 09:26 PM

Would setting depth = n help with drawing each sprite on a separate depth in each frame? (probably huh?)
Never tried it, it seemed to simple to work. XD


It doesn't, and unfortunately, your 'wish' isn't going to happen. You can't change the drawing depth mid draw event!

Imagine you've got a piece of paper. And a bunch of stamps (or stickers). You place one down, and you place others, and some you overlay ontop of others, and then you pick up one, and you want to place it underneath a stamp that's already there.
Can't be done.

That's the same with the drawing screen (for 2d, anyway) you've got this canvas, and you've got a bit list of objects, ordered by their depth, and then the command goes out, and bam-bam-bam, everythings getting layered down. You can't suddenly come to a sprite, and be like 'oh, want this one drawn under these ones!

That's mostly right, but it's not entirely true. Such a thing could be done easily (coding-wise) by using a z-buffer for each depth used in a step, and only compositing the z-buffers once all instances have completed their DRAW events.

The problem is that while it's possible and easy, it's also highly inefficient. It would require a lot of VRAM and extra processing that would do nothing but burden GM as it executes your program. So it probably won't ever happen.

-IMP
  • 0

#1080 Big J

Big J

    GMC Member

  • GMC Member
  • 2852 posts
  • Version:GM8.1

Posted 13 April 2012 - 09:39 PM

Yeah changing depth mid draw cannot be done, and as IMP mentioned in so many words, faking it using a Z-Buffer in 2D would be overkill.
  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users