P-Vader - Revenge Of The Invaders

Published 2023-06-12


(v02 02-22-23)
TO LOAD THIS PICO-8 CART, in immediate mode, type: load #pvader

VVHAT'S NEW ?

(02-24-23)

Hello.

It was believed a cart I wrote years ago to turn every pixel on the screen into a flammable point could not be used to develop a game. To see that original cart, go HERE:

https://www.lexaloffle.com/bbs/?tid=27955

The Arcade Stars comes from HERE:

https://www.lexaloffle.com/bbs/?tid=35466

Well, that is what this is. I started to write this on 02-16-23 and finished 02-22-23. Proof that a game can in fact be developed using my method which scrolls stars on the screen, independently controls and draws sprites, and ignites every marked pixel on the screen. To do so I am taking advantage of extended memory and page-swapping really 3-pages altogether.

The first layer is the stars. The next is the game screen where the sprites are drawn. And the third is the screen where marked pixels combust - all operating independently of each other.

This code is proof that all 3 can be combined. It is also highly documented throughout as you can see above.

The original game is based upon an old Intellivision cartridge called "K-Vader" and the premise is the same except I don't think it uses the same scoring methods. I wanted to write my own and try to make it more challenging besides.

okay so the scoring method I chose is the following:

First off there are =2= different targets, the space invader and the flying saucer.

[16x8]

The saucer will not appear except once every 100 points. so when the saucer appears it will appear so long as your score is at or over 100 points.

Every time you shoot the flying saucer you get a free tank but NO CHANGE to your score. This is not so easy to do on more difficult levels as you may be overrun by the invader while attempting to shoot the slow-moving saucer, and it never changes in speed which can be an advantage to begin with and a challenge to hit it later on.

Once you shoot it though, the next score target is 100+ that so it would be 200-points, and so on.

The invader itself starts out moving slowly enough you can peg it with your laser cannon, however every time you shoot it, a new one appears at the top and travels even faster.

The scoring is simple. shoot the invader and get 10 points plus your current level. Once your score is added, then the level increases by one - also increasing the speed of the invader.

For every time the invader descends, you =lose= 1 point.

The invader level starts out as zero and goes up one point each time you successfully shoot and destroy the invader.

You start with one tank and two spare ones. A total of three.

And yes this is the only attack the invader has, is to overrun your tank.

If you are overrun, however, you will lose one of your tanks in stock and the invader will be stepped down 2-levels of speed to compensate.

Seizure warning: Be aware there is .5 seconds of flashing red when you lost a tank.

If you do lose all your stock of tanks including the one you are navigating, it is game over.
Press 🅾️ to restart the game which will recall your high-score.

Your score is recorded using the cartdata() method so even if you shut this game down and come back to it later, it will always remember your best score listed as hi-score.

To erase your hi-score, at the main menu hold down the ❎ key until the red-line crosses entirely from the left to the right. then your hi-score will have been reset to zero.

S E C R E T S T O B E S T P L A Y
UPDATED: 02-24-23

[16x8]

There are many methods to racking up a high score in this game.
.
If you wait for the invader to drop down to the level of your tank, while in early missions it is not so difficult to shoot your target, in later it is. And you are penalized 1-point of your score every time you allow the invader to descend a row, and that might make it difficult for you to get the saucer which only appears when your score has reached 100, 200, 300, etc. points.
.
Try to get in the habit of shooting the first run of invaders before they can descend at all. And if they do, develop a pattern for catching them on the next row. Nothing is more frustrating than firing and missing every time. Practice practice makes perfect.
.
One method is to get on the far left or right side and then you have more time to shoot the invader as you will have twice the chance to hit it as it crosses from the left into your sights and then the right - and vice-versa.
.
As for the flying saucer, once it appears it is vital you shoot it. Give it top priority. But also be careful. Look around at your position. Are you going to be overrun in the next second ? Then ignore it and focus on shooting down the invader.
.
Only shoot the flying saucer when you know you have plenty of time - because it takes time for your shot to leave your tank and travel all the way to the top, and if you miss, you wasted that much time and you could lose the bonus tank by not hitting the saucer.
.
However if you have no tanks in spare and you are about to be overrun, you have to make a critical decision, can you shoot the saucer in time to gain a bonus tank or should you ignore it and try to hit the fast-moving invader instead ?
.
It's up to you to develop your own techniques as for getting a high score - and then challenge yourself to beat that !

The player now appears in the middle after you lose a tank, just like when you start the game.

Because of the incredibly high scores, I have tweaked the speed of the invader slightly to be faster over time.

Also because of the high scores I am seeing, I am setting it so the flying saucer makes one pass. Once it goes off the edge of the screen to the left, it will not reappear until you make another +100 score. So now it's vital you shoot it when it appears. If you somehow miss it, it will appear again once you get your score +100 again.