[REQUEST] Developer to set FPS

Discussion and feedback on Construct 2

Post » Sat Nov 09, 2013 2:47 pm

@Ashley

Yes, but I think a way to change fps in preview (since it dont make a huge deal, I was worried about user experience and battery mostly), just to see if it is playable at lower fps could be interesting to know (because bejeweled can be played at a lower framerate than touhou project I think, even if this exemple is not applicable on mobile, just to explain)

Also I saw it not like a fixed parameter, but more like an ingame option if the fps go crazy between 35 and 50 for exemple. some users will less notice a constant 30 fps compare to a varying fps that will lead to more difficult control overall.
Game design is all about decomposing the core of your game so it becomes simple instructions.
B
53
S
22
G
18
Posts: 2,122
Reputation: 17,123

Post » Sat Nov 09, 2013 2:56 pm

Shouldn't you be able to cap FPS with the delta time stuff built into C2? I know it would require a lot more programming on the movements and controls. But with the right math, couldn't you control FPS that way?

Either way, I agree with @Ashley. The built in behaviors have built in DT algorithms which will make sure other things should run smoothly. The only that that would change is the frame positioning on graphics refresh. Given the rate at which smart phone are improving, Google's new JS project, Cacoon, improvements in webkit and such, I don't see a reason to limit frame rate. It would do nothing but limit the experience and cause a headache for devs later on with upkeep (unless you don't intend on supporting your game past a few months).
Kurieus
Come visit and play Blast Box!
B
15
S
3
Posts: 205
Reputation: 1,349

Post » Sat Nov 09, 2013 3:09 pm

@Ashley,

I think C2 is awesome with great potential and I hear what youre saying regarding FPS but I have to disagree on the philosophy.

I would like to release games that are be playable on a mobile browser (Kongregate, Clay.io etc) as well as a PC (I see a great audience in people like me who get bored during their working day and would like a moment to escape). Most people in the world do not presently own an iPhone 5 or Galaxy S4 and Im not yet convinced that the majority will have one or better in 2 years time (if my market is teenagers then they are unlikely to own a state of the art piece of hardware). Also, I dont want to wait 2 years to release my game....

It is worth considering that the human eye can discern individual framerate images up to approx 18 fps; above that, humans are just not able to see individual frames. Hence why PAL tv can be piped to millions at 25 fps and no one cares so I dont buy the need for 60 fps as being the only option of quality. What humans are very good at detecting, however, are changes: including those associated with varying velocity (speed and direction) the kind of things that happen when a browser is maxd and the fps varies.

I believe that this should be a decision for the developer and Im asking for the option because I believe that, for the market today, being able to cap FPS at, say, 30 might improve the playability of a game on an average handset that would not cope with doing the same maths at 60 fps. Today I will design for Galaxy S2s and in 2 years I know I will be able to steroid up to the prolific use of quadcore and enjoy 60 fps and 200+ objects without a problem.

This is my only (minor) frustration with C2; the frequent builds and insightful updates are brilliant (as is the community). So, Im just asking for a little dropdown box showing 60/30...

Thanks,

Ed
A big fan of JavaScript.
B
74
S
20
G
71
Posts: 2,230
Reputation: 44,892

Post » Sat Nov 09, 2013 4:42 pm

The human eye can see more than 18fps. Films are made 24fps for smoothness as with the way it projects, that's the point where it starts looking smooth. TVs (NTSC) are 29.9, and people can see the difference between that and 24fps.

Computers are 60hz and most games are 60fps. Many people notice the difference between 30fps and 60fps.


The problem I have with FPS isn't that higher is smoother, is that variable FPS can cause a bad user experience. That being said, it's the developer's responsibility to have specifications on the target hardware and scale the game down accordingly.

HOWEVER, Consoles are framerate limits due to hardware limitations and to ensure smooth operation. They're more concerned with the professional 30/60fps.
Mobile devices are also limited devices that if you can make a game run smoothly at 30fps, but have a hard time meeting 60fps, then there should be an option or a way to limit it.


That doesn't mean to not adjust the graphical load to meet hardware demand, just that framerate limiting is the /last/ step you do.

IMO while there is justification for a FPS limiter, there's no real reason to do so while the market and standards are changing so fast your game might run at 30fps today, but 60fps next week.
Once the field settles, and limitations are being met left and right, then maybe there would be a real reason. (Although a global delta-time multiplier to enforce framerate shouldn't be too hard to implement)

Edit: But this is mostly PC/Browser games. Mobile exports are usually 3rd party so it would be an option for CocoonJS or Phonegap to introduce FR limits to set for apps.Thndr2013-11-09 17:05:14
B
21
S
8
G
6
Posts: 346
Reputation: 4,891

Post » Sat Nov 09, 2013 6:22 pm

Seconding that people can see well more than 18 fps. Many people, including myself, can tell the difference between 60 and 120 fps.
Moderator
B
95
S
34
G
33
Posts: 3,006
Reputation: 27,874

Post » Sat Nov 09, 2013 6:42 pm

Another problem is not all devices use a 60 Hz display. It's common, but it's by no means required. 30 FPS will have an uneven framerate if it doesn't divide nicely in to the refresh rate of a different frequency display, e.g. on a 75 Hz monitor.
Scirra Founder
B
398
S
236
G
88
Posts: 24,428
Reputation: 194,625

Post » Sat Nov 09, 2013 6:50 pm

I honestly would adore the option to cap the framerate. There's a big difference in gameplay comparing "30fps" to "randomly changing between 40-50fps" gameplay.
I have a computer I test with sometimes and when it's running between 40-50fps, I wish I could cap it at 30 to keep it remaining smooth.
The idea of uncapping for benchmarking is pretty nifty too, although not the main focus.
I totally understand the fact that dt makes it so that the game runs the same regardless of framerate, but there certainly is stutter and difference when the framerate is constantly fluctuating.

EDIT: To combat the "What if it ruins the experience for the users with better hardware that CAN fun 60fps", what about (not that I think this is an easy solution or anything) but a Framerate rounder? If the system keeps detecting that the fps is between 40-50, then it would round it down (Exactly like how FRAPS works when you record in a high framerate and then the game experiences lag, it forces the game's framerate down to 30fps)Jase002013-11-09 18:56:49
B
51
S
20
G
10
Posts: 571
Reputation: 9,819

Post » Sat Nov 09, 2013 6:56 pm

I thought 30fps was standard for mobile games o.o
Image
B
243
S
30
G
13
Posts: 1,787
Reputation: 18,770

Post » Sat Nov 09, 2013 7:51 pm

@ Ashley,

Point 1) There are many cases where a game works perfectly at high FPS and then fails casastrophically at low FPS. Delta time is fantastic, and its great to ensure stuff stays the same speed despite FPS, BUT this very solution to one problem makes objects fall through floors and otherwise completely miss critical collisions with objects, enemies etc etc at much lower FPS. The ability to cap frame-rate (at least while testing) would allow game makers to easily make sure the game works great across the board..even on weak devices.

Point 2) It seems to me it might be simple to allow the game to detect the power of the device its on and adapt the fps accordingly, as in: If FPS of title screen is < X, then cap FPS at 30, if FPS of titlescreen is greater that 50, then remove FPS cap....so perhaps there is no good reason to assume that capping the FPS will degrade anyones experience, in fact, only guarantee best experience across all platforms. (because we could turn off the cap either before making the build for high end platforms, or have the game turn off the cap at run-time if running on a powerful device.)

cheers,
Mike
B
49
S
9
G
4
Posts: 426
Reputation: 7,041

Post » Sat Nov 09, 2013 8:49 pm

I still can't seem to get my head around dt. I have a physics object that is set to frame rate independent and a timer that adds up in real time milliseconds.

Play it on my pc = fine

Play it on my mobile device, and the time counts as normal in real time, but my physics object moves slowly.

I also notice slowdown when additional sprites overwhelm. The drop from 60 to 30 can be disorienting. If I felt my game worked fine at 30fps, I'd like to limit it.

A game recently came out on pc. Naruto full burst. It's fixed at 30 fps, and some people aren't happy, but I think it runs great. Sure it may run better at 60, but I don't need any faster.

I feel my mobile game would benefit greatly from a locked 30fps, but Ashley is the genius here, not me.
@bearboxmedia
www.bearboxmedia.com

Nintendo Wii U Developer using Construct 2
B
80
S
12
G
7
Posts: 965
Reputation: 10,750

PreviousNext

Return to Construct 2 General

Who is online

Users browsing this forum: JesusJ and 26 guests