ambiera home ambiera home

Ambiera Forum

Discussions, Help and Support.

Create a new account, Search, or Login:
Name:  Password:
Ambiera Forum > CopperCube > Announcements and Showcase
Desktop Resolution Changer CCB
Author Text

srfstudio
Registered User
Quote
2019-12-02 23:40:25

I was getting really annoyed by not being able to change resolution of my game in a standard way so I found a small app on web that seems to do the job. It's called QRes and it's a command line utility to change screen resolution, color depth and refresh rate. I use it only for resolution but I guess it can be used for these other two things also.
I uploaded a working CCB example of the utility, if you haven't solved res-change system for your game (windows-only system) than download & have fun! :)

Hosted on NewGrounds, "changeres.zip" (629.5 kb):
https://www.newgrounds.com/dump/...
Cheers!


Robo
Guest
Quote
2019-12-03 12:19:47

[quote]srfstudio wrote:
I was getting really annoyed by not being able to change resolution of my game in a standard way so I found a small app on web that seems to do the job. It's called QRes and it's a command line utility to change screen resolution, color depth and refresh rate. I use it only for resolution but I guess it can be used for these other two things also.
I uploaded a working CCB example of the utility, if you haven't solved res-change system for your game (windows-only system) than download & have fun! :)

Super nice ! - thanks for that...


just_in_case
Registered User
Quote
2019-12-04 16:48:47

That was really needed... Thanks a Lot :)


count2rfeit
Registered User
Quote
2019-12-05 04:05:48

I'm not sure I would use this. It is a command line utility... so it changes the system screen resolution (I used Qres 10 years ago.. I think I am remembering it right) so if you use it inside a game, you would need a way to change the system resolution back to what it was when you exit the game... or your windows screen will stay at the resolution you changed it to. Also you would have to detect each game players system settings to know what their original resolution was the be able to set it back.
Well, just my thoughts... I could be wrong - as Eeyore would say "I usually am..."


srfstudio
Registered User
Quote
2019-12-05 18:52:34

You’re 100% right, I will update the CCB with ‘original/new resolution’ vars as soon as I find time.
I’m doing a similar thing in my game (https://www.ambiera.com/forum.ph...) with window/fullscreen modes. I’m using ReShade and, since ReShade takes a few seconds to ‘regroup’ after switching window/fullscreen modes, I’ve added a small code that detects resolution changes. When user switches mode the ‘Please wait’ panel blocks screen-view for a few seconds so that ReShade ‘adjustments’ can’t be seen :) This is the code:
var screen_w = ccbGetScreenWidth();
if(screen_w != ccbGetCopperCubeVariable("screen_w_old"))
{ccbSetSceneNodeProperty(ccbGetSceneNodeFromName("FullScreenWait"), "Visible", true); ccbSetCopperCubeVariable("screen_w_old", screen_w); ccbSetCopperCubeVariable("screen_switch", 1);}
var screen_h = ccbGetScreenHeight();
if(screen_h != ccbGetCopperCubeVariable("screen_h_old"))
{ccbSetSceneNodeProperty(ccbGetSceneNodeFromName("FullScreenWait"), "Visible", true); ccbSetCopperCubeVariable("screen_h_old", screen_h); ccbSetCopperCubeVariable("screen_switch", 1);}
The main difference is that I know in what resolution my game always starts but similar thing could be done maybe like this: at the start of the game you pickup native resolution (get w/h of the game-window in fullscreen) and store it, after user clicks any close-the-game button you compare current with native and switch it back if they are different.
The only problem left is if player closes the game from the window-frame or with Alt-F4, I haven’t seen any option in CC to execute actions in case of outside closing. Luckily I’m also using Construct 2 for starter-window so the resolution could be restored to native in case the starter detects that the main game-window has stopped being active.


Robo
Guest
Quote
2019-12-07 12:31:22

I'm a bit ignorant of this stuff in games.

Doesn't CC automatically select the max resolution as the PC monitor by default or does it just use whatever resolution that the monitor was set to when started ?

Why would anyone want to change resolution these days with the powerful graphics card almost everyone has today ?
I am talking for PC users and Mac - I can see the use of changing resolution for web and other formats though so it can run better...

Do you think I need to include a resolution changer for a PC/ Mac game ? and why would anyone need to run inside a boarder (not full screen) these days ?


just_in_case
Registered User
Quote
2019-12-07 13:07:38

most of the time i use Alt or F10 key to pause 2D games as coppercube lacks pause and resume functionality... holding the title bar or windows border will actually pause the game no need to switch between scenes. And this pause and resume functionality or simulation doesn't work if game is running on fullscreen so yup most of the time i use my apps in windowed mode. and i think coppercube only allow 1600X1200 max resolution. maybe am wrong but i think so. it will stretch the game to desktop resolution but not ideal if your scene contains overlays with position mode set as relative.

so i need my user to force play in a fixed resolution.


srfstudio
Registered User
Quote
2019-12-07 13:52:21

To be honest the only reason why I’m implementing the resolution changer is because I’m using ReShade. CC is adopting the currently active desktop resolution when user enters fullscreen mode and my game is between 60-40 fps even on 1920/1080 resolution. I didn't have any problems with 2D overlays when game is resized to HD but, I guess, that could depend on a number of things related to hardware or display adapters.
However, once ReShade gets in, the fps usually drops down for about 10 to 15 fps depending on scene complexity. So if the game runs heavy scene on 40 fps with 1920/1080 res, with active ReShade it can drop from 25 to even 20fps. On lower resolutions, like 1360/768 or 1280/720, and heavy scenes ReShade can keep fps between 30-35 fps which is, I think, satisfactory. This is only related to fullscreen, if in widow mode and active ReShade game always runs 40-55 fps :)

