Jump to content

KevKelley

Members
  • Posts

    1,207
  • Joined

  • Last visited

Everything posted by KevKelley

  1. This is like some weird CAPTCHA
  2. Thinking about it, I suppose you could also plug this into a sequencer…
  3. Perhaps one day I can get these out for purchase. Or at the least a kit.
  4. Basically yes. A drum pad, trigger, or pedal detects the hit and sent to the console via the controller port. My thoughts were for multiple uses. I like the idea of electronic musicians using the Atari as an instrument. I loved the SynthCart and newer things like Jam Loopy but feel while other 8-bit sounds get all the praise, like the SID chip in the C64 (I love the Sonicware 8-bit warps synth), the 2600 has such a great lo fi crunchy sound that can blend nicely with either electronic music or even garage bands that want to mix some electronic sounds. I also like the idea of the Atari “augmenting” or complimenting an analog drum kit. I love the Dubreq Pianomate. While they are more well known for the Stylophone, they had made an attachment that sat on a keyboard so when you pressed a key it also played a tone from an amp giving you both an acoustic and electronic sound. I also love the idea of using cartridges with a drum synth. Like older synths from the 80s that used cartridges to do things like store instrument sets, I thought what better way to support a drum controller than to have the potential for various synthesizer programs made for it. Whether it is drum kits, or maybe different programmers take different approaches in utilizing both channels of the Atari. Maybe make fun drum games like a Drum Hero or rhythm trainer. Or Track and Field style games but instead of an athlete you control a musician. While I have my simple test program that I made, I have a couple design ideas. The basic one would be similar to how some drum machines work, where I will have sound banks for each part of the drum. Then you customize the kit by pressing the foot pedal and hitting the pad you want to change. I also want to make a synthesizer program that allows you to modify the parameters of the drum. The possibilities are endless.
  5. Maybe. I am not really a drummer or a live performer. Two of my main hobbies are Atari and vintage electronic instruments that I use to record music. I typically would record and edit but I love fiddling with weird electronic musical gadgets. I stumbled upon this idea one day when I was reading the schematics for a drum pad I bought and then saw how simple it was and that it handled the same voltage as what can come out of a controller port. I wondered if I can somehow hook them up. I didn’t really do much with this idea until I found a breadboard in Goodwill along with some foot pedals and decided to come up with something. I had been finding it hard to finish but stumbled on a fortune cookie while cleaning that told me to be creative so I took the time to hammer this out. Once I figure it out, I will try to make a much better video than a quickie with my iPhone. I will hook up my bass amps and mics and try to mix it into something for a demo… but I also need to write a program now to feature this device and plan maybe a second device. While I am not a live musician, I wanted this thing to be for a stage if needed. That is why I opted to make a pedal control (all of the jacks can operate with pedals but I wanted one for selection so a player can manipulate the device while playing). This idea leads me to the idea of a two drum controller program.
  6. I bet if the sensitivity is dialed in you can probably tap your way to finish real quick. Lol
  7. Hello! Normally I hang out in the batari Basic and programming forum trying to make games but this has been a side project of mine for a couple years and I have finally made a working prototype to share. I present the Atari Drum Machine Controller (and sample program). Basically this is a controller that can plug into either foot pedals, piezo triggers, or drum pads. It features five buttons, four of which also correspond to a 1/4” jack and a dial for sensitivity. How It Works First you would place your Drum Brain cartridge into your Atari or compatible system (I have not tested on modern devices like a Retron 77). You plug the Drum Controller into a controller port. Now you can attach the Drum Controller to your preferred drum kit setup using one of the four 1/4” jacks. You can run a 1/4” cable from the Drum Controller to an electronic drum pad or you can plug a piezo drum trigger into the Drum Controller and attach the trigger to a drum head, hi-hat, or cymbal. You also have the option of plugging a foot pedal into any of the jacks. There is also a fifth 1/4” jack reserved for a foot pedal. This is designed so that programs can be made to allow for hands free operation during play, like if sounds needed to be changed, kits customized, etc. Once plugged into your preferred input method, you must then calibrate the sensitivity using the corresponding dials since each trigger or drum pad is different. You do this by turning the dial all the way off so that the trigger is continually activated. Then slowly turn it until it stops. You can then adjust it to make it more or less sensitive to accommodate your kit and playing style. There are also five buttons on the top of the Drum Machine that can trigger the sounds as well if you would like to use this as a game controller, hand drum machine, or if future programs utilize menus or button presses to customize the kit. Here is a poorly made video of it being tested.
  8. I know DPC+ has a bit of a learning curve vs regular kernels but it might help to go into a little more detail, post your code, or upload a .bas file to pinpoint the issue. I use Random Terrain’s website as a kind of batari Basic bible. It has gotten me through many problems. Even when I think I am good I always forget a tiny detail.
  9. So I started programming the basics for the secondary game with bonuses. I was trying to think of items so I was working on one where it will stop asteroids if shot and another that will reverse directions. These will appear on what appears to be little platforms in the city. i am trying to think of the best way to make it work. I also want to have your shots charge up or deplete and perhaps different laser lengths. I think if I make a single player with enemy AI I may have to delete an asteroid to make it work. Should be fun to make.
  10. Great program @ZeroPage Homebrew! Thanks for playing! A couple of the things have been fixed (or getting fixed) in newer versions. It looked like you had a slightly older one with the disappearing missiles. That has since been corrected and was a result of some things not getting reset based on the player coordinates at point of impact. As for the speed up asteroid, that is mostly fixed but I think that is a similar issue. As @Karl G mentioned, debugging 2-player games can be hard but on the plus side for this game, since the players are both player0 it simplifies things as a fix for one fixes for both. I do use separate missiles and the ball for collision to deal with the issue of half the asteroids and players being drawn every other frame. I had also just added player collision with each other. I have also been tweaking the city a bit to make it look a bit nicer. I still have to play the original to compare gameplay but I think the 2-player version may be close to complete. While my to do list is still one I want to accomplish, some things have changed. Mainly I had originally shared a missile when starting and I didn’t use the ball yet… I have already started work on adding different options, such as adjustable player or asteroid speed. While I don’t have the ball or missiles anymore I can utilize additional sprites and place them at the top or bottom to avoid flicker. I also want to add occasional power ups. As for a single player mode, what I was thinking was try to have the player move and shoot at the player and perhaps do a check on the asteroids and depending on their distance and direction maybe change the computers movement. Another single player idea I was thinking of was maybe have something like a moving target fire or maybe a moving goal that you must shoot the asteroids into. I’m sure I can come up with a couple single player options. The main thing for me was keeping the 2-player mode as close as I can get to the original.
  11. So I think I figured out the disappearing missile. The players are each drawn every other frame. When they crash it is at player0y+3 but then it raises at player0y-2 and when respawning it checks to see if the player is greater than a certain number so after testing it kind of seemed as if when crashing at certain heights, after the descending and ascending things just didn't quite level out and reset. So I added one part to the respawn code by setting the final player y-coordinate: AUDV0 = 0 : n = 0 : m{0} = 0 : player0y=160 :goto P0_MOVE_PUSH ; fully respawned and ready to go It seemed to work and each respawn I had conducted the missile was then present. I suppose I could have also changed the line above to be equal to or greater than 160, as when I tested that it had also worked. if player0y >= 160 then player0y = player0y - 2 : AUDV0 = 5 : AUDC0 = 12 : AUDF0 = player0y / 4 : goto P0_MOVE_PUSH ; change from burning sprite back to rocket I suppose just how I had it go up and down and every other frame what seemed random really wasn't. It just that every once and a while the spaceship would not rise up to the correct coordinate and things get reset.
  12. I had made that change… but then my son started doing something and I couldn’t figure out what he changed so I reverted back to a previous save. I kind of make the code real quick and then clean it up but this is definitely a fix I need to do. I posted this after I gave up for the day. Lol I also forgot about that whole white space thing. Does the absence of spaces really make that much of an issue? Or only sometimes?
  13. While I changed the collision a bit with the lasers so that things work better, I am still a bit stumped as to why sometimes when you respawn your laser sounds but does not appear. I looked at the debugger and it would seem that the missile is somewhere but where I do not know. Is something not being reset? Is something being skipped some of the time? The respawn code is part of each player's movement, so drawn every other frame. if !n{4} then goto CCHEK1 if !n{6} && player0y>=210 then player0x=6:n{6}=1:AUDV0=0:goto P0_MOVE_PUSH ; reposition player to respawn site if !n{6} && player0y<210 then player0y=player0y+3:AUDC0=8:AUDF0=player0y/8:AUDV0=5:goto P0_MOVE_PUSH ; fall to planet burning if n{6} && player0y>160 then player0y=player0y-2:AUDV0=5:AUDC0=12:AUDF0=player0y/4:goto P0_MOVE_PUSH ; change from burning sprite back to rocket if n{6} && player0y<=160 then AUDV0=0:n=0:m{0}=0:goto P0_MOVE_PUSH ; fully respawned and ready to go player0y=player0y+2:goto P0_MOVE_PUSH CCHEK1 The only thing I can think of but can't seem to work out is that since it is drawn every other frame that something is getting missed somewhere. BP_2023_03_28_8AST_b.bas
  14. So I figured out the asteroid issue - I had a couple collision statements separated from the rest so it seemed like it would only work as intended every other frame. Still working on the disappearing laser.
  15. So I updated the first post with a a couple .bas and .bin files. One is just the base 10 asteroid version that I left off on but the other file is the 8 asteroid version, complete with ships exploding and respawning and switch reset. I feel the 8 asteroid version can be justified because while the original had 10, the TI 99/4a is notoriously slow so many of the games don't seem to quick. The Atari on the other hand is fast and the sprites are a bit larger so having a couple less but things moving a bit quicker might be of equal balance. Each player can fly in four directions and shoot left or right. Getting hit by a laser, colliding with an asteroid, or hitting the city will result in death. I have yet to program the player collision to where you can kamikaze the opponent. I originally made a fancier city using a couple sprites but I forgot that since the sprites were copies if the second player dipped into the skyline and fired the laser would triple as well. I am still torn between making the city as it is now with a couple distinct buildings that are like abstracts of the original or if I should instead layer a silhouette of a city skyline using the playfield and background and then maybe use a sprite for some little details. I also tried to work out the collision for bother players, since I alternate frames for each asteroid. I accomplish this by using the ball since I draw both missiles and the ball every frame. There are some minor issues I had noticed, like every once and a while the lasers disappear after respawning but they still seem to make sounds. Sometimes they come back after respawn. Another known issue is sometimes the asteroids seem to get stuck by either slowing down a bit with a shot before speeding back up but then their top speed seems to top off. If shot from the other direction and then back on the other side it seems to get unstuck so it makes me think that something isn't getting reset or a variable isn't properly turning over. I haven't figured this one out either but the basic gameplay is kind of set and it is looking cool.
  16. Forgot to mention. The obstacles start appearing every couple rounds! It starts with the falling can and goes from there. I’ll have to double check the order in a bit in case anyone was wondering!
  17. Title Grocery Game Gameplay In Grocery Game, you play as a professional shopper who must quickly clear the shelves before the time runs out. Avoid slip hazards from falling cans (which you can catch), shopping carts, spiders, pests, and other shoppers as you rush to grab every last can on the shelf! There are also bonuses you can collect along the way, whether an invincibility that lets you shop with no worries in the world for a limited time, additional time, or if you finish before time is up you get additional points! You can either grab cans from the bottom shelf by holding the fire button and pressing up or down or jump to reach cans on the top two shelves by walking as close to the shelves as possible and pressing fire. Every few rounds you can earn tips by throwing a ball at the top shelf. Hit the coins and get more points! This game is 99% done and just needs a little testing to check for balance. This was just a fun little game I put together to learn how to scroll the screen. This is a single player game. The second player joystick just kind of toggles values for testing right now so don't touch it! lol BuBu_2023_02_26.bas.bin
  18. So after playing around I was able to clean up the code and move all the asteroid collisions into 2 banks. I made one with all 10 asteroids. It runs at 262 scanlines until someone fires and then it jumps to 263/264. I couldn't quite get it down anymore and so I left it at that for the night. The other file takes away 2 asteroids, so there are 8 but there do not seem to be any scanline issues. So now the question is do I try to somehow make 10 asteroids work or do I reduce the number of asteroids to 8? If I reduce to 8 I would probably change the spacing in between the asteroids. This may also work to where I can add some features to the game for a kind of bonus level. I also have to add the city on the bottom. That will probably utilize a mixture of two sprites and playfield but I do not envision that taking up much. BP_2023_03_20_d_2.bas.bin BP_2023_03_20_d_2.bas BP_2023_03_20_f_6ast.bas BP_2023_03_20_f_6ast.bas.bin
  19. …now I did test with two less asteroids and I did not have many issues so if I do scale down some of the asteroids I can resolve some of the scanline issues I was experiencing.
  20. These are all great. I am hesitant only because I don’t want to do a big rewrite yet. I kind of want to keep the 10 asteroids to try to be as close to the original as possible. I just got it down to 262 cycles and it only jumps to 263 or 264 so I think I can get it closer with a few more tweaks. I do love the creative use of the reflect bit. I had considered something similar but I couldn’t figure out what to do if the asteroid was still, which is why I landed on using a variable. I have some down time tonight so I hope to relax and play around with this some more. Perhaps I can mix some of your solutions into the game. I think one big issue I found was I had a lot of unnecessary stuff that I was able to eliminate. I just hope there is a little more I can fix before I start over. Lol
  21. So after a little work, I simplified some of the code and tried to eliminate much of the redundancies. I have both players able to fly around and shoot and the asteroids move around back and forth. I am hovering around 265 cycles so I am just looking to see what else I can try to fix to get this thing working well before moving on. I uploaded a new .bas and .bin in the first post.
  22. I have a few more ideas I want to explore before I take the easy way out. As frustrating as it is it is also kind of fun to figure it out. Even typing this out I had a thought as to why my previous attempts failed so I will test that too!
  23. This is interesting! I still haven’t fired up my TI to see exactly how the game plays (it’s been a while) but I don’t think precision is a huge deal with the asteroids. I also imagine collision not being checked every frame not to be a huge deal, since the laser is a wide missile so at some point it will traverse through a sprite. I guess one of the big issues I was finding was that of space. I have the collision detection for player0 and the asteroids, with each set of 5 asteroids taking up over 3k. I use missile0 as the laser and it is checked every frame so it will hit every asteroid or player, since they are flickered. I did experiment yesterday flickering the missile as well and have it be used for both players so I could reuse the collision statements in the 2 banks… but then the issue I get is the missile detects collision for every other asteroid. I had thought I could make some checks and then substitute those checks in my collision statements, so I could define a variable and then replace the checks I currently have with that variable… but so far each time I tried has not had the desired results. I know I am probably missing something simple and I’ll eventually figure it out. I could just use two more banks for the collision detection for player1. That would be the easiest solution, since I know it works so I could be done with it and then shove title screen in the nooks and cranny but I also want to try and add an option for additional gameplay elements that may take up a little more space, like at least a kind of 1-player mode.
  24. So my goal now is to try and make the collision for the second player’s laser and the asteroids. Considering the size of the code, I want to try and see if there is a way to utilize the collision for both lasers. I figure I have to have the missiles draw every frame so they can detect a hit with every asteroid or opposing players. Not sure if something like this could work.
×
×
  • Create New...