+Atarius Maximus Posted November 18 Share Posted November 18 I started reading @Karl G's most excellent Minikernel Developers Guide and thought it would be fun to try and make a new one myself. I also wrote a new bB game (Gunfire) that demonstrates it's use. This is the final version of each, however I will address any problems found. A ton of thanks to Karl G for his help, he really should be credited as a co-author as he provided me with so much help on this. I couldn't have done this without him. I'm making great progress on my general understanding of assembly language now thanks to him. There are already many different bB minikernels available so coming up with something completely new and different that would fit my novice skill level was a little difficult. This one does provide similar functionality to what's already out there with a status bar and life counter. The main difference with this one is that the status bar uses a full-width mirrored playfield, so the bar itself counts up from the middle to the outside of the screen, or counts down from the outside of the screen on both sides to the middle. It is customizable by height and color. The minikernel also offers the ability to add a custom lives counter with a sprite, which can be a statically defined sprite in your bB code just for the lives sprite, or it can re-use your already defined player0 sprite (allowing for the life counter sprite to be animated). All of the options are described in the user's guide I'm attaching to this post. Because it's yet another minikernel that offers a status bar and a life counter, I decided to name it YASB, or yet another status bar. To use the minikernel, put “include yasb.asm” at the beginning of your code for a 4k project, and “inline yasb.asm” at the end of your code for a multibank project. As of this writing it has only been tested with a 4k project. I did test that putting the include statement at the end of the code in a 4k standard kernel project does work, however the recommendation is to put it at the beginning. The Gunfire game is inspired by Hogan's alley. It is a 4k game, and in order to squeeze in everything I needed I edited the default.inc file in the includes subdirectory and commented out pf_drawing.asm and pf_scrolling.asm as I was not using either one. You'll have to do the same if you'd like to compile the game yourself. Instructions for Gunfire: Move your crosshair over the target you wish to shoot. Shoot the frowning Targets (The bad guys). Don't shoot the smiling Targets (The good guys). If you shoot a smiling target you lose a life. If you fail to shoot a bad guy before the timer runs out you lose a life. You will score 100 points for shooting a bad guy. Bonus points are awarded for how fast you shoot the bad guys (Extra 10 points per timer unit remaining). Level up every 12 target changes and speed will increase each time. The game reaches it's maximum speed after 60 targets have been passed and you will not level up again. If more than one bad guy appears, you only need to shoot one of them to pass the round. There are no powerups or extra lives granted. Gunfire_v0.6.bas Gunfire_v0.6.bin yasb.asm YASB User's Guide v1.1.pdf This is the modified default.inc file I'm using to compile Gunfire. By default it is located in the includes subdirectory in the standard batariBasic distribution. This area was changed... ; below are collections of subroutines and functions ; if you have any more to add, put them immediately below this line. pf_drawing.asm pf_scrolling.asm std_routines.asm ...and I simply commented out (putting a semicolon in front of the entries) the pf_drawing.asm and pf_scrolling.asm lines. ; below are collections of subroutines and functions ; if you have any more to add, put them immediately below this line. ;pf_drawing.asm ;pf_scrolling.asm std_routines.asm default.inc 6 1 Quote Link to comment https://forums.atariage.com/topic/375644-a-new-minikernel-and-a-new-game/ Share on other sites More sharing options...
+Atarius Maximus Posted November 18 Author Share Posted November 18 I also tested this minikernel with the bB multisprite kernel. Rather than write a new multisprite kernel game from scratch to test it, I modified a copy of acousticguitar's MissIt. This new version uses the status bar to slowly count up to 162 seconds, at which time the game ends and you "win". The timer of course moves very slowly, you won't see the first block on the timer yet at the very beginning of the game. I didn't spend a whole lot of time on this one, it was really just to verify that it worked with the multisprite kernel. Missit11.bas Missit11.bas.bin 3 2 Quote Link to comment https://forums.atariage.com/topic/375644-a-new-minikernel-and-a-new-game/#findComment-5567665 Share on other sites More sharing options...
LatchKeyKid Posted November 18 Share Posted November 18 Thanks and I'll take a look! I've found the minikernels to be very helpful and appreciate you putting the work in to add a new one to the mix. 1 Quote Link to comment https://forums.atariage.com/topic/375644-a-new-minikernel-and-a-new-game/#findComment-5567787 Share on other sites More sharing options...
+ZeroPage Homebrew Posted November 19 Share Posted November 19 ZeroPage Homebrew is playing Gunfire and the EXCLUSIVE WORLD PREMIERE of The Realm of Riesig from Atarius Maximus along with a LIVE INTERVIEW on TONIGHT's ZPH stream LIVE on Twitch! Hope you can join us! Tue Nov 19, 2024 | LIVE @ 6PM PT | 9PM ET | 2AM GMT+1Day WATCH LIVE: https://twitch.tv/zeropagehomebrew/ WATCH LATER: https://youtube.com/zeropagehomebrew/ Games: The Realm of Riesig (2024 Exclusive World Premiere | 2600) by Maximus Games / Steve Engelhardt @Atarius Maximus Cave Trap (2024 Final | 2600) by Maximus Games / Steve Engelhardt @Atarius Maximus Gunfire (2024 WIP | 2600) by Maximus Games / Steve Engelhardt @Atarius Maximus 2 Quote Link to comment https://forums.atariage.com/topic/375644-a-new-minikernel-and-a-new-game/#findComment-5568506 Share on other sites More sharing options...
chadlung Posted November 19 Share Posted November 19 This looks really good, thanks for posting it and the source code. 1 Quote Link to comment https://forums.atariage.com/topic/375644-a-new-minikernel-and-a-new-game/#findComment-5568512 Share on other sites More sharing options...
ZilchSr Posted November 22 Share Posted November 22 We are playing GUNFIRE in our AtariAge Atari 2600 High Score Club! Quote Link to comment https://forums.atariage.com/topic/375644-a-new-minikernel-and-a-new-game/#findComment-5569995 Share on other sites More sharing options...
+Atarius Maximus Posted November 22 Author Share Posted November 22 5 hours ago, ZilchSr said: We are playing GUNFIRE in our AtariAge Atari 2600 High Score Club! Cool! Thanks for including it. I guess it wouldn't really be fair for me to participate. 1 Quote Link to comment https://forums.atariage.com/topic/375644-a-new-minikernel-and-a-new-game/#findComment-5570082 Share on other sites More sharing options...
ZilchSr Posted November 22 Share Posted November 22 2 hours ago, Atarius Maximus said: Cool! Thanks for including it. I guess it wouldn't really be fair for me to participate. It would ABSOLUTELY be fair if you participated. As a matter of fact, if you DID participate, I would set up another bonus ... A "BEAT THE CREATOR" bonus, and you whatever score(s) you got. That will incentivize the players to keep playing! 1 Quote Link to comment https://forums.atariage.com/topic/375644-a-new-minikernel-and-a-new-game/#findComment-5570151 Share on other sites More sharing options...
+Atarius Maximus Posted November 22 Author Share Posted November 22 6 hours ago, ZilchSr said: It would ABSOLUTELY be fair if you participated. As a matter of fact, if you DID participate, I would set up another bonus ... A "BEAT THE CREATOR" bonus, and you whatever score(s) you got. That will incentivize the players to keep playing! I haven't participated before but I can throw my hat in the ring for this one. I really thought I'd be better at my own game, so far my best is 18,790 which isn't even up to your +10 bonus level of 20k. I'm going to keep trying to do better and I'll post up my scores on the high score thread when I'm done trying. 1 Quote Link to comment https://forums.atariage.com/topic/375644-a-new-minikernel-and-a-new-game/#findComment-5570357 Share on other sites More sharing options...
ZilchSr Posted November 23 Share Posted November 23 7 hours ago, Atarius Maximus said: I haven't participated before but I can throw my hat in the ring for this one. I really thought I'd be better at my own game, so far my best is 18,790 which isn't even up to your +10 bonus level of 20k. I'm going to keep trying to do better and I'll post up my scores on the high score thread when I'm done trying. That would be AWESOME!!! and we are absolutely thrilled to have you participate!!! Quote Link to comment https://forums.atariage.com/topic/375644-a-new-minikernel-and-a-new-game/#findComment-5570589 Share on other sites More sharing options...
Krunkcleanup Posted November 25 Share Posted November 25 This is a great game for only being 4k! I was thinking of was that it would be cool if you could blow off the bad guy's hats to get more points or something like that. Although, that would probably make it more than 4k. Quote Link to comment https://forums.atariage.com/topic/375644-a-new-minikernel-and-a-new-game/#findComment-5571760 Share on other sites More sharing options...
AtariSphinx Posted Saturday at 06:29 AM Share Posted Saturday at 06:29 AM Fun game. Any possibility of enabling the use of the XG-1 Atari light gun in perhaps a larger rom version? Quote Link to comment https://forums.atariage.com/topic/375644-a-new-minikernel-and-a-new-game/#findComment-5580122 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.