Title: コスモガンシップ (Cosmo Gusnhip)
System: Family Basic
Author: 
Publication: ファミリーコンピュータゲーム攻略㊙︎テクニック (Family Computer Game Strategy Secret Techniques)
Page Scans: 
Preserved By: ozidual
Recommended Emulator: VirtualNES

Article Translation

"I am suffering right now. A man whom I once called a comrade is flying off in a gunship right in front of me. I must shoot him down. He is a deserter. If it had been just a desertion, I would have let him go, even if I received orders. However, he has taken so much that I cannot allow that. If I do not follow orders and shoot him dead, it will bring about the annihiliation of our Central Galactice Federation. Therefore, as a soldier of the Central Galactic Federation, I must kill him in order to protect the Federation.
However, among the young soldiers who criticize me, there are some who want to protect him. Of course, I can't forgive those guys. I have no choice but to defeat them. Please, guys! Will you be on my side?"
"You'd better not do it. You can't listen to that stubborn soldier. He used to be a good guy, but after he was selected by the Federal Military and had his brain modified, he became a power elite. He's become a puppet of the military. I've raised the flag of rebellion against the military dictatorship that is only called the Federation. But this is a fair fight. First, I got hold of the design memory of the super weapon that the Federal Military developed in secret. I'm going to hand this over to the Republic Army and fight the Federal Army. You guys! Please help me. I beg you! The battle will begin soon when we arrive at the Republiv Army's secret base on Planet Zeke. You guys! Please help me!"

It's an amazing two-player action game!

The two Cosmo Gunships are headed for Planet Zeke.
So the battle was brought to the base on Planet Zeke. Planet Zeke is a planet abandoned by the Federal Government, and the base is deserted. The gunship entered the base and was joined by the two other gunships. They had been waiting! The pursuing gunship also arrived, bringing with it the two closest gusnhips. The battle begins!
The battle finally begins, but this game is for two players. So each player becomes a warrior who believes he is right and fights. Although both are three gunships, they fight "against each other".
The Cosmo Gunship moves relatively slowly. When an enemy (or what you think is an enemy) is in front of you, press the A button to fire a laser. If the laser hits the ship, it will explode.
You can slip through obstacles along the way, so they're good for hiding. Use your Cosmo Gusnhip skillfully and move forward! Whatever you do, destroy all three of the enemies (again, those you think are your enemies)!
The fact that this game is a two-player game is surely what makes it so special. Up until now, even when two-player computer games were made, most of them involved players taking turns playing and competing for the highest score, but with the Famicom, there has been an increase in games where two players play against each other, get in each other's way, and cooperate with each other. I think this is a great thing. Computer games tend to be dark, but when two people get together, some kind of voice will be heard and some emotions will be stirred. In that respect, two-player Famicom games are very bright. "Cosmo Gunship" is a two-player game that aims for that same feeling.
What? You say it's slow? Don't say that. It's true that if you're playing a simple game like this by yourself, the relatively slow movement will bother you, but if you play with someone else, you won't notice it. It's pretty exciting, really.
The reason I started this game commentary with a monologue in the style of a science fiction drama was to heighten the sense of realism.
"Yeah! You Traitor!"
"What the hell, you Federal Government dog!"
"You idiot! Wake up!"
Just kidding. I think it's fun to play games while talking to each other. If you get a taste of this, why not study Family Basic and make your own two-player game and play it? If you make a one-player game, it will probably be boring when you play it by yourself, but if you play it with two players, it will be more interesting. I think it's a good idea to put in the effort and try playing around with it first for sure!


Code

