What the title says.
My game goes slow at one point (too many active objects) so i tried Machine independent. It made it a lot faster but at the slow point it went too fast and had TGF problem (TGF problem message). Any1 can solve this or i have to remove some active objects
I wouldn't use machine independent speed if you can avoid it.....examples of machine independent speeds are all those DOS games you used to have that you threw out because you could move 1600 pixels(~6 screens) every time you pressed an arrow key.
P.S. What's your comp speed? I just ran a speed test in MMF with various animated active objects over multi-coloured backgrounds. There wasn't any serious slow down(aside from creating the objects at half the speed) but it stopped creating objects at 2000.
i use my dads computer and my own computer and my dads one is really slow (its claims to be 533mhz pfff)
machine independant speed is usefull because when i was testing one of my games the character wouldnt jump high enough unless i turned on machine independant speed
leaving it off would have made the game unplayable.
hmm i would say that you should use MIS only when you are createing the game, or testing the levels that have the active objects... BTW 9/10 chances if you have too many active objects that means you are trying to do way to much... ease up
Hmm I don't usually use MIS, so I can't say for sure, but wouldn't it mean that the game may play way to fast on someone else's computer and the right speed that you want on yours? I'd say leave it off, especially if its causing errors.
KNP/TGF/MMF etc. runs the events list 50 times a second that is every 0.02 seconds. After the event list is run KNP/TGF/MMF updates the screen and then waits for the event to run again.
If Machince independant speed is turned on KNP/TGF/MMF will evaluate if too much time is used on the events and if it is impossible to draw the screen (that is moving the objects, scrolling etc. and the actual draw to the screen) within the time (0.02 seconds total) KNP/TGF/MMF skips the drawing part and goes straight to waiting for the next run of the event list.
This can cause laggy graphics as the screen is not updated IF too much time has gone evaluating events.
This is only affects gameplay on slow machines. It will never run faster as fast computers will not be affected what so ever.
Machince independant speed may cause problems with collision or other things but its not certain (depends on how it works). Try to turn it on/off to see if theres any difference. An eventual difference should only be noticeable on a computer that is too slow to run the game.
The game will still run slow on very slow computers if they cannot complete the event list in 0.02 seconds.
I see Machince independant speed as a kind of automatic frame skip feature. But with lack of test I cannot garantee that it will not affect gameplay.
I never use Machince independant speed myself. Always deactivated. Instead test your game on different computers (in size) and find out how a fast a computer must be to run the game and let that be your minimum system requirements.
Alternatively, if the requirements are too high turn down the number of active objects or reduce the number of events. The fewer events the less time it takes to run the event list. Group events and close groups at runtime to cut the number of events checked. Got 20 events that only run at start of level? Group it and let the last event in the group be to deactive the group itself.
I always use it. If you don't use machine independant speed then your game can become much easier than it should be on slow computers. Also, not using machine independant speed can cause problems if you are making an online game. If you notice, commercial games use it. They don't slow down the game, they skip frames.
Hmm it might sound as a handy future,
but that depends on your opinion,
most people dislike it, just like me.
It skips too many of my display,
that might come good to the gameplay,
but if you walk forward and your characters
skips 32 pixels, it's starting to get annoying.
And most moderen pc run these klik-games at a normal perofrmance.
Machine Independant Speed should run the game as fast as the CPU can. This means the game will play diferently from machine to machine, and the amount of programs you are running can also affect it.
I would leave this off as it causes compatibility problems (you have to have a minimum system spec and a maximum one!)
If you have problems with the character, make a custom movement engine to suit you.
I am the proud owner of a 2.8Ghz P4 PC
I would expect it to mince through some games with MIS turned on!
Actually machine independant speed makes the game play the same on all computer speeds, not differently. Thats the whole point of it. If you have it turned off then your game will play differently on slow computers.
MR Saturn,
I think your getting it wrong, MIS does make games run differently on different PCs
TGF has a built in thing to run the games at a set rate when MIS is off.
And since someone else siad post your specs, I may as well, my PCs only 4weeks old.
2.8Ghz P4
512MB RAM
120GB HD, 80GB HD
Radeon 9000 128 MB DDR TV Out Graphics Card
and a loud of other stuff including a DVD-RW
I always thought, it made games run at a static
speed at every pc. It's speed not smoothnes.
Because if the speed is the same, the game skips
on slower pc's and it doesn't on higher pc's.
But actually i don't know, it's just what i thought,
the fact that my games run better without it.
I wish you guys would realise, TGF and MMF are naturally 'slow'. you can have a radeon 9000 or whatever and you'll still reach the same problem eventually
"Say you're hanging from a huge cliff at the top of mt. everest and a guy comes along and says he'll save you, and proceeds to throw religious pamphlets at you while simultaniously giving a sermon." - Dustin G
The newest radeon cards had the same performance level as GeForce 4 Ti. The difference was the radeon cards didn't slow down, while the GeForce cards slowed to a crawl...
"4x anti-aliasing at 1600x1200" - GeForce is fast on less taxing games, but it slows down lots with that much blending! Smooth out those hills, I want REAL terrain!
GeForce is cheaper though, which means it's more affordable for people like me.
P.S. MMF and TGF don't use 3D cards...unless you're using an Open GL or 3D object or something...
Er no, MIS IS what runs the games at a set speed. Thats the whole point of it. Even if your PC is really slow it will run at the same speed with MIS turned on. However, it has to skip frames to do this, much like what a commercial game does. When was the last time you played an FPS and it slowed down when a bunch of stuff was happening on the screen? Never most likely. When a bunch of stuff is on the screen it skips frames, much like what MIS does.
As for the graphics card debate, the two fastest cards out right now are the Radeon 9800 Pro and the Geforce FX 5900. I have a Radeon 9700 Pro which is no longer the fastest but still close.
Mr Saturn's right, machine independant speed makes sure the game always runs at the same speed, on any computer. So on fast computers it doesn't make any difference, but on slower computers it alters the frame rate. I have a relatively slow computer, so I much prefer people to use MIS because then I can play games at the same speed the author intended them to be.
I cannot prove anything but to THE BEST OF MY KNOWLEDGE:
- Machine Independent Speed off: Game runs at the set speed. Meaning events run 50 times a sec and screen updated in between. Spare time is free time the OS can use for other programs or the OS it self.
If the computer is too slow to run the events and update the screen in the time frame the game runs slow meaning the timing is not correct and the game may operate strange because timing like every X or when time is Y occur "out of synchronization". This is hard to explain, but the order and type of events MAY cause problems.
- Machine Independent Speed on: Game runs at the set speed. Meaning events run 50 times a sec and screen updated in between. Spare time is free time the OS can use for other programs or the OS it self.
If the computer is too slow to run the events and update the screen in the time frame TGF and MMF compensates by skipping screen updating if the current evalutation of the event list took too long. This will generally run the game closer to the set speed. But may still cause problems. Screen updating also means moving objects so a collision between small objects may be lost as in the next run the objects have to move for both the last run (where screen updating was skipped) as well as this one, which means that fast moving objects could cross each other without triggering collision.
Also Machine Independent Speed is NOT magic. So if you run the game on a computer that is WAY to slow, turning Machine Independent Speed on or off would make no difference.
Update, now I found out where I had my "knowledge" from. The following is about MMF, but Im quite sure the machine independant part is the same in TGF.
A very cool option that compensates for the speed differences between machines. How does it work?
Without this option.
Fusion runs at the maximum possible speed for this application on this computer, with a top speed of 50 loops per second. If your application only moves one tiny sprites one pixel per loop, it will move at exactly 50 pixels per second. But if your application moves large chunks of screen that take more than 1/50 of second to draw, then the speed of the animation will be reduced. All the objects in the application are affected by this, so if we have our little sprite in the middle of a big, heavy graphics application, its speed can go down to 10 pixels per second, or even less.
With this option.
When you check this option, Fusion does its best to keep your application running at 50 loops per seconds. How does it do that? By skipping the screen drawing for certain loops. The most time-consuming task in a multimedia application is to draw all the objects on the screen. In Machine Independent speed mode, Fusion keeps an internal speed counter running at exactly 50 counts per seconds, and compares it to the actual number of loops of the application per second.
If the number of loops matches the counter, then everything is fine, Fusion sends the graphics to the monitor, and one can see the sprites in the new position.
If the number of loops is lower than the counter, then the application is too slow! Therefore, Fusion skips the drawing of the graphics for this loop, hoping that this will allow to recover the delay. On the next loop, hopefully the two values match and Fusion can send the graphics. Fusion allows up to 5 consecutive skips of the display, which may result in a jerky animation. But the main advantage of the machine independent mode is that the overall speed of the animation is preserved: our tiny sprite moves at exactly 50 pixels per second, even on a slower machine, but it moves 5 pixels at a time on the display.
This option is totally transparent to the programmer of the application, as all of the calculations, collision detections, etc. are still done internally.
Edited by the Author.
Kramy
Assault Andy Administrator
I make other people create vaporware
"I wouldn't use machine independent speed if you can avoid it.....examples of machine independent speeds are all those DOS games you used to have that you threw out because you could move 1600 pixels(~6 screens) every time you pressed an arrow key."
That's not what MIS does. It's just so that it always runs at the same speed, and when it would normally slow down, it would just skip frames. I strongly advise you turn this on, especially when you're making a V-Cade game. I use it all the time. It works for me.
Ever played one of those annoying stretched games which runs unbearably slow? That's with MIS off. believe me, you WANT MIS ON. It pays off.
Project Progress:
1.: Droid Runner (5% Complete)
Finishing Up Game Engine
My comp is fast enough that I haven't encountered a slow playing game yet. Bring on the 1024x768 scrolling please!
I'd actually like to test a game at that res. Just not any higher since my monitor doesn't go to any higher resolutions.(remember, it is almost 10 years old)