Path: utzoo!attcan!uunet!dino!ux1.cso.uiuc.edu!julius.cs.uiuc.edu!apple!agate!usenet From: deadman@garnet.berkeley.edu (Ben Haller) Newsgroups: comp.sys.mac.games Subject: Re: Solarian II 1.03 now available Message-ID: <1990Sep27.175145.24091@agate.berkeley.edu> Date: 27 Sep 90 17:51:45 GMT Sender: usenet@agate.berkeley.edu (USENET Administrator) Organization: Stick Software Lines: 51 In article <37517@eerie.acsu.Buffalo.EDU>, cantie@acsu (bruce n cantie) writes: >I have played Solarian II 1.0.3, and find it very jerky on the uper levels. >When you get to about wave 9 or so, every time the supply ship comes out, >or the extra points multiplier comes out it slows down the graphics. >It seems like this is because of the length of the sounds, but I'm not sure. >For me I'll go back to 1.02. The sounds are the same in 1.03. I've never seen this problem, but I think I know what the problem is. On very basic Mac II-series machines Solarian II is squeezing every last ounce of performance out of the machine. If a given "game tick" takes longer than a certain amount of real time, the action gets jerky for technical reasons. This never happens on my machine (a IIci) or on other fast machines like the IIcx and the IIfx. But on a plain Mac II, it is possible that certain changes made to the main loop of the game make it so, in version 1.03, each "game tick" takes just a little more real time that it did in 1.02, and it now goes over the limit where, with the original version, it just barely squeezed under. This would happen on some levels and not others, depending on how complex the level is. It makes sense that people observe this problem when a bonus ship or such appears, since that adds one more sprite that takes just a little more time to animate, which puts the game over the time limit. Get it? So the problem is your machine isn't quite fast enough to handle all the work Solarian II is throwing at it. Solutions: 1. Get a system upgrade :-> 2. Take out inits. Especially I think Suitcase, ATM and InUse would be likely to get time while Solarian II is running. Most INITs never get time while Solarian II is running, so most aren't a problem. But experimentation might help. 3. Run it under Finder, not MultiFinder. If none of these help, I guess go back to 1.02, but don't blame me if things like the Caps Lock bug and the black desktop bug get annoying... Let's make sure I'm right: has anyone experienced this problem running on a high-end machine like the IIfx? Has anyone experienced it towards the *end* of a board, when most of the nasties have been killed? If not, I think this is the problem. By the way, no I can't fix it and release it as 1.04. The thing that's slowing things down is that I now go through GetOSEvent to get keyboard events, instead of polling the low-memory keymap globals directly. This was necessary to fix the problem that early version of Solarian II had with non-extended and international keyboards. The toolbox call is not terribly fast, but there's really nothing I can do about it. I guess I could maybe walk the event queue myself, but I'm not even sure that would be significantly faster than GetOSEvent. Anyone know that it *is* faster? Well, enough babbling for today. -Ben Haller (deadman@garnet.berkeley.edu) "It's just another day / Where people cling to light To drive away the fear / That comes with every night" - Oingo Boingo