Pages: 1
  Print  
Author Topic: Maximum Window Size  (Read 2632 times)
Offline (Male) Goombert
Posted on: February 17, 2014, 01:11:10 AM

Developer
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 3110

View Profile
Well upon doing some testing with TKG's game in ENIGMA, I discovered an anomaly between us and Game Maker. ENIGMA does not limit the size of your Window on desktops, so if you create a game with an empty room 5000x5000 and run it in ENIGMA it will cover your entire display but you will only see a portion of the room because the rest of the window is running off your display.

Now, Game Maker imposes an arbitrary limitation to all its window_set_size/set_region_size and other functions, and even for the default room_width and room_height. It will not allow them to become larger than the display width or height, this is nice as it means somebody who sets their game on a super high resolution that your PC does not accommodate, it won't cut off your task bar when you play their game. This does mean however, that those with dual monitors could potentially not be able to full utilize multiple monitor support? I don't know if that's true or not, if somebody would really want a game stretched out over several monitors.

GayMaker: Studio has the exact same behavior.

Now at any rate, ENIGMA introduces no such limitation as mentioned above, and it can be kind of frustrating for reasons above, but we have a few options.
1) Limit the window size like Game Maker does
2) Not limit the window size and let people do w/e they want
3) Limit the window size only for room_width and room_height then if they want to make a ginormous window with window_set_size they still can

What does everyone think?
« Last Edit: February 17, 2014, 01:30:12 AM by Robert B Colton » Logged
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.

Offline (Unknown gender) Darkstar2
Reply #1 Posted on: February 17, 2014, 01:39:18 AM
Member
Joined: Jan 2014
Posts: 1244

View Profile Email
1) You will have to pay royalty fees to new grouch in town for use of the GayMaker trademark!  ;D

2) I am confused, why would it be a problem making a 5000x5000, isn't that the total room area size, what you are viewing on screen is defined by the view area right.

Example, 5000x5000 room size but view area is 800x600.

Now of course if you don't want to make games that look like crap on your HD monitor, and say want to define a view area at higher resolution / HD resolution, and want to make games where you can scroll left / right / up / down, then you would need massive room sizes.  So it's practical to allow big room sizes. or perhaps I misunderstood you ?

If I wanted to make a massive scroller in full HD, I would sure not be happy if someone imposed limits on me :D
You did not mention view area at all in your post, so that has me even more confused :P  By default it seems room view / port on screen is set to 640x480 regardless of room W / H.  So setting the actual room size at those large sizes far bigger than the actual VIEW area, + follow character, is what allows for some interesting scrollers.

Now if I am not mistaken, GayMaker (yes I have to pay royalty fees too now :D) imposes a room size limit due to the different exports.  Something about boundry limitations on mobile ? Forgot the technical term they used.  So since they use one program to do all, they also impose those limitations to windows even though they are really not necessary (so gay), but they have to because of their one shoe fits all policy. :D  After a certain room size the said games would have erratic behavior / garbled display etc, on mobile ports, but NOT on windows.

So, since ENIGMA is made by people who actually know what they are doing, and since currently you can compile to windows, then those "limits" are really not necessary.   By the time you support other export modules, I am sure you will do the right thing and not do like YoYo did and sacrifice windows features for their exports.




« Last Edit: February 17, 2014, 01:48:06 AM by Darkstar2 » Logged
Offline (Male) Goombert
Reply #2 Posted on: February 17, 2014, 02:22:30 AM

Developer
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 3110

View Profile
Actually what I mean is not that at all, I mean if I create a game in ENIGMA with a room size of 5000x5000 with views disabled and send it to you, when you run it, it will literally create a window 5000x5000 pixels and it will stretch way off your display where you can't click buttons. GM limits the window size but the room size remains the same everything is just scaled then to the window size unless you control it with views. The question at hand is whether we want people creating the actual Win32/XLIB window bigger than the display.
Logged
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.

Offline (Unknown gender) Darkstar2
Reply #3 Posted on: February 17, 2014, 03:06:35 AM
Member
Joined: Jan 2014
Posts: 1244

View Profile Email
Yes views disabled, I see what you mean but wouldn't it be pointless to do that anyway on single displays ?

