Login
Galaxy Wars
Title:Galaxy Wars
Category:Game/SpaceInvaders
Release Date:
Language:English
Size:16K
Machine:PAL & NTSC
Code Type:Basic
Distribution:Freeware
Game ending type:No end (highscore)
 Play Online!
Created by:dancresp
Notes:Straight conversion of the classic Taito coinop.
  External links:
    Wikipedia

User Rating: 7.3/10 (3 votes)
Galaxy Wars Title Screenshot

Galaxy Wars Screenshot


Hall Of Fame
1Csabo1,400Played on YAPE 1.2.1.
2Hannah450


Appeared On Compilations
Club Info 130


Publications
News: C&A Games 07 (Magazine/Polish) pg. 6


Author's Description
The Game
--------------
This arcade game was developed by Universal and manufactured by Taito in 1979.

The objective of the game is to destroy the invading fleet is in the top of the screen. To do that, you control a platform with a missile. When firing the missile must dodge the asteroids and enemy fire,then impact an invader.

Controls:
Press Z or X to move the platform and the missile to left or right.
Press the spacebar to fire the missile. (p.n.: RETURN shoots missiles instead of SPACEBAR)


Blocks
--------
I've divided the list into 11 blocks:

- Declaration of the matrices. Calling main routines.
- Check our platform or missile.
- Control of the invaders and asteroids.
- Control of enemy fire.
- Detection of missile impact. Touch asteroid, invader or enemy fire.
- Losing a life.
- Screen Presentation.
- Home of the game.
- Various Routines.
- DATA with machine code routine that duplicates the character set to another position.
- DATA with the game's graphics.


How It Works
-------------------
The entire program takes up 87 lines.

Here I indicate the principle of the different parts of the program:

10 - Define the matrices of the game.
30 - Initialize the record (R) and let the routine that redefines the graphics.
50 - Let the game's presentation.
100 - Move the platform or missile in the direction indicated.
130 - If you fired the missile (T = 2) jumps to 160.
140 - Pressing shoot the missile space and delete the.
160 - Delete the missile and modify the vertical (Y).
170 - If the tip of the missile touches something jumped to 400.
180 - Put the missile in the new position.
200 - Move one of the 6 rows of enemies or asteroids in the corresponding direction. (B = 1: Right, B = -1: Left).
210 - Print the row of the enemy.
250 - Let's see if this activates a 6 enemy bombs.
260 - If not, look if in a position of the screen there is an invader to activate your shot.
270 - If the shot touches the platform or missile jumps to 500.
400 - If the Y position is greater than 5 is that we hit with an asteroid or shot and jumps to 500.
410 - Calculate the position of the invaders destroyed.
420 - Do blast, it sounds a tone and calculate the points (50, 100 or 150).
430 - Delete the invader row and subtract an invader to the other (Q).
440 - Show the points and we pause (5500) and update the scoreboard.
500 - Put an explosion in the position of the missile and reproduce sound.
520 - Update the score of lives.
550 - If no more lives ends the game.
2000 - Presentation of the game screen.
2050 - Pressing a key erase the screen (5400) and flashes the score of player 1.
2500 - Assemble the strips of the invaders.
2510 - Routine randomly generated asteroids strips. More full at advanced levels.
2570 - Initialization of the main variables of the game.
5000 - Start routine to redefine the character set. Here is lowered RAMTOP 1KB.
5010 - Load the assembler routines from the DATA into memory and executed.
5020 - Copy the DATA of the graphics in the new position and change the screen colors.
5040 - Initialize height matrix of the various enemies V ().
5050 - keep on a matrix of each strip colors C ().
5100 - Routine that activates the redefined character set.
5200 - Enables the original character set. Ours goes memory resident.
5300 - Activate the default colors of the C-16 when in BASIC.
5400 - Routine screen blanking.
5500 - PAUSE routine. Value in (J).
5600 - Displays 6 rows of enemies in place and with the corresponding color.
8000 - DATA values ​​of machine code routine that duplicates the character set to another memory location.
9000 - DATA line with the game's graphics.


Game Notes
-----------------

Schedule time mulling over this game and has been ideal for my first foray into programming the C-16.

Finally a Commodore computer with decent BASIC!

Major discards from the original:
- This version is wider and less high as in the original game the screen is vertical.
- There is a row of asteroids less, due to the sheer size.
- During the ascent we can control missile horizontally, but do not control the speed.
- The invaders do not accelerate when only a couple left.
- The asteroids do not descend to reach the ends.
- Scores are limit yourself to 50, 100 and 150 points.
- No animations on enemies.

The first problem has been to redefine the graphics, as this system does not allow it from BASIC.

Luckily I had a routine in a copy of a magazine of C-16 and after some slight modification I have been able to use without problems. The routine handles lower RAMTOP copy 1KB and 128 characters Set 1. From here we can redefine from BASIC without problem. With a couple of POKE can activate and deactivate the alternate character set.

The control is very simple enemies. There are 6 strips with the enemies in its corresponding position. The even rows are rotated to the left and right odd. With LEFT $ and RIGHT $ move a character from one extreme to another and print the row with the corresponding color. All very fast and easy with the CHAR command.

The main program block occupies only 17 lines. In each move past a row of enemies and enemy control it a shot. The meter is common in the two cases (A).

To gain speed've dispensed with the animations of the enemies. I have chosen to use the graphics interspersed.

I check in collisions only if the head of the missile touches something, but not the bottom. Regarding the active enemy bombs checks only touching something. This makes the game more quickly, but it may be the case we hit something and did not miss anything. As the process is fast, has a risk ... and better not gamble.

To detect collisions I access directly to the memory area reserved for the video. There is 1 KB for characters and one for the color attributes.

About The Team
------------------------

This is my first program in C-16 and the truth is that the experience has been entirely satisfactory. Finally I was able to use a Commodore computer and program it in comfort.

Has a good BASIC with many commands unthinkable in the VIC-20 and C-64.

Topics as cumbersome as putting something in a certain position of the screen, play a sound or access a joystick has its own commands.

There are also commands to access the drive easily. View the contents of a floppy, copy or delete a file is no longer a problem.

The only drawbacks that I have found is that the cassette is very slow, which is typical in Commodore computers, and have had the details of the cassette change connectors and joystick. It has not been necessary to use the commands that allow us access to the levers of control.

The computer is low on memory, but the truth is quite rife. It even allows the use of high resolution graphics multicolor mode. For now I do not know how to do ...

Copyright © Plus/4 World Team, 2001-2024. Support Plus/4 World on Patreon