I just checked in MMF2 and I Can V-Sync it while insuring machine independent speed
Are you enabling 'Machine independent speed'? If so, that was designed for a fixed framerate engine so isn't doing anything useful when V-Sync is on. It is designed to skip drawing the screen if it can't hit the fixed framerate, which won't look pretty. Games look best if you can get the game to display once every V-sync. And if it's off, tough luck - your game is framerate dependent and will run at different speeds on different computers. So I disagree, your game either displays badly or is not running at a framerate independent speed.
[quote:33omzzwg]So the way i'm looking at things, what are they doing that you can't replicate? Pretty much everything else in construct, if not already superior to MMF2, is being on the track to soon surpass it. Anyways from my experience, it's not that objects are moved in a deltatime-ish fashion when subject to slowdown, but that logic is handled separately from display. if i have a value increase by 1 every cycle and a 60 frame game is only running at 50 frames per second, I still end up with 60 at the same time.
One of the main goals of Construct is to achieve a high quality display for the game. You need V-sync to do that, and skipping frames or running logic at a different rate to the display rate is not as good a solution as just using timedelta. If I implement any of your suggestions I really believe it will result in lower quality games. And if other game development programs choose to go down that path, well, that's not my problem
If you want a counter to increase by 60 a second, just add 60 * TimeDelta to it every tick. It's really that easy. Instead of coding your games to run tick by tick and just hoping for the best that your game will end up running that fast on the plethora of computers out there, games should be coded to work out how much time has passed in the last tick (that's TimeDelta), then advance the gameplay logic by that amount of time. Oh, then you can also use motion blur, timescaling (slow-motion) and other timer-affecting features. So this is how Construct is designed: code your games to advance the game logic in units of time, not ticks.
[quote:33omzzwg]Anyways the problem with decreasing by a float is when I use "=" statements in my timers.
Timers? Can't you use 'Every X milliseconds' instead? As the name suggests, it works in units of time Or, if you decrease using a timedelta-based value, use "less than or equal". In the event, add the timer interval back to the counter (eg. 'TimerValue' less than -0.5: add 0.5 to 'TimerValue'). It will trigger reliably every half a second and this method also compensates for rounding errors meaning it is as accurate as possible.
[quote:33omzzwg]Anyways, the string slowly decays with each element of the string getting eaten every tick, until there are no more *s. When that happens, you have ran out of time since your first input to execute the move (In this case a Dragon Punch/Shoryuken). It basically defines how fast you have to input the entire motion.
[quote:33omzzwg]I will miss the precision of doing things tick based though
On the contrary, the system you have just described is most imprecise! If you use ticks to measure the time you have left to perform an action, and someone's rubbish computer runs at 30fps instead of 60fps, they have twice as long to complete the action so the game is twice as easy for them. Really, that's precise? Sure, you can sacrifice the display quality of your game to make it work, but why on earth would you do that... when you could just code your game properly?
If you need it to be exact, use a timer to determine whether the time in seconds has elapsed for them to perform the action. It's perfectly precise: either enough time has passed or it hasn't. 'TimeDelta' is accurate to within microseconds, and in the next build of Construct, the main timers are as well.
I think you are looking at this the wrong way round: tick based games are imprecise, unfair and unreliable, and just being lazy about rendering the display is a poor way to try and half-fix the problem. Whether or not other programs do it the right way or not doesn't affect how I think Construct should tackle the problem. And I think I've done it the right way: the best possible display quality, and a simple way to code timer based games. Don't be lazy or prejudiced. Timedelta for the win.