As to "should we allow it", I would say "Why not ?" , perhaps weigh the pros and cons.   Is there any harm in not setting limits ? Don't most people test their games, if they did something out of the ordinary they would notice wouldn't they ?

Logged
Offline (Male) Goombert
Reply #4 Posted on: February 17, 2014, 10:41:43 AM

Developer
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 3110

View Profile
Yeah but just for safety, I am thinking we should at least do it for the default room size. Then people can still oversize the window with window_set_size if they want. I mean when is the last time you saw a game, even a big name one, stretch over two displays at the same time? Games like Battlefield that have dual monitor support will show the map in one display and the game in the other, but I don't think I've ever seen a case where the same content stretches between two displays.

Here is a depiction of the issue with TKG's game, the red bounds is the size of the actual game window, keep in mind that his game is not in fullscreen mode, views are simply disabled. Notice how it cuts off my taskbar and everything?
Logged
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.

Offline (Male) time-killer-games
Reply #5 Posted on: February 17, 2014, 12:18:45 PM

Contributor
Location: Virginia Beach
Joined: Jan 2013
Posts: 1166

View Profile Email
I think it should work how it does in GM, with it scaling to display size. In GM it does this anyway whether it's in full screen or windowed mode, and I think this is how ENIGMA should behave as well, if anyone wants a game window bigger than a standard display, (anything over 1024x768 IMO) shouldn't be running in windowed mode, it's just not a good practice.

~~EDIT~~

view_xport[], view_yport[], view_wport[], and view_hport[] can still be used in GMS, but even though they aren't technically considered obsolete, they don't do anything in studio, even if in the first room's creation code. These built-in arrays can't at all be set in GML, they can only be set in the first room's view properties for it to have any effect.

So here's my idea, we could add a checkbox in LGM, under the "view" tab's "port on screen" tab, the checkbox being labeled something like "Display port on destination monitor". If checked, there will be a text box beside it, where you can input a number, 0 for the default monitor, 1 for the second, I don't have a dual monitor so idk if this is possible but but the number could be set to 2 and above if that many monitors are detected on the same computer.

I'm right now going to post this as a request on the studio bug tracker, it won't at all surprise me if they add this, I see no reason why they wouldn't. If they do it, we will have this new implementation working in both ENIGMA and GMStudio, thus making the two compatible with this feature. =)

~~EDIT 2~~

Alright, I just finished submitting the bug / wish to the YYG bug tracker. =)
« Last Edit: February 17, 2014, 01:43:38 PM by time-killer-games » Logged
Offline (Male) Goombert
Reply #6 Posted on: February 17, 2014, 12:54:56 PM

Developer
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 3110

View Profile
Yeah I am halfway in between I think we should do at least for the default room size, then if you really want a big ass window that stretches over two displays you can manually override it with window_set_size/window_set_region_size. It would be a slight difference than GM, making these two specific functions not limited, but Studio deprecates them anyway so may as well. But really TKG is right there is no way in hell it should interpret a really large room to equate to a really really large ass window, so I am going to go halfway in-between and just limit the default window that shows up, and again you'll still be able to override it if you want.
Logged
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.

Offline (Male) time-killer-games
Reply #7 Posted on: February 17, 2014, 01:44:16 PM

Contributor
Location: Virginia Beach
Joined: Jan 2013
Posts: 1166

View Profile Email
^Sounds good to me! =)
Logged
Offline (Male) Goombert
Reply #8 Posted on: February 17, 2014, 01:49:06 PM

Developer
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 3110

View Profile
I have addressed this in the following pull request.
https://github.com/enigma-dev/enigma-dev/pull/648
Specifically the following commit.
https://github.com/RobertBColton/enigma-dev/commit/9cd35ed6b3c626025ad7c83017bffffcb83fb0eb
Logged
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.

Offline (Male) time-killer-games
Reply #9 Posted on: February 17, 2014, 02:00:16 PM

Contributor
Location: Virginia Beach
Joined: Jan 2013
Posts: 1166

View Profile Email
That's fantastic! Thanks! =)
Logged
Pages: 1
  Print