(v02 02-22-23)
TO LOAD THIS PICO-8 CART, in immediate mode, type:
load #pvader
VVHAT'S NEW ?
(02-24-23)
-
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.
- I added a new fire-element, filled oval which you can see when you shoot the flying saucer. So the elements are now:
(Add Fire Element) function addfireelem(Element,x1,y1,(x2/Radius),y2) Element= 0 = Dot (x1,y1) 1 = Line (x1,y1,x2,y2) 2 = Rectangle (x1,y1,x2,y2) 3 = Circle (x1,y1,Radius) 4 = Oval (x1,y1,x2,y2) Call function fireball() when ready. |
- There is about a second or so delay when the game ends so you do not suddenly return to the menu without having had a chance to see your final score.
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
My best score is 523. Can you top that ?
Good luck !
As always if you like what I did here, you found a bug, have some suggestions to make the game more challenging, or have any questions about the two primary functions I provided here to use in your own code, please let me know !
If you post your score, please post a video showing how you got this. To do so, load the game in purchased Pico-8 to execute in offline mode. Run it. Press F8 to start to record video. Play the game. When your score is high enough, press F9 to end the recording of the video. Post your score and video here for all to see. Upload video (*.gif) as picture in your post, and there you have it. :)
THANKS !
I got 2334 with some good luck and burning through extra lives π Gold star'd!
2334 !?
Wholly smokes, @Verb ! Here I thought I had a great score with 400 where it's impossible for me to track the invader and yet you ...
I would LOVE you to record and post that video here with F8 and F9 starting at the 1st level ! Just how fast is that invader going at that point level ??
Incredible ! Well, you get my star right here and now in your post for such an almighty score.
Very well done !
Thanks too for the cart star. I'm thinking maybe I made this post too technical as well, so I may separate it into two different posts.
One to detail the code itself and how to make use of the 2 functions I wrote for others.
And two just for the game itself to list tips and techniques and to see who can beat what score.
Again. Nicely done !
OK you kids are out of control, @mar21001. :D
Not tonight, tomorrow maybe I'll post an updated version. If you lose a life, you do not reappear where you left your tank, but the middle as your first player appears to start.
Let's see if that doesn't curb some of the incredible scoring I've been seeing. Wow.
You must all have the skills of a hawk is all I can say ...
Well done !
I still would like to see someone post a proof video from the beginning with a zero score with F8 and F9.
Great game @dw817 - another example of a simple concept making an entertaining game.
I can't even get to 400 let alone these insane scores in the thousands.
However I am glad that the "crab" invader always wins in the end...
Hi Phil:
Thank you ! I'm glad you like the game.
And you certainly made my day. I knew I wasn't the only one that was having difficulty getting a high-score for this game. And I wrote the fool thing. :)
Yes, there is no winning level ... I'm wondering if there should be. For these hot-shots it could be reaching a score of 5000 or so.
I will have to give it some thought. In any case today I will post my update to it - very minor changes, some of them, but I think will help overall and add to make it more challenging.
[Please log in to post a comment]