10 DIM X(1),Y(1),N(1),HX(1),HY(1),PS(1)
15 CLS:VIEW:X(0)=50:Y(0)=100:X(1)=182:Y(1)=100:SPRITE ON
20 CGSET 1,0:LOCATE 2,22:PRINT  "POINT  ";PS(0);"      POINT  ";PS(1)
30 N(0)=0:PR=0:GOSUB 300:N(1)=0:PR=1:GOSUB 300:GOSUB 600
40 FOR I=2 TO 7:POSITION I,128,128:NEXT
50 FOR PR=0 TO 1
55 S=STICK(PR):IF STRIG(PR)=8 THEN GOSUB 400
60 IF SCR$(XPOS(PR)/8-2+HX(PR),YPOS(PR)/8-3+HY(PR))<>" " THEN CUT PR
65 IF XPOS(PR)<24 OR XPOS(PR)>226 OR YPOS(PR)<32 OR YPOS(PR)>176 THEN X(PR)=66:Y(PR)=100:GOSUB 300
70 ON S+1 GOTO 180,80,90,180,100,110,120,180,130,140,150
80  N(PR)=3:HX(PR)=2:HY(PR)=0:GOTO 200
90  N(PR)=7:HX(PR)=0:HY(PR)=0:GOTO 200
100 N(PR)=5:HX(PR)=0:HY(PR)=2:GOTO 200
110 N(PR)=4:HX(PR)=2:HY(PR)=2:GOTO 200
120 N(PR)=6:HX(PR)=0:HY(PR)=2:GOTO 200
130 N(PR)=1:HX(PR)=0:HY(PR)=0:GOTO 200
140 N(PR)=2:HX(PR)=2:HY(PR)=0:GOTO 200
150 N(PR)=8:HX(PR)=0:HY(PR)=0:GOTO 200
180 NEXT
190 GOTO 500
200 X(PR)=XPOS(PR):Y(PR)=YPOS(PR)
210 GOSUB 300
290 GOTO 180
300 DEF MOVE(PR)=SPRITE(8,N(PR),5,30,1,PR)
310 POSITION PR,X(PR),Y(PR):MOVE PR:RETURN
400 FOR I=2+PR*3 TO 4+PR*3
410 IF MOVE(I)=-1 THEN 490
420 DEF MOVE(I)=SPRITE(12,N(PR),2,50,1,0)
430 POSITION I,XPOS(PR),YPOS(PR):MOVE I:PLAY"T1O5C:T1O5F"
440 I=5+PR*4
490 NEXT:RETURN
500 FOR I=2 TO 7
510 IF MOVE(I)=0 THEN ERA I:GOTO 590
520 X=(XPOS(I)-16)/8:Y=(YPOS(I)-24)/8
525 IF X<0 OR Y<0 OR X>27 OR Y>20 THEN CUT I:ERA I:GOTO 590
530 IF I=2 OR I=3 OR I=4 THEN PR=1:GOTO 550
540 PR=0
550 IF (XPOS(PR)/8-2)/2 = X/2 AND (YPOS(PR)/8-3)/2 = Y/2 THEN 700
560 IF SCR$(X,Y)<>" " THEN CUT I:ERA I
590 NEXT:GOTO 50
600 FOR Y=3 TO 16 STEP 2
610 FOR X=2 TO 24 STEP 2
620 COLOR X,Y,0
660 IF RND(5)=1 THEN LOCATE X,Y:PRINT CHR$(192)+CHR$(192):LOCATE X,Y+1:PRINT CHR$(192)+CHR$(192)
690 NEXT:NEXT:RETURN
700 X(PR)=XPOS(PR):Y(PR)=YPOS(PR):DEF MOVE(PR)=SPRITE(10,0,1,255,0,0):POSITION PR,X(PR),Y(PR):MOVE PR
710 PLAY "T5C5:T5E5:T5G5"
720 PS(ABS(PR-1))=PS(ABS(PR-1))+1
730 IF PS(0)=3 OR PS(1)=3 THEN LOCATE 5,10:PRINT ABS(PR-1)+1;" PLAYER WIN!!":GOTO 800
750 IF MOVE(PR)=0 THEN CUT 0,1:GOTO 15
770 GOTO 750
800 LOCATE 10,12:PRINT "TRY AGAIN "
810 PS(0)=0:PS(1)=0
820 IF STRIG(0)<>0 THEN 15
830 GOTO 810