1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-07-06 03:30:23 +00:00
QB64-PE/tests/qbasic_testcases/qb45com/action/arqanoid/readme.txt
Matthew Kilgore 9ee89d6ff4 Add QBasic tests
These tests use a variety of sample code (with some of the larger files
removed, so they are not complete!) and verifies that they all compile
successfully.
2022-04-28 23:00:07 -04:00

277 lines
15 KiB
Plaintext

ARQANOID Readme.Txt file
June 26,2001
7:30 PM
Richard Eric M. Lope BSN RN
vic_viperph@yahoo.com
Note: Use Word Wrap to see the text properly
=================
Table of Contents
=================
I. Introduction
II. History
III. Mechanics
IV. Faqs
V. Credits
VI. Disclaimer
=================
I. Introduction
=================
The idea to make an arkanoid(tm) clone came to me while developing engines for my shooter and RPG. I was going to make a game which would not use any library and it would also run inside the QB IDE. I was just trying to see if a decent game could be made inside the limitations of screen 13h chained mode. I was partially right and partially wrong. While I was developing engines for my RPG and Gradius clone, I was loosing my patience trying to make flickerless animations. So I searched the Net for answers and found nothing after days of research. :(. Then with a stroke of luck, I went to GBgames' links, then to the newly resurrected Neozones and found Andrew Ayers' tutorial about Get/Put array offseting. There came the idea to remake my Arkanoid clone. I had simple ambitions when I started. I was only trying to give it some background. Then came the idea to make it better than the original. I'm going to give it a little twist. It would have leaders and a storyline. I also was trying to see how much flickerfree animations I could make w/o the use of page swapping. It was how it all began....
Note: I refuse to call this a pong clone since I have never played the original Pong.
=================
II. History
=================
This game took a long time to make since I don't have the luxury of time while making this. I could only work on this project during weekends, I have a social life you know..., and I also have a nagging wife who makes me go to bed early. BTW, I'm a Registered Nurse and only have "computer 101" as a formal training in the field of computers. Most of my knowledge came from QB's help file and from the you guys, the QB community! This game took almost 3 months to make.
Note: When I say week, I mean 2 days per week...
Month I
First week:
Day 1. Developed engines for the game, Read about the BMP file system
Day 2. Made my Bmp2put file converter(Used to rip Nes game graphics),
Developed the game's bouncing mechanism using vectors alone.
Developed my font routines using offsetting.
Second week:
Day 1. Developed my palletes and tile system. Added the point function to the colission detection system. Found out how to use Ascii ROM addresses and developed my KGEN font routine.
Day 2. Added the "inside" function for colission detection. Also added directional colission detection. Ripped graphics for my first boss.(GIGA)
Third Week:
Day 1. Played Nesticle games. Lots of games. To see what bosses would look good for this game.
Day 2. Ripped graphics from nesticle using my BMP2Put.bas routine and changed its color attributes (for a little twist).
Fourth Week:
Day 1. Put all the sprites in my game. Started development of the level editor.
Day 2. Added aesthetics to my level editor. Optimized it and made levels up to level 15.
Month 2
First Week:
Day 1. Recoded some routines from the game. Fixed some bugs. Made Levels.
Day 2. Finished making Levels. Optimized my routines. Discovered PP256 by Chris Chadwick. Learned it, and wanted to make my game look even better. Still trying to learn PP256...
Second Week:
Day 1. Rewrote routines for some of my sprites except BMP2Put compatible ones(ie. bosses). Drew sprites(PP256)...
Day 2. Still Drawing... or trying to draw... hehehehe.
Third Week:
Day 1. Still drawing....
Day 2. Added power ups! And menu system. Bug Hunt. Tried to reduce flicker as much as possible.
Fourth Week:
Day 1. Out of town for vacation.
Day 2. Playing arcade games while on vacation.
Month 3
First Week:
Day 1. Added bonus stages. Reduced flicker for sprites...
Day 2. Bug Hunt.Bug Hunt.Bug Hunt.Bug Hunt.Bug Hunt.Bug Hunt.
Second Week:
Day 1. Bug Hunt.Bug Hunt.Bug Hunt.Bug Hunt.Bug Hunt.Bug Hunt.
Day 2. Bug Hunt.Bug Hunt.Bug Hunt.Bug Hunt.Bug Hunt.Bug Hunt.
Third Week:
Day 1. Optimized.Optimized.Optimized.Optimized.Optimized.
Day 2. Game testing.......Bug Hunt.Bug Hunt.Bug Hunt.
Fourth Week:
Day 1. Bug Hunt. Testing...
Day 2. Transported my files in one directory. Finished the Game.
=================
III Mechanics
=================
I. Arqanoid.
License:FreeWare(Use/Abuse/Modify at your own risk)
1. Controls
Left Arrow/A : Moves paddle left
Right Arrow/D : Moves paddle Right
Up Arrow/W/CTRL : Auto Fire on when in power paddle mode
Down Arrow/S/End: Auto Fire off when in power paddle mode
Space/Tab/PGD : Fire missiles when in power paddle mode
Escape key : Activate the MENU/Abort menu selection
Enter Key : Confirm menu selection
2. How to play
You start off at level 1. You have to destroy all the blocks except the metallic yellow ones(Tile No. 9 in level designer). Each block has a corresponding score.
Every tenth(10) Level is a boss stage. There are no blocks to destroy in these stages. You have to kill the boss to progress to the next stage. But beware of those black holes. They spew unlimited number of insects to you(2 at a time). Once you hit an insect, your ball increases its speed to make the game harder. You kill bosses by hitting them with your ball. Note: I intentionally disabled some powerups in these stages for added challenge.
There's also bonus stages at levels 5,15,25...45. Spikes are disabled here so you don't die. You finish these levels by destroying the bombs before the time runs out. The bombs you destroy will be multiplied by 2000 and added to your score. If you destroy all of the bombs before the 60 second time limit expires. You will get an additional 20,000 for a special bonus!
Beat all the levels and bosses up to level 50 and you'll see the ending!!!
3. The Menu
1. Main
New Game =Starts a new game
Save Game =Saves the game currently played
Load Game =Loads a previously saved game
Special =Opens a sub menu(Debug Code)
View credits =Ya have ta see this!
Hall of Fame =Opens record holders!
Exit Game =Game over! :(
2. Debug Code: ie Cheat!
Skip Level =Warps you to the next level
More Lives =99 Lives
No Spikes =Disables spikes
Power Paddle =Powers up your paddle.*
Replicant =Doubles your paddle.*
Erase Saves =Erases Saved Games and Hall of Fame.
* Unavailable during Bosses and bonus stages.
II. Level Designer
1. Controls
Arrow Keys =Moves cursor
W,A,S,D Keys =Moves cursor
SpaceBar =Rotates/Selects tile
Tab/Enter =Puts Tile
Delete =Erases Tile
F5 =Opens a dialog box for saving level
Escape =Activates the menu
2. Menu
New File =Opens a "bare" screen for a new level
Edit File =Opens a dialogbox for choosing a lvl 2 edit
Escape =Disables the menu
Exit =???
3. Tile Types
Number Color Type
1 RED Lowest Score
2 Green do
3 Blue do
4 Light Blue do
5 Purple do
6 Yellow do
7 Metallic Blue 2 hits to destroy
8 Metallic Purple 3 hits to destroy
9 Metallic Yellow Indestructible, no score
==================
IV. FAQS
==================
1. About me
Name: Richard Eric M. Lope BSN RN
Occupation: Nurse
School: West Visayas State University
Residence: Florvel Homes, Buray, Oton, Iloilo, Philippines
Status: Married with one daughter
Age: 26
Laguages I program with: QuickBasic,Turbo Pascal,C/C++,Visual Basic
2. Why QuickBasic??
The Added challenge. I know when I started programming this game that Speed would be an issue but Quickbasic gives me an oppurtunity to flex my optimization "Muscles" and QB makes you an ingenius programmer. I don't mean to pick on pascal or c++ but I'm much more impressed with persons who can make good games with QB than with persons who could make the same game with C or Pascal. I do make programs with them but I'm not making money out of programming (except VB sometimes...) so I dedicated myself to QB. I'm what you could call a "hobbyist" programmer so QB would be the best choice since it's "portable". It's also because of you, the QB community, that I decided to be a QB game programmer.
3. Why the CRAPPY music?
My computer doesn't have a soundcard so I can only make sound effects using the pc's internal speaker. In fact, I give you the right to add better sounds to this game as long as you notify me first. I'm working on a new PIT delay sound routine to solve it... but I'm having problems... (PIT delay inables you to make BG sound routines using the PC speaker. I've managed to get it done using C++ already!)
4. What is your computer's specs.?
486dx2 running on windows 95. Pls. don't laugh... this is the only one I could afford.
5. How did you get those NES sprites?!
Developed my BMP2Put.bas routine(it converts parts of 256 color bmp file to Qbasic's put format). Played games on NESTICLE, saved it as PCX(that's the only way to rip graphics from Nesticle), opened it using paint, saved it as 256 color bmp, then opened it with BMP2Put.bas and saved it as a put file. Got it? Note: If you want my BMP2put routine, I could give it to you via E-Mail. Pls. e-mail me if you want one.
6. Any known bugs?
Aside from the occasional flicker? Yes. The ball sometimes gets "magnetized" while hitting the paddle. I cannot do anything about it since it involves the paddle speed VS ball speed. The paddle runs at 3 pixels per move while the ball at full speed runs at 2. 3+2=5 while collision detection is at most 2 pixels per detection, so the ball sometimes gets "trapped" inside the paddle. I could fix it by giving my paddle a one pixel speed but playability would suffer. Anyway, It's a rare occasion.
7. Other bugs?
Yes again! The ball sometimes gets stuck inside the bosses. Reason: Masking! Zero's tend to be "masked" so other boss areas tend to be transparent and the "collide" function could not detect it.
For other bugs you might encounter pls e-mail them to me. I would love to hear from you.
8. That power capsule looks like....
You're right! DarkDread's. I ripped it from one of his games. It's my way of giving tribute to people who help me a lot about Game programming. I just hope he doesn't get mad...
9. What would be your next project?
Either an RPG or a Shooter. And for the first time I would use a LIBRARY so it would look better. I've already developed engines for both. In fact, I used some of it in this game, notably the Word-Wrap DialogBoxes, Font routines, and Enemy movement patterns. If I only could draw better.... huhuhuhu. Any takers for sprite developer? hehehehe....
10. What methods of Colission detection are used in this game?
There are 3 methods of collision detection used in this game. 1. The ever popular point function,2. My "Inside" function and 3. Direcional collision detection( Defined by the constants UR,UL,DR,DL). All are found inside the "Collide" Function.
11. And the method for bouncing?
Vectors! You define the balls Direction by making it equal to ballspeed and negating(-) it when it hits something. The vectors are defined my the Global Variables BallXV and BallYV.
12. Do you have a Website?
NO! I just don't have the time to maintain it. Being unable to maintain a site would defeat its purpose. There are a lot of great sites out there anyway...
13. The Game is too hard.
In case you don't know, this is Arqanoid and not Pong! And Arkanoid is the hardest game I've known so far. I couldn't get past level 4 on its arcade version! This coming from a guy who could finish all the strikers 1945 series w/o losing a single life using any plane. I could get to 2-5 in strikers 1,Finished(Up to 2-8) strikers 2, and got to 2-7 in Strikers 3. That using only one token. My record still stands at the arcades. I could also finish all the Raiden games (except Raiden 1) with one token. I also got records at Raiden F Jet and Viper Phase.
You can actually make the game easier/harder using the level editor. You could also send your levels to me if you want to. I'd really appreciate it.
==================
V. Credits
==================
I would like to give thanks to people and entities who help me made this game(Directly or Indirectly).
Families & Friends
1. God/Jesus Christ
He gave me LIFE.
2. Anya Therese Lope
My daughter.
3. My Family(Pedro,Lily,Marie,Cristina)
They'll get mad if I don't mention them here.
4. Loreni Farillon
My Text pal. She took the time to chat with me via SMS at night when I feel like sleeping.
5. The Guys at WIC internet
Jason,Alan, Shote and Tin-tin. For allowing me to bsave my title screen there. My Hard drive is compressed so I'm having problems Bsaving. I also tested my game there on a Duron 800.
6. Archie Aurelio & Joey
My Arcade friends at ZAP ZONE.
QB Community
1. Andrew Ayers(Blast Lib)
Without you I've never have thought of making this game!
2. Chris Chadwick(PP256)
Made the game better looking.(w/o PP256 this game would look like SH%$!)
3. Vance Velez (VPlanet)
Reviewed my first game(Pacmaniod) paving the way for this game.
4. Gianncarlo (GBgames)
W/O his site(GBgames.com), I would never have disovered the QB community.
5. Jorden Chamid(FutureSoft)
Duh! As if you don't know it already. They're the best out there!
6. Vic Luce (VQB)
Taught me how to do masking. Also makes great tutorials.
7. Danny Gump (Dash)
Tutorial on get/put array system.
8. Steven Sivek
Rom addresses of Ascii Characters(Used in Kgen Fonts)
9. ZKman
Translucency (Non-Alpha blending type)
10. DarkDread
Dark Crown wowed! me and inspired me to make a QB game.
11. Andre
MilliDelay(very useful!)
12. Nesticle
Used to rip sprites from NES games. FYI, I own the original cartridge of the games I ripped sprites from. Best NES EMU!
13. KGEN and LoopyNES
Inspiration for my KGEN font routine and a very good NES EMU for the latter.
14. The QBTIMES
Provided me with the BMP file format.
15. NeoZones
Great Tutorial site.
16. Konami(tm)
Ripped LifeForce Sprites
17. Irem(tm),Compile(tm) and Broderbund software(tm)
Ripped the Guardian Legend Sprites.
18. Taxan(tm)
Ripped Burai Fighter Sprites.
==================
VI. Disclaimer
==================
This document and its accompanying files are provided as is. I take no responsibility for the inconveniences it might cause you. No part of this document may be altered(except when you modify the game itself). I give you the right to modify the Game in any way you want as long as you get permission from me, and you give credit to where credit is due. The license of this game is Freeware so Use or Abuse at your own risk....
*Arkanoid is a trademark of NAMCO
*Konami & LifeForce are TradeMarks of Konami
*Irem,Compile,TGL, and Broderbund holds the right to their respective trademarks
*Taxan and Burai Fighter are trademarks of Taxan.
================end of File=================================================