home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!caen!hellgate.utah.edu!cc.usu.edu!sl8nl
- From: sl8nl@cc.usu.edu
- Newsgroups: comp.lang.pascal
- Subject: Re: merging virtual screens?
- Message-ID: <1992Jul23.235111.57485@cc.usu.edu>
- Date: 23 Jul 92 23:51:11 MDT
- References: <76490@ut-emx.uucp>
- Followup-To: comp.lang.pascal
- Organization: Utah State University
- Lines: 55
-
- In article <76490@ut-emx.uucp>, baylor@ccwf.cc.utexas.edu (Baylor) writes:
- >
- > Quick question for those who understand me or have played a couple
- > of games by apogee and others:
- > How do you make a set portion of a graphics screen scroll
- > and have the backdrop stay constant? It's done on commander keen
- > and cosmos cosmic adventure (don't know any non-games that do it).
- > I thought i had heard it was done by merging two screens, having a
- > backdrop screen (like a mountain scene) that never moves (except scroll
- > horiz with the rest of the game/program) and a foreground screen
- > where all the action is that can scroll up or down.
- > Maybe you have a seperate page where the sprites move and
- > move that to the visual screen quickly, knowing which parts of the
- > screen to overwrite and which to leave alone. Or maybe i'm way off
- > (these games use fairly large virtual screens - can't imagine
- > two pages of them).
-
- No, you don't do that. Dual playfields don't exist on the IBM...they do
- on the Amiga. So, on the IBM, you have to duplicate them the best that
- you can.
-
- The Apogee games, in fact, do not use large virtual screens. OK, they had a
- max of 256k of EGA memory to use (yes, commander Keen is EGA.) Just for a
- byte-per-pixel organization, let's flip to an extended VGA mode.
-
- The Apogee games are on a 320x200 screen. However, you'll notice they
- smooth pan the display. This is done on a background screen (virtual). The
- largest VGA virtual screen that can fit in the tweaked modes is 512x512...
- however, for iintense animation without a flicker, you have to have two
- pages to flip. This means that your largest screen would be, say, 420x320.
-
- You can pan around this 420x320, but eventually you must update the display.
- The only way I've come up with without dual playfields is to copy the background
- image down (say the mountains in the background) and then to update the other
- tiles. You can get speed from this if you write your routines to specifically
- handle your tiles...not general putimages for instance.
-
- > I don't necc. need code, just a general idea of what to look
- > at or what they're doing.
-
- I've had up to 10 dual playfields at once on a 286-12 going. I can't
- release the code (sorry, it's protected by a company...I normally do
- release all of my code), but it can be done...the most animation I've had
- going at once is smooth panning, 40 sprites, 5 dual playfields, and music.
- Sucked away system time, but it was fast.
-
- > Also, if anyone knows a better newsgroup for ibm graphics
- > questions (alt.headache) please let me know.
- > Oh yeah, this is in turbo pas 6, but really it all comes
- > down to assembler.
-
- For this, it really does come down to incredibly fast assembler.
-
- Joshua Jensen
- Xillion Software Development
-