artrag Posted October 1, 2015 Author Share Posted October 1, 2015 (edited) One more thing: I think the collision detection is being affected by splitting the process over a few frames. I had noticed that most of the time my bullets appear to not affect the enemies nor their bullets. This is more noticeable when compared to the max/ultra version, where bullets seem to collide more accurately. If you are keeping the pipeline approach, then I suggest you treat collisions in one of two ways: Apply all position changes and check for collisions afterwards on the same frame Apply position changes over more than one frame and check for collisions on the next frame after all are done Again, I haven't seen the code, so I do not know exactly what is affecting collisions. I'm just basing my opinion purely on observation while playing. -dZ. It is practically impossible that you experience differences. Collision is tested in SW (no HW collision) and the two versions differ for one single WAIT. I cannot see any case where my bullets do not hit the enemies. Note that your bullets have a shorter range wrt the starting point of the enemies, so you can kill them only when they are halfway. Moreover enemy bullets cannot be destroyed by design. (actually the main ship is also immune by colliding enemies, but this was my laziness) Edited October 2, 2015 by artrag Quote Link to comment Share on other sites More sharing options...
artrag Posted October 1, 2015 Author Share Posted October 1, 2015 (edited) There is a good trick for subpixel movement I tend to use it in my games. CONST speed_enemy = $30 ' Less than 1 pixel speed speed1 = speed1 + speed_enemy IF speed1 >= $40 THEN speed1 = speed1 - $40:GOSUB move_enemy The fastest element in your game (the spaceship moves very well) is the base speed, everything else can move slower with this snippet. You can tune enemies and enemy bullets this way. (for example, easy enemies at speed $28, fast enemies at speed $38) I generally use back counters as in z80 asm comparing to 0 is faster (it comes for free), in intybasic it would be something like this: signed time_step const frame_per_sec = 60 [...] time_step = time_step -number_of_pixels_per_second if time_step<0 then time_step=time_step+frame_per_sec: gosub move_enemy_one_pixel [...] Edited October 1, 2015 by artrag 1 Quote Link to comment Share on other sites More sharing options...
artrag Posted October 1, 2015 Author Share Posted October 1, 2015 initial attempt of speed tuning dzgorf.rom Quote Link to comment Share on other sites More sharing options...
+DZ-Jay Posted October 2, 2015 Share Posted October 2, 2015 It is practically impossible that you experience differences. Collision is tested in SW (no HW collision) and the two versions differ for one single WAIT. I cannot see any case where my bullets do not hit the enemies. Note that your bullets have a shorter range wrt the starting point of the enemies, so you can kill them only when they are halfway. Moreover enemy bullets cannot be destroyed by design. (actually the main ship is also immune by colliding enemies, but this was my laziness) Well, I can tell you that in the last versions I was playing, I could die when colliding with enemies, and I could destroy the bullets. I also experienced collision problems in the slow/normal versions. In any case, it is moot if you are updating the engine's speed. I will admit that I hadn't noticed about the range of my bullets, so perhaps that is what gave me the impression of missed collisions. I'll try again. initial attempt of speed tuning Much better! It is starting to feel like a real game now. I do have a few observations: Enemy bullets are much too fast, almost impossible to avoid, and with multiplexing sometimes almost completely invisible. Enemy bullets cannot be destroyed in this version, I think this is good. Collision with enemy does not destroy ship, I think this is not good. Collision between my bullet and enemy seem to work properly. Music is still jarring and annoying, I really suggest trying it at a lower octave or two. The warp rays blend into the background better in blue, and do not distract me; however, they still do not read as a "warp effect." Good job! It's getting to feel more and more like an arcade space shooter. -dZ. Quote Link to comment Share on other sites More sharing options...
Kiwi Posted October 3, 2015 Share Posted October 3, 2015 There is a good trick for subpixel movement I tend to use it in my games. CONST speed_enemy = $30 ' Less than 1 pixel speed speed1 = speed1 + speed_enemy IF speed1 >= $40 THEN speed1 = speed1 - $40:GOSUB move_enemy The fastest element in your game (the spaceship moves very well) is the base speed, everything else can move slower with this snippet. You can tune enemies and enemy bullets this way. (for example, easy enemies at speed $28, fast enemies at speed $38) This is perfect for Kaboom, I mean Mad Bomber. I had the game set up to move the bombs every other frame so the minimum speed of the bombs would be 0.5 pixel a frame. 1 pixel a frame is a bit too fast. Is it ok I can use this for my game? Pretty much going to be, if dropspeed<>0 then bombsp(i)=bombsp(i)+bombspeed bmsp: if bombsp(i)>=10 then bomby(i)=bomby(i)+1:bombsp(i)=bombsp(i)-10:goto bmsp If I uses number over 10, then it'll recursively add the bomb's y coordinate until the number is below 10. Of course, the bombs are going to be dropping very quickly in the hardest round. 1 Quote Link to comment Share on other sites More sharing options...
+nanochess Posted October 3, 2015 Share Posted October 3, 2015 This is perfect for Kaboom, I mean Mad Bomber. I had the game set up to move the bombs every other frame so the minimum speed of the bombs would be 0.5 pixel a frame. 1 pixel a frame is a bit too fast. Is it ok I can use this for my game? Pretty much going to be, if dropspeed<>0 then bombsp(i)=bombsp(i)+bombspeed bmsp: if bombsp(i)>=10 then bomby(i)=bomby(i)+1:bombsp(i)=bombsp(i)-10:goto bmsp If I uses number over 10, then it'll recursively add the bomb's y coordinate until the number is below 10. Of course, the bombs are going to be dropping very quickly in the hardest round. Yes, of course you can use it I would suggest only a small enhancement for your code: if dropspeed<>0 then bombsp(i)=bombsp(i)+bombspeed while bombsp(i)>=10:bomby(i)=bomby(i)+1:bombsp(i)=bombsp(i)-10:wend 1 Quote Link to comment Share on other sites More sharing options...
artrag Posted October 3, 2015 Author Share Posted October 3, 2015 This is a draft attempt of dot warp, I've also slowed down bullets and reduced the music of two octaves dzgorf.rom 1 Quote Link to comment Share on other sites More sharing options...
+DZ-Jay Posted October 3, 2015 Share Posted October 3, 2015 This is a draft attempt of dot warp, I've also slowed down bullets and reduced the music of two octaves My impressions: Enemy bullets work better now at this speed. The game is playable and indeed a bit fun. I still definitely see my bullets going through enemies at times. This is after they are within range, as I see the bullet moving past behind them. The star field "warp" effect looks great!!! Although I would suggest it should go a bit faster to give the impression of speed. GREAT JOB! Music sounds a bit better, it is not as screechy as before, but I just don't like it. I don't think it fits the style of the game, and the pattern repeats much too quickly making it a bit annoying. Sorry. Perhaps you can lower its volume, it seems to over shadow the sound effects. I'll play a bit more and see if I have anything else to add. I do like the new star field. -dZ. Quote Link to comment Share on other sites More sharing options...
pimpmaul69 Posted October 3, 2015 Share Posted October 3, 2015 I really like this game now. Music doesnt bother me. I couldnt get bullets to pass through enemies but i suck at close range. Only problem i had was my trigger hand gettting really cramped but thats me not the game. Quote Link to comment Share on other sites More sharing options...
freewheel Posted October 3, 2015 Share Posted October 3, 2015 Wow, I'm very impressed! Tremendous improvements over the last time I tried it. I was a HUGE Gyruss freak back in the day. The controls are spot-on. I'd love to try with the disc (someday a multicart will actually appear) but they feel real good. Allowing auto-fire is a must. The rotational speed is much improved - it felt slow and jerky before. This is "just right" for a first level. The background is way better like this - you get a sense of it but it doesn't distract from the action. With this as an engine - slap together a bunch of levels, have some intermission screens as you approach a planet, get the music tuned up (maybe a different tune for every level?) and you have 90% of Gyruss. Not sure if a power-up serves much purpose. Nor if you can really go nuts on the enemy count. I'm impressed with how little I notice the MOB multiplexing - I expected it to at least be a distraction, but I don't even notice it. But this is close to a complete game. Of course if this is meant to be 1/4 of Gorf (as per the name) - then you pretty much have that Gorf stage done as far as I'm concerned. Hell, you could probably modify this to make a passable Tempest as well. Quote Link to comment Share on other sites More sharing options...
+nanochess Posted October 4, 2015 Share Posted October 4, 2015 This is a draft attempt of dot warp, I've also slowed down bullets and reduced the music of two octaves It looks good. Now someone should make in IntyBASIC the music of Bach Tocatta and Fugue in D minor, rock style 1 Quote Link to comment Share on other sites More sharing options...
freewheel Posted October 4, 2015 Share Posted October 4, 2015 It looks good. Now someone should make in IntyBASIC the music of Bach Tocatta and Fugue in D minor, rock style Agreed. I'm not as much of a fan of ports as some - I'd like to see more original games for the system - but when it comes to Gyruss I'll make an exception. Make it as close as possible to the original and I'll be all over it The music is a HUGE part of why I loved the game so much. In fact, IntyBASIC's drum sounds would work remarkably well for this piece. More arcade-accurate than the C64 version that I loved growing up. If someone can find me some clean sheet music for it, I'd gladly take a stab at transcribing it. I love the music that much. Quote Link to comment Share on other sites More sharing options...
+Tarzilla Posted October 4, 2015 Share Posted October 4, 2015 Agreed. I'm not as much of a fan of ports as some - I'd like to see more original games for the system - but when it comes to Gyruss I'll make an exception. Make it as close as possible to the original and I'll be all over it The music is a HUGE part of why I loved the game so much. In fact, IntyBASIC's drum sounds would work remarkably well for this piece. More arcade-accurate than the C64 version that I loved growing up. If someone can find me some clean sheet music for it, I'd gladly take a stab at transcribing it. I love the music that much. First Google hit http://www.mutopiaproject.org/ftp/BachJS/BWV565/ToccataFugue/ToccataFugue-a4.pdf Quote Link to comment Share on other sites More sharing options...
pimpmaul69 Posted October 4, 2015 Share Posted October 4, 2015 I do agree with freewheel, needs auto fire option. My hand was cramped so bad i couldnt play anymore. Quote Link to comment Share on other sites More sharing options...
artrag Posted October 4, 2015 Author Share Posted October 4, 2015 (edited) Is there a tool that converts mml to intybasic?The link to the tool here seems broken http://intvprime.com/ The tools should be named Inty Music Muxer but I cannot find it anywhere on google With such a conversion tool one could port quite a lot of songs Look e.g. here http://www.archeagemmllibrary.com/j-s-bach-toccata-and-fugue-full/ Edited October 4, 2015 by artrag Quote Link to comment Share on other sites More sharing options...
artrag Posted October 4, 2015 Author Share Posted October 4, 2015 I do agree with freewheel, needs auto fire option. My hand was cramped so bad i couldnt play anymore.Keep pressed the side keyAutofire is there Quote Link to comment Share on other sites More sharing options...
freewheel Posted October 4, 2015 Share Posted October 4, 2015 Is there a tool that converts mml to intybasic? Not that I'm aware of, but it seems vaguely easy to make. I may dig into this a bit. Absolutely invaluable when trying to clone music: https://www.youtube.com/watch?v=TNc7VdD-ink This guy has broken up the percussion and music tracks. Quote Link to comment Share on other sites More sharing options...
freewheel Posted October 4, 2015 Share Posted October 4, 2015 Keep pressed the side key Autofire is there For sure. I wonder if he meant "press a keypad button once to leave auto-fire on" or something. Because holding the side button down so long could also start to hurt. Quote Link to comment Share on other sites More sharing options...
+DZ-Jay Posted October 4, 2015 Share Posted October 4, 2015 Agreed. I'm not as much of a fan of ports as some - I'd like to see more original games for the system - but when it comes to Gyruss I'll make an exception. Make it as close as possible to the original and I'll be all over it The music is a HUGE part of why I loved the game so much. In fact, IntyBASIC's drum sounds would work remarkably well for this piece. More arcade-accurate than the C64 version that I loved growing up. If someone can find me some clean sheet music for it, I'd gladly take a stab at transcribing it. I love the music that much. Remember that the Gyruss arrangement was different than the actual classical fugue; only certain parts are played in a particular order... Just have a listen to it on a game-play video and keep it in mind as you transcribe the sheet music. Also, apart from auto-fire, I would suggest either a shield, or a power-up that gives you "double-fire" (just like Gyruss, or Galaga). -dZ. Quote Link to comment Share on other sites More sharing options...
+Tarzilla Posted October 4, 2015 Share Posted October 4, 2015 Not that I'm aware of, but it seems vaguely easy to make. I may dig into this a bit. Absolutely invaluable when trying to clone music: https://www.youtube.com/watch?v=TNc7VdD-ink This guy has broken up the percussion and music tracks. As a person with no music training, I've have been able to get some MUSIC via these type of videos, if they have the notes turned on. http://youtu.be/ZoTMjUaDNbU Quote Link to comment Share on other sites More sharing options...
freewheel Posted October 4, 2015 Share Posted October 4, 2015 Remember that the Gyruss arrangement was different than the actual classical fugue; only certain parts are played in a particular order... Just have a listen to it on a game-play video and keep it in mind as you transcribe the sheet music. Yup. Already found the arrangement it was based on Just not the actual sheet music. That being said... This MML stuff seems to be a nice, simple arrangement - perfect for chiptune style stuff (which was the point). I'm gonna see how much Python I've learned and try to write a converter into IntyBASIC MUSIC statements. No promises but it should be feasible. There are thousands of tunes in MML out there; it would open up a large library of music for people. There's typically a lot of hand-tweaking involved after - in terms of timing and instrument choice, and sometimes things just need hand-tuning - but this would take 90% of the work out of transcribing music. My only issue is that there seems to be a lot of dialect variation in this "language". It may require custom parser plugins or something. I can't even find a full language definition for the example artag posted, but I can make out most of how it works at a glance. Quote Link to comment Share on other sites More sharing options...
artrag Posted October 4, 2015 Author Share Posted October 4, 2015 (edited) very basically commands are those at the following page http://gamerpagex.appspot.com/mml you can cut and past the MML in this http://noike.info/~kenzi/cgi-bin/mml2mp3/index.cgi?convdir=2015/2015-10/2015-10-05--02-11-22--486340&mmltype=mml2mid&premml=2015/2015-10/2015-10-05--02-11-22--486340/form_mml.txt#submissionform and get the wav or midi files Edited October 4, 2015 by artrag Quote Link to comment Share on other sites More sharing options...
pimpmaul69 Posted October 4, 2015 Share Posted October 4, 2015 For sure. I wonder if he meant "press a keypad button once to leave auto-fire on" or something. Because holding the side button down so long could also start to hurt. yes that is what i meant. Like the option in astrosmash. Quote Link to comment Share on other sites More sharing options...
artrag Posted October 4, 2015 Author Share Posted October 4, 2015 (edited) wip on enemies and end bosses Edited October 4, 2015 by artrag 1 Quote Link to comment Share on other sites More sharing options...
+DZ-Jay Posted October 4, 2015 Share Posted October 4, 2015 wip on enemies and end bosses Really? Those look like the ones from Space Invaders. Quote Link to comment 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.