One thing is also important to point out, indie/casual games are games that people usually play while at work (lower-end computers and always running the game in window so that they can minimize them faster), on their older computers because they don’t want to install too many things on their new computer and generally prefer non-install games (single exe/browser) that are under 2gb in weight. Indie/casual market is also very popular with users outside of EU/USA/Russia/Japan that generally have somewhat lower-end computers. I had games that worked fine on my test-computer but had complaints from multiple users that the game is barely playable on their machines.

We, as game developers, are interested in creating a good indie game but the main interest of a indie player is to quickly play a game that doesn’t require installation, ideally can be played in a browser or is under 2gb to download, runs at a reasonable speed and has a window-mode option. That's far from a bad thing, if people like the game they will keep it on their computer, support development and look for news about it but starting-in they will expect easy access, fast-install or no-install, good play experience and low-spec requirements :)


count2rfeit
Registered User
Quote
2019-12-07 17:00:29

One thing is also important to point out, indie/casual games are games that people usually play while at work (lower-end computers and always running the game in window so that they can minimize them faster), on their older computers because they don’t want to install too many things on their new computer and generally prefer non-install games (single exe/browser)


you really seem to have put a lot of time and thought into building your game. When I release a game I have built in CC my first thought is that people will think this VERY outdated (graphics!) but I agree with you... I want to make games that will run well on older or lower end systems.Some people just don't have the money to put into a big time gaming computer and need fun/exciting games THEY can enjoy - and CC can do that...
hats off to you (and all others) for trying!


Create reply:


Posted by: (you are not logged in)


Enter the missing letter in: "Internat?onal" (you are not logged in)


Text:

 

  

Forum Codes


Feature Code
Link [url] www.example.com [/url]
Bold [b]bold text[/b]
Image [img]http://www.example.com/image.jpg[/img]
Quote [quote]quoted text[/quote]
Code [code]source code[/code]

Emoticons


   





Software: Ambiera Light Forum. © 2008-2019 Nikolaus Gebhardt, Ambiera e.U.