This is very smooth, thanks for sharing!
(I like anything with the word vector in it, will be having a look under the hood!)
My only question - so where's the time machine? Today's date being the 5th!Code: QB64: [Select]
' Terry Ritchie ' February 10th, 2020 ' QB64 V1.3
Hey welcome back!
This is awesome! Now I found out what I'm gonna be doing for the rest of the night. :-)
I can't blame you for being away for so long. It must have been murder trying to code even a few lines per day with such a bad case of asteroids, especially the wide screen kind. I hear those require lots of Preperation |---|.
Pete
Use the pause button now and then to give yourself a break :-)
By the way, my high score is just over 60,000, wave 11.
so far im up to 16800, i forget which wave it was though, either 4 or 5.
Seriously think this might be better than the original
(...) it seems if you hit an asteroid and one of your bullets hit it at the exact same time the kill will not get recorded and the ship will respawn in the exact location almost immediately
That's what I was striving for. I love the coin-op Asteroids but always wish it was just a bit harder, with more effects, and more asteroids. The wide screen format provides the room for more asteroids. The program also notices when you "saucer hunt". The small saucers will start coming out and target you AND the remaining asteroids, forcing the next wave to appear.
The program continues to get progressively harder until wave 12. After that it will still count the waves encountered, but large asteroids will top out at 16. By that time though you have been thoroughly whipped just getting there. I never liked how in the original Asteroids you could somewhat "master" it. I doubt this version could be mastered, meaning that when you get a high score you've actually earned it. :-)
Oh, and there is a bug I just discovered tonight. I'm not yet sure how to trigger it but it seems if you hit an asteroid and one of your bullets hit it at the exact same time the kill will not get recorded and the ship will respawn in the exact location almost immediately. I don't yet see in the code where this could happen but it has happened to me twice now while playing. I've been purposely hurling myself at asteroids while firing in hopes of figuring out how I can trigger it at will to get an idea of where the bug lies.
Call it a feature and name those “the resilient ones”.
Always rich times when you’re around Terry! Welcome back.
...Always rich times when you’re around Terry! Welcome back.
Fixed. New dev build now contains a fix for it: https://www.qb64.org/portal/development-build/ (from git 03ba53e (https://github.com/QB64Team/qb64/commits/development))
Excellent. That was fast. There's a special place in heaven for those who can navigate the source code.
I think I found another bug but this time with $EXEICONfor who has no time to download now the fixed version of QB64 1.4
Fixed. New dev build now contains a fix for it: https://www.qb64.org/portal/development-build/ (from git 03ba53e)and he / she wants to try now the Asteroid Widescreen of Terry, well He/she can do this adding at start of namefile the path .\
Just now tried your game. Had a minor issue on line #2505 with the font name. As I run with Linux it complained about the case sensitivity of the font name. Other than that, it ran like a charm, got killed off more times than I liked, but ran like a charm none the less... Great game!!
A little snippet of code for you to study, which you might want to incorporate into your game:Code: QB64: [Select]
I've got one of the XBox style joysticks hooked up to my computer, with 12 buttons and 6 axis on it, and this little routine reads every input just fine. Each button is an independent value of _BUTTON(1) to _BUTTON(12), and the 3 directional pads are represented by the axis.
Button values of -1 means the button was pressed down.
Axis values of -1 mean the axis was pushed fully left (or up), while values of 1 mean it was pushed fully right (or down), which is why I have this little demo checking for ABS() = 1.
_DEVICES is simple enough to add into an existing program, and you should be able to add it to your game with very little effort and offer joystick input for your users. ;)
I'd also like to suggest adding a little config set-up option later, so an user can customize which of their keys relate to BUTTON A, BUTTON B, SELECT, START, and movement keys.
Sorry I have been away for so long but...
Great to have you back, Terry. Now the QB64 community is again complete.
I've attached an example of what the docs will look like (PDF).I can say very good!
Hack away :-) Love to see people make my code better for their purposes.