Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uwm.edu!linac!att!pacbell.com!tandem!zorch!sega0!mykes From: mykes@sega0.SF-Bay.ORG (Mike Schwartz) Newsgroups: comp.sys.amiga.programmer Subject: Re: Lemmings - a tutorial Part IV Message-ID: Date: 25 Mar 91 03:08:46 GMT References: <23787@well.sf.ca.us> Organization: Amiga makes it possible Lines: 64 In article <23787@well.sf.ca.us> farren@well.sf.ca.us (Mike Farren) writes: > >For some games, particularly the "shoot-em-up" sort, the speed of the >game is a valid consideration. Even the slight time penalty imposed by >allowing Exec's multitasking kernel to continue to operate can result >in perceptible jerkiness in the game, and there's little that's as >irritating as a jerky shoot-em-up. For Lemmings, though, it's clearly >not a criterion at all. Here's why: notice that in the list of >functions I laid out in the last installment, nothing at all was said >about needing to accomplish all of those functions in any given period >of time. You just go through, doing everything you need to do to draw >a screen, then you flip screens and do the same thing with the next >screen, without worrying about the time it takes. In Lemmings, you >don't need to switch screens every vertical blank time (1/60 or 1/50 >of a second, depending). Instead, there's a minimum time between >screens which looks, to my eye, as if it is about 3 vertical blanks >long. Updating the screens every 20th of a second can work perfectly >well, if there isn't any really fast movement on the screen (as there >is not in Lemmings). A minimum time of three VBlanks is just fine. > A minimum time of 3 VBlanks is never fine, it is a bad compromise. The Amiga is the best game machine around, including the Genesis and the Nintendo. It is rare that you will see games for those machines running at 3 VBlanks. If QUALITY is what you want, then you want 1 VBlank as often as possible. This is what makes Shadow of the Beast so stunning - it runs at 60 frames/second instead of 20. When you go 60 frames/second, the objects that you move on the screen don't have to jump as far each frame as when you run at 20. Consider the case when you move an object across a 320 pixel wide screen in 5 seconds. At 60 Hz, your object moves one pixel at a time and you see 300 different positions that the object is plotted in. At 20 Hz, your object moves 3 pixels at a time and you only get to see it in 100 different positions. The human eye is quite good at perceiving the difference and 60Hz is much more smoother looking. At 30Hz everything jerks in big jumps across the screen. When you consider animation, it is true that it is rare that you want to animate things (i.e. change their images) every 60th of a second. However, at 60Hz, you get finer resolution for your animation. At 20 Hz, you can only change an object's image in one of 20 different frames each second. At 60 Hz, you can change the image in any of 60 different frames. Since you can have multiple independently animating objects on the screen at the same time, the added resolution at 60 Hz makes a huge difference. So let's consider one of MY favorite Amiga games, TV Sports Football. It clearly is designed and implemented as you would urge developers to. It runs at a pitifully slow frame rate, goes to floppy disk for huge amounts of time (nearly puts me to sleep), and due to the slow frame rate, it is sluggish in response to the controls. The game design is excellent, and the game is playable. But it would have been a better product and I would have gotten more VALUE for my money if they had taken over the machine and made FAST disk routines and used all the RAM so they didn't have to go to disk so often, and they could have gotten 4x the frame rate. I rate this game as a 10 in design, a 2 in implementation, and a 10 for coding. In other words, I do not fault the programmer for the performance of the game, because he did use the OS. There is NO doubt that the same programmer would have made a better game if he hadn't made such a major mistake. -- ******************************************************* * Assembler Language separates the men from the boys. * *******************************************************