home *** CD-ROM | disk | FTP | other *** search
/ Emulator Universe CD / emulatoruniversecd1998.iso / Gameboy / ROMs / YAR.TXT < prev    next >
Encoding:
Text File  |  1996-12-13  |  20.9 KB  |  437 lines

  1. ATTENTION:      PLEASE do not distribute YARS REVENGE without this
  2. !!!!!!!!!       document, or the files listed at the bottom of this
  3.                 document.                         Thank you! -MIKE
  4.  
  5. ----------------------------------------------------------------------
  6.  VERSION 1.0
  7.                               Y A R S 
  8.  
  9.                            R E V E N G E
  10.  
  11.                        THE QOTILE ULTIMATUM!
  12.  
  13.                           FOR GAMEBOY(tm)
  14.  
  15. ----------------------------------------------------------------------
  16.       Dedicated to Micki and Jenny because they accept our vices
  17. ----------------------------------------------------------------------
  18.  
  19. TABLE OF CONTENTS:
  20.  
  21. 0.0     History
  22. 1.0     Why Yar's Revenge?
  23. 1.1     Z80, Gameboy(tm) and the Universe
  24. 1.2     YARS REVENGE <=> RAY'S REVENGE??
  25. 1.3     Credit where credit is due!
  26. 2.0     "You're a fly named Yar on a quest in space..."
  27. 2.1     Scoring
  28. 2.2     Controls
  29. 2.3     Level Divisions
  30. 2.4     Different Qotiles!
  31. 3.0     Technical Information
  32. 3.1     Debug Game Variables
  33. 4.0     Who are these guys?!
  34. 4.1     Brains for Hire
  35. 5.0     Copyrights
  36. 6.0     Thanks to all our Gameboyz...
  37. 7.0     What is included
  38.  
  39. 0.0     History
  40.  
  41. Here is a documented project history.  Not very useful, but helpful
  42. in tracking my insanity.  I have an old school pride in getting
  43. things done QUICKLY.  Thanks to folks mentioned throughout this
  44. document, I was able to do that.  All work was done in my free
  45. time (Which is VERY limited when you work full-time).
  46.  
  47. 12-13-96        ***** RELEASE DAY OF V1.0!! *****
  48.                 Friday the 13th, our lucky day.  Game appears to
  49.                 to be complete!  Final stages of bug reporting.
  50.                 Initial release! Jeff Frohwein says it may not
  51.                 be able to be burned, first time hearing about
  52.                 update issues.  I'm gonna order a smart card
  53.                 system!
  54.  
  55. 12-12-96        Added pause, fixed some bugs, added level
  56.                 indicator.  Bob informs me he has reached
  57.                 a score of 114,000.  Can I beat it?
  58.                 looks like next week for release.  Just have
  59.                 to bug check the whole thing.  Already laying
  60.                 out plans for next project!  Mars Attacks!
  61.                 comes out tomorrow at the show, how fitting...
  62.                 I got 245,853 points!
  63.  
  64. 12-11-96        Fixed Quotile shooting bug (It didn't see you 
  65.                 at the far right).  Fixed startup shooting bug
  66.                 as well.  Also put x-limit on shooting so you
  67.                 can't shoot cells from the far left!  Fixed
  68.                 right boundary problems, fixed all collisions
  69.                 for better accuracy.  Added more levels.
  70.                 Added hidden *LEVEL SELECT*.  Added Qotile
  71.                 sound effects based on DX/DY.  Added windup
  72.                 effect for Qotile spin.  Bob got 140,000+
  73.                 tonight!  MY GOD!  He's iNsAnE!  I think a
  74.                 release is finally ready... a few more bug
  75.                 fixes.
  76.  
  77. 12-10-96        Added High Score Keeping.  It seems to work.
  78.                 Bob got 89,000+ last night!  Wowza.
  79.                 Yar Overlay finished.  Got a new colorscheme!
  80.                 Bob starts work on new driver, will be used
  81.                 in upcoming Gameboy(tm) title (Not Yars!).
  82.  
  83. 12-09-96        Officially organized YARS.TXT and added GAME OVER
  84.                 screen.  Damn, I need to organize my spaghetti-
  85.                 like code! Scoring and free live conditions set.
  86.  
  87. 12-08-96        We now have score, levels, difficulty, intermission,
  88.                 lives.  A new Intermission tune by Bob.  Bob and
  89.                 Mike power-talk via e-mail.  Many code swaps done
  90.                 through E-Mail.
  91.  
  92. 12-07-96        We now have collisions, effects, etc.  A sub-title
  93.                 screen offers copyright info.  Sent source code
  94.                 to myself in a sealed, postage marked envelope for
  95.                 precautions.  (Not to protect money making potential,
  96.                 just so I can take action against people who claim
  97.                 it is THEIR work.  Feel free to rip my source, as
  98.                 I have done to others.  But make sure you credit
  99.                 those people!  I will gladly make source available
  100.                 to trustworthy fellows!)  Also, I think I am wasting
  101.                 too many cycles.  I will work on slashing code for
  102.                 next revision.
  103.  
  104. 12-06-96        We have a Zorlon Cannon, a cruise missile.. No collisons.
  105.  
  106. 12-05-96        We have music.  My lame themes are replaced by Bob's
  107.                 wonderful tunes.  Added more game elements.  Ripped  
  108.                 GBAPA2 for line drawing routine to shoot SWIRL.  Took
  109.                 me too long to figure out.  Wasted whole day!  I'm
  110.                 a loser!
  111.  
  112. 12-04-96        Yar's is working!  I can recognize things.  Got it
  113.                 moving with sound.  Found out Yar's was Girlfriend's
  114.                 favorite game.  I did it on purpose (wink...wink How
  115.                 did I know??)  She still calls me a nerd.
  116.                 Bob wanted a sound tracker, he got one.  The worst
  117.                 tracker ever made.  You go Bob.  
  118.  
  119. 12-02-96        Added control.  Wow, that HERO/ZERO document
  120.                 rules.  POWER!  Think I'll make YARS.  
  121.  
  122. 11-30-96        We have sound!  Thanks PAN of Anthrox!  I can
  123.                 also animate, Thanks me for being me!
  124.  
  125. 11-29-96        My first sprite and PCX conversion.  How good my
  126.                 little sprite looks over a picture of Shaft Daddy
  127.                 from the World Wide Waste (www.oeonline.com/~bip)
  128.  
  129. 11-28-96        Wow, I got a screen up.  It reads "John's Bogus
  130.                 Adventure by McNeff Games"  (This was an inside
  131.                 joke that lead to my first contact with GB
  132.                 programming.)
  133.  
  134. 1.0     Why Yar's Revenge?
  135.  
  136. As a child, I spent countless hours playing Yar's Revenge on the Atari 2600.
  137. It wasn't until a few years ago that I found another copy of the game that
  138. included the comic book (Which was M.I.A. amongst my other comics).
  139. I again became addicted to the game when John Dullea's PC ATARI emulator
  140. came out.  The choice was easy.  Among all other classic games, Yar's
  141. was the way to go.
  142.  
  143. 1.1     Z80, Gameboy(tm) and the Universe
  144.  
  145. On 11-28-96, I downloaded a text file from a site on the internet called
  146. ANTHROX.  In it, a fellow by the name of PAN supplied some technical
  147. information on the Gameboy(tm).  After looking at it a while, I realised my
  148. classic C-64 assembly skills could be put to action and I quickly went
  149. to work on creating a text display.  Thanks to people like Jeff Frohwein
  150. and the folks at Damaged Cybernetics, I was able to download so much
  151. information that in about a week I was able to get a working, playable,
  152. copy of Yar's Revenge.   
  153.  
  154. 1.2     YARS REVENGE <=> RAY'S REVENGE??
  155.  
  156. Oftentimes, when arcade games are copied for home video systems, the
  157. resulting game is a lackluster rendition of the original.  However, the
  158. designer of Yars' Revenge, Howard Warshaw, avoided this potential problem.
  159. "The original assignment was to do the coin-op game Star Castle," said
  160. Warshaw, "But I felt that the game would translate poorly into the 2600.
  161. My objective when designing a game is to achieve good play, not copy
  162. something regardless. So I topologically reconfigured Star Castle, added
  163. a few twists, and voila, Yars' Revenge was born."
  164.  
  165. Although the marketing department usually decides on the name for a
  166. particular game, Howard used a little ingenuity to get the name he
  167. wanted on the product. "Marketing was considering a number of very lame
  168. names for the game. So I invented Yars' Revenge and actually wrote the
  169. story for the game that was done in a comic book and released with
  170. the game. The way I did it was to write the story, then "leak" some info
  171. to marketing that would lock up the title. The reason it is named
  172. YARS' Revenge, is that YAR spelled backwards is RAY. The CEO of Atari
  173. at the time was RAY Kassar. I told one marketing dude that Ray knew
  174. of the naming and was enthusiastic about it. I told him to keep this
  175. info to himself, knowing that it would be all over marketing in 2 hours.
  176. I also figured that no one in marketing would have the gumption to talk
  177. to Ray about this. So, they informed me in a couple of days that this
  178. title had been selected. I out marketed marketing."
  179.  
  180. While at Atari (1981-1984), Howard also worked on the games Raiders of
  181. the Lost Ark and ET.  "Since I left Atari, I have gotten a California Real
  182. Estate Brokers license (hated real estate), written and published two books
  183. (one on a gambling card game called Pan, and another on how to have a
  184. stellar college career called Conquering College), I have done some
  185. teaching in business and some local colleges, I took the LSATs (91%),
  186. I am a photographer and recently received my certification in video
  187. production. I have already done a documentary on Russian immigration
  188. and a corporate piece for Tecnomatix."  Warshaw is currently writing CAD
  189. applications for Tecnomatix in San Jose.
  190.  
  191. * Ripped from Activision's Classic Action Pack - Please do not be
  192.   offended Activision!
  193.  
  194. 1.3     Credit where credit is due!
  195.         (Original Game Credits for the Atari 2600)
  196.  
  197. Original Cartridge Programmer                      ...Howard Scott Warshaw
  198. Writer                                             ...Hope Shafer
  199. Illustrators                                       ...Frank Cirocco
  200.                                                       Ray Garst
  201.                                                       Hiro Kimura
  202. Art Director                                       ...Steve Hendricks
  203.  
  204. 2.0     "You're a fly named Yar on a quest in space..."
  205.  
  206. GAME PLAY  
  207.  
  208. The primary objective of the game is to break a path through the shield,
  209. and destroy the Qotile with a blast from the Zorlon Cannon.  The
  210. secondary objective is to score as many points as possible.
  211.  
  212. The shield is the moving area in front of the Qotile base.  It appears
  213. in one of two shapes, as an arch, or a shifting rectangle.  
  214.  
  215. The shield is made up of cells.  The Yar scout can destroy these cells
  216. by firing at them with energy missiles, from any location on the
  217. playfield, or by devouring them on direct contact.  (The Zorlon Cannon
  218. can be used to demolish cells, but this is a waste of a powerful
  219. weapon.)
  220.  
  221. Once a path has been cleared through the shield, the Zorlon Cannon 
  222. must be used to destroy the Qotile.  To call up the cannon, the Yar
  223. can either eat five cells, or run over the Qotile.
  224.  
  225. The Zorlon Cannon appears on the far left side of the playfield, and
  226. moves in a direct line with the Yar.  This means the Yar is in its line
  227. of fire.  It is important, therefore, to aim the cannon at the Qotile,
  228. fire it, and fly out of the way FAST!
  229.  
  230. The Qotile shoots off two weapons.  The Destroyer Missile and Swirls.
  231. The Destroyer Missiles come in a more or less constant stream, one
  232. at a time.  The Yar must do his best to dodge them.  Periodically the
  233. Qotile turns into a Swirl.  This Swirl winds up and rushes after the
  234. Yar.  A Swirl can be destroyed with the Zorlon Cannon by hitting it
  235. either in its base location, or in mid-air.  The further you go into
  236. the armada, the Swirl becomes increasingly dangerous.
  237.  
  238. The glittering path down the center of the screen is the Neutral Zone.
  239. This area will protect a Yar from Destroyer Missiles, but not from
  240. Swirls.  While in the Neutral Zone, a Yar cannot fire any energy 
  241. missiles of his own.
  242.  
  243. When a Yar is hit by a Destroyer Missile, a Swirl or his own Zorlon
  244. Cannon, he dies.  Each player has four Yars (Turns) to play in a 
  245. game.  Additional Yars can be earned.
  246.  
  247. 2.1     Scoring
  248.  
  249. ACTIVITY                        POINTS          BONUS
  250. Cell, hit by missile            1       
  251. Cell, devoured by Yar           5               
  252. Cell, hit by Zorlon             10
  253. Qotile, destroyed               1000
  254. Swirl, destroyed in place       2000
  255. Swirl, destroyed in mid-air     6000            additional life
  256.  
  257. 2.2     Controls
  258.  
  259. ----------------------------------------------------------------------
  260. GAMEBOY         ACTION                          VGB-DOS
  261. ----------------------------------------------------------------------
  262. D-PAD           Moves Yar in any direction      Cursor Keys/D-PAD
  263. BUTTON A        Fire missile                    Left Alt/A BUTTON
  264. BUTTON B        Fire Zorlon Cannon              Left Cntrl/B BUTTON
  265. START           Skip titles/Start Game/Pause    Shift/C BUTTON
  266. SELECT          Not Used. (?)                   Z/D BUTTON
  267.  
  268. 2.3     Level Divisions
  269.  
  270. There are about 8 different level divisions, designated by the
  271. Yar Commander's quote before each level.  They are tightly spaced
  272. until you get into the higher levels, in which case the level
  273. divisions are about 60 levels apart!  There are 255 levels before
  274. it flips.  If you can get to level 255, you are too good for this
  275. game!  
  276.  
  277. 2.4     Different Qotiles!
  278.  
  279. Yes, you heard it, throughout the heated battle different forms
  280. of Qotile will appear.  Later in the fight, you go up against
  281. the Elite Qotile Destroyers, which are protected by gigantic
  282. shields!  Also, beware of the Qotile tactics, they will do anything
  283. to destroy the Neutral Zone!  If you can last that long, don't
  284. fret, Planet 3 has some tricks up their sleeves to destroy the
  285. Qotile's ability to protect themselves!
  286.  
  287. 3.0     Technical Information
  288.  
  289. If you have any questions on how we did it, we will gladly answer all
  290. e-mail (See Addresses Below).  
  291.  
  292. The music is tracked by a rather shoddy driver.  It uses two track data 
  293. and a third metronome track using the noise channel.  A much more  
  294. advanced tracker is in the works by Bob.  Bob Baffy worked around my
  295. limited driver to produce the tunes you hear in the game.
  296.  
  297. The graphics were created using Photoshop and GBCONVERT by HeroZero
  298. /OldSkool.  I use 8x16 sprite mode to make life a little easier.  I use
  299. two palettes, a flashing palette done by rotating the bits in the palette,
  300. and another that is the standard colors.  I move the neutral zone and Qotile
  301. shield by rotating the bits left or right, depending on the case.  
  302.  
  303. I compile my work with TASM and the TASM69.TAB by Jeff Frohwein.
  304. I find that TASM is my favorite only because I know how to use it,
  305. and Jeff answers my questions!  Thanks Jeff!  I got around the
  306. 32k barrier by simply addressing the $014000, and then padding it,
  307. then using the LD $2000,#.  Works like a charm. 
  308.  
  309. All my variables are in $c000 and $a000.  Why?  I felt like it.  I split
  310. the two after I saw the GBAPA2 technical code that used variables in
  311. TASM.  I used his variable space ($c000) by default.  I also ripped
  312. his line drawing routine to figure out how to make the Qotile swirl
  313. aim at the yar.  You have to respect the GBAPA2...
  314.  
  315. I tried everything on VGB-DOS by Marcel De Kogel.  Thanks Marcel for
  316. the incredible emulator!  If someone tries it on a Gameboy(tm) and it
  317. works, let me know, please!  I'm thinking about getting a Smart
  318. Card Backup System.  Somebody give me some information on this, or
  319. if you know of anyone who produces GB carts, I want to tote my
  320. Yar's around!
  321.  
  322. I use GBTOOL by Rip of Masters of Magic to redo the complement check and 
  323. CRC check.  Why?  Because of the 32k limit on the crc.exe prg by Jeff.
  324. If you are writing under 32k, I highly recommend CRC.EXE for speed.
  325.  
  326. How do I scroll the screen?  I use the built in scrolling on the
  327. Gameboy(tm).  The background stars are simply sprites to give the illusion
  328. of object scrolling.  It was a good speed and programming trick on my
  329. part. ;)
  330.  
  331. I mapped everything by hand because I was too lazy to program an editor,
  332. and all current editors do not work on my system for one reason or 
  333. another.  I hope to make a map and character set editor soon.  Like Yars
  334. maps are complicated...
  335.  
  336. 3.1     Debug Game Variables
  337.  
  338. BANK 0
  339.  
  340. $a000   Yar Frame                       $a01e   Zorlon 0=no 1+=yes
  341. $a001   Anim count                      $a01f   Yar Lives Counter
  342. $a002   Yar X                           $a020   How much cells eaten?
  343. $a003   Yar Y                           $a021   Death Pause
  344. $a004   Last Control input              $a022   D.Timer A 
  345. $a005   Shot DX                         $a023   D.Timer B
  346. $a006   Shot DY                         $a024   Screen Wipe A Win!
  347. $a007   Active Shot DX                  $a025   Screen Wipe B Win!
  348. $a008   Active Shot DY                  $a026   Screen Wipe C Win!
  349. $a009   Shot Life                       $a027   Level #
  350. $a00a   SPR/BG X $ffx$ff to 32x32       $a028   Shield Scroll Delay Timer
  351. $a00b   SPR/BG Y $ffx$ff to 32x32       $a029   Shield Speed
  352. $a00c   Eat Count (Slow down eating)    $a02a   Swirl Attack Delay
  353. $a00d   Scroll fort up/down (0/1)       $a02b   Intermission Text Pointer
  354. $a00e   Character Beneath Yar           $a02c   Shield Morph Timer A
  355. $a00f   Destroyer Missile Speed         $a02d   Shield Morph Timer B
  356. $a010   ----                            $a02e   Score Digit    
  357. $a011   Base Shot Info A                $a02f   Score Digit
  358. $a012   Base Shot Info B                $a030   Score Digit
  359. $a013   Shoot Swirl? 0=no 1=yes         $a031   Score Digit
  360. $a014   Qotile Frame Count              $a032   Score Digit
  361. $a015   Qotile Shot Speed               $a033   Score Digit
  362. $a016   Qotile Mode 0=normal 1+=Deadly  $a034   HiScore Digit
  363. $a017   Counter Space 1                 $a035   HiScore Digit
  364. $a018   Counter Space 2                 $a036   HiScore Digit
  365. $a019   Counter Space 3                 $a037   HiScore Digit
  366. $a01a   Counter Space 4                 $a038   HiScore Digit
  367. $a01b   Destroyer Missile Speed         $a039   HiScore Digit
  368. $a01c   Yar Dead? 0=no 1+=yes           $a03a   Pause toggle
  369. $a01d   In Neutral Zone? 0=no 1+=yes
  370.  
  371. 4.0     Who are these guys?!
  372.  
  373. Bob Baffy is a Web Designer, Artist, Music Engineer and Game Designer.  
  374. He works two jobs, one at a prestigious company, and the other 
  375. at Genetic Fantasia.  You can reach him at bip@oeonline.com.  He  
  376. is a nice guy and is willing to outsource his talent as well through
  377. Genetic Fantasia.  He has a family to feed, we can't give away ALL
  378. our work.
  379.  
  380. Mike Mika is a Programmer, Artist and Game Designer.  He works  
  381. two jobs as well, one at a PC/POS/AUTO ID Distributor, and the other
  382. at Genetic Fantasia.  (No more third person)  I can be reached
  383. at mikam@smurfy.tcimet.net.  I'll answer all your questions if
  384. they are good (Just kidding!).  I encourage anyone with a passion
  385. for programming to contact me.
  386.  
  387. Genetic Fantasia was founded in 1995 by Jeff Burke, Bob Baffy and
  388. Mike Mika.  It was created to develop software for the Atari Jaguar.
  389. It's potential claim to fame would have been Bomberman Legends,
  390. an Eight Player multi-link version of the Hudson Soft hit series.
  391. Though development was nearly finished, it was stopped when Atari
  392. could not negotiate the license.  No attempt to modify the game to
  393. every legal avenue was made to release the title because Atari hit
  394. the bottom by this time.  Other projects in the works are now being
  395. refitted for the PC and Playstation.  Current staff is five people,
  396. spread over every facet of development.
  397.  
  398. 4.1     Brains for Hire
  399.  
  400. Genetic Fantasia is a third party developer willing to work on
  401. your projects.  We can support your visual and audio needs, as
  402. well as consult with you about game design.  We also have a series
  403. of games being dveloped that have not yet been marketed to publishers.
  404. If you are a publisher who is interested in what we have to offer,
  405. please contact us.  If you are a developer who needs a helping hand,
  406. we are ready to go.
  407.  
  408. 5.0     Copyrights
  409.  
  410. Yars' Revenge is Copyright 1982 Atari, Inc. The gameboy code is
  411. copyright 1996 by Mike Mika and Genetic Fantasia.  This game is
  412. free to everyone.  The source will be made available to those
  413. who need it (Be forewarned, it is creepy).  Gameboy is copyright
  414. and trademarked by Nintendo.  
  415.  
  416. 6.0     Thanks to all our Gameboyz...
  417.         (Though they probably don't know us!)
  418.  
  419. PAN of Anthrox (And all of Anthrox), Jeff Frohwein, Marat Fayzullin,
  420. Marcel De Kogel, Dave of Dave's Videogame Classics, Rip of Masters of
  421. Magic, HeroZero/OldSkool, DiskDude, Sean Whalen of Siamese Dream, all
  422. the guys at Damaged Cybernetics, MegaMan X, Yoshi, John Dullea, Sean Kelly,
  423. Nintendo, Norman Nithman, Matt Currie, Micah Dowty, Bob also thanks Mike for
  424. the introduction to assembly, which has renewed his interest in programming
  425. and restored his faith in humanity! ;) Howard Warshaw, Santa Claus
  426. (Thanks for the fruitful years), Jeff Burke, Jeremy Mika, Eric Auger,
  427. Typhoon Z, Big Weird, Vilewrath, Avatar Z, Bill 'The Classic Video Game
  428. Nut' McNeff, John Morawiec, Eugene Jarvis, Jeff Minter and Nolan Bushnell!
  429.  
  430. 7.0     What you should have:
  431.  
  432. yar.gb                  -The game!
  433. yar.gif                 -The Super Stylin' Yars Overlay for VGB-DOS
  434. yar.txt                 -This text file
  435. yar.jpg                 -Yar's Revenge Conceptual Cover Art (We can dream)
  436. yar.bat                 -Batch file to run Yars with VGB-DOS SCHEMES
  437.