Jump to content
IGNORED

Sasuke Vs. Commander (alpha build)


Recommended Posts

25 minutes ago, cmadruga said:

I think this enhancement related to collision detection will start to put some real teeth into the game.

Walking away is always an option, but the topic of collision detection is relevant for any game he will make.

So might as well bite the bullet and get some learnings under his belt now.

Anyway, my 2 cents.

 

 

 

 

To be honest, I wasn't advocating that he should abandon this project and move one to the next.  I was just pointing out that @Mik's Arcade needs to find where he would like to draw the line, and that it can be hard to find that boundary.

 

Obviously, I rather see a more polished game; but as someone who went down that rabbit hole, I know how design decisions based on flawed assumptions and lack of experience tend to constraint the ability to reach one's ultimate goals.  At that point it becomes easier to start from scratch, or rework major parts of your code, as you approach the point of diminishing returns -- but then again, perhaps that effort could be put to a new design.

 

I am sure that his next game -- whatever it shall be -- will be substantially better.

 

   -dZ.

Edited by DZ-Jay
Link to comment
Share on other sites

I've already started shifting gears on the next game.

 

perhaps in this game I will learn more about how to handle collision detection, since it is a jumping platform game,  and then I can take that knowledge back to Sasuke.

 

@DZ-Jay  If you can recall, I had that really bad 'double count' collision detection issue on the boss fights when I made them take more than one hit to defeat that is still in there. I posted my code but I dont think you had time to look at it.  The problem is hidden from players because instead of needing exactly 3 hits to defeat the boss, it make take 2 or 3.

 

But yes, I think I'm going to leave Sasuke for a bit but go back to it.  I really love the original arcade game, so I feel passionately enough to continue to make it better. I may be biased, but I think it would make a very good homebrew game! I would want to try to overhaul the graphics first :)

 

On a side, what do you all think about the sound effects and music?  That all came out a lot easier and faster than I expected.  The only track I am not totally satisfied is the 'Sasuke Blues' on the game over screen.  For some reason I just cannot get the timing of the last 5 notes. And it is literally a stock standard blues riff.  It just won't come out right on the Intellivision. I tried different time signatures and space and it just won't do.  At least if you get the high score you get a more upbeat riff

Edited by Mik's Arcade
Link to comment
Share on other sites

9 hours ago, DZ-Jay said:

If you are using hardware collision detection, it could be that the objects are missing each other.  You will probably have to use bounding boxes, or make your movement more granular

I'm sure this is it then.  I like the idea of trying to outline 'hit boxes', or bounding boxes as you call them.  Is there a good topic that discusses this or any chapter in Oscar's book?  Nothing stuck out in the tables of contents

Link to comment
Share on other sites

1 hour ago, Mik's Arcade said:

I've already started shifting gears on the next game.

 

perhaps in this game I will learn more about how to handle collision detection, since it is a jumping platform game,  and then I can take that knowledge back to Sasuke.

 

@DZ-Jay  If you can recall, I had that really bad 'double count' collision detection issue on the boss fights when I made them take more than one hit to defeat that is still in there. I posted my code but I dont think you had time to look at it.  The problem is hidden from players because instead of needing exactly 3 hits to defeat the boss, it make take 2 or 3.

 

Hi, @Mik's Arcade.  I have vacation coming up this week, so I will definitely take a look at the code and see if I can find what's going on.

 

    - dZ.

Edited by DZ-Jay
Link to comment
Share on other sites

6 minutes ago, DZ-Jay said:

 

Hi, @Mik's Arcade.  I have vacation coming up this week, so I will definitely take a look at the code and see if I can find what's going on.

 

    - dZ.

no worries....enjoy the vacation!!! You don't need to do that on your vacation!!!   Hopefully you are doing else something good.

Link to comment
Share on other sites

1 hour ago, Mik's Arcade said:

On a side, what do you all think about the sound effects and music?  That all came out a lot easier and faster than I expected.  The only track I am not totally satisfied is the 'Sasuke Blues' on the game over screen.  For some reason I just cannot get the timing of the last 5 notes. And it is literally a stock standard blues riff.  It just won't come out right on the Intellivision. I tried different time signatures and space and it just won't do.  At least if you get the high score you get a more upbeat riff

I like the music and sound effects.  I think the music could use perhaps different instruments?

 

The song playing during the initial cut-scene (the one after the first song) ends a little weird, though.  I can't quite get what it's doing on the last measure.  It seems it's missing a beat.

 

Likewise for the game-over song:  it seems it's missing a note or two to end the riff.

 

Could you provide a reference recording midi, wav, mp3, etc.) to see what you are trying to reproduce?

 

    -dZ.

Link to comment
Share on other sites

3 minutes ago, DZ-Jay said:

I like the music and sound effects.  I think the music could use perhaps different instruments?

 

The song playing during the initial cut-scene (the one after the first song) ends a little weird, though.  I can't quite get what it's doing on the last measure.  It seems it's missing a beat.

 

Likewise for the game-over song:  it seems it's missing a note or two to end the riff.

 

Could you provide a reference recording midi, wav, mp3, etc.) to see what you are trying to reproduce?

 

    -dZ.

Different instruments?  I can do that?  lol.  I think Oscar's book said there was sounds for bass, flute and piano. I tried flute and bas and only really like piano, which I believe it the default.  I guess there is more to music than I thought.

 

Sadly, I just played a youtube video of the game and worked out the music and sound by ear.  And since I used my bass guitar to work out the notes, I can see why stuff might sound off.  The first song is actually a spoof of the opening of the song "I think I'm turning Japanese" by the Vapors. That sound is a stereotypical spoof of Chinese music that is often confused with Japan. I banged out the chords on my bass and plugged them in.  The "yes master" music is a bass riff I totally made up.  For some reason, I just could not work out the actual music from the game, but it is really odd and I don't even like it so I just ran with my riff.  I end it by playing a bunch of low "F" notes.  thump/thump/thump

 

And the game over riff is just a common blues progression. It's weird because I have all the notes, but for some reason I cant get the timing right.  I'll tinker with it another time.  Much like the collision detection, I will be making new music for the next game and will probably learn something so I can go back to Sasuke.

Link to comment
Share on other sites

Just now, Mik's Arcade said:

Different instruments?  I can do that?  lol.  I think Oscar's book said there was sounds for bass, flute and piano. I tried flute and bas and only really like piano, which I believe it the default.  I guess there is more to music than I thought.

The different instruments you mentioned are what I meant.  For reference, Bass will lower the notes one octave, and Flute will increase them by one.  There's also Clarinet.

 

The reason I pointed it out is because you seem to have sustained the notes very long, but as you can see, the Piano instrument has a very low sustain volume.  I thought those longer notes could have used a different instrument. *shrug*

 

Also, for the second song, the notes cut-off too abruptly, so perhaps the notes that are close enough should sustain until the next one.

 

Just now, Mik's Arcade said:

Sadly, I just played a youtube video of the game and worked out the music and sound by ear.  And since I used my bass guitar to work out the notes, I can see why stuff might sound off.  The first song is actually a spoof of the opening of the song "I think I'm turning Japanese" by the Vapors. That sound is a stereotypical spoof of Chinese music that is often confused with Japan. I banged out the chords on my bass and plugged them in.  The "yes master" music is a bass riff I totally made up.  For some reason, I just could not work out the actual music from the game, but it is really odd and I don't even like it so I just ran with my riff.  I end it by playing a bunch of low "F" notes.  thump/thump/thump

No worries.  I just wanted to hear what you were trying to accomplish.

 

Just now, Mik's Arcade said:

And the game over riff is just a common blues progression. It's weird because I have all the notes, but for some reason I cant get the timing right.  I'll tinker with it another time.  Much like the collision detection, I will be making new music for the next game and will probably learn something so I can go back to Sasuke.

What helps me is to play them in Logic Pro (or GarageBand) and to arrange them until the timing and beats sound right.  Then I reproduce the score in the tracker.

 

If you are just writing them in code (as opposed to transforming them from some other format), then what could also help is to create a template of your musical cues with comments marking the beats, and fill in the notes and silences as necessary.  For example:

 

    DATA 5
    ' 16-beats per measure
    '
    '    Rhythm  Bass   Guitar
    '    ------ ------- ------
    MUSIC -,    -,      -,      M1    ' #1
    MUSIC -,    -,      -,      -     ' #2
    MUSIC -,    -,      -,      M2    ' #3
    MUSIC -,    -,      -,      -     ' #4
    MUSIC -,    -,      -,      M1    ' #5
    MUSIC -,    -,      -,      -     ' #6
    MUSIC -,    -,      -,      M2    ' #7
    MUSIC -,    -,      -,      -     ' #8
    MUSIC -,    -,      -,      M1    ' #9
    MUSIC -,    -,      -,      -     ' #10
    MUSIC -,    -,      -,      M2    ' #11
    MUSIC -,    -,      -,      -     ' #12
    MUSIC -,    -,      -,      M1    ' #13
    MUSIC -,    -,      -,      -     ' #14
    MUSIC -,    -,      -,      M2    ' #15
    MUSIC -,    -,      -,      -     ' #16

 

Then you place the notes in their proper beats.

 

   -dZ.

Link to comment
Share on other sites

2 hours ago, DZ-Jay said:

The different instruments you mentioned are what I meant.  For reference, Bass will lower the notes one octave, and Flute will increase them by one.  There's also Clarinet.

 

The reason I pointed it out is because you seem to have sustained the notes very long, but as you can see, the Piano instrument has a very low sustain volume.  I thought those longer notes could have used a different instrument. *shrug*

I will definitely experiment with this, thanks.  I didn't notice how the instruments changed octaves, and certainly didn't notice that it impacts the sustain....that is the missing piece to my puzzle for sure!

Link to comment
Share on other sites

FWIW, I never got the Bass instrument in IntyBASIC to play in tune. It seems to use its own frequency table or something. I am fully aware of the LFSR bass on the SN76489 (ColecoVision etc) but I think the AY-3-891x has a wider range downwards and not sure it has a LFSR mode anyway so I would expect it to be regular square wave, just that something is funky, at least for me.

Link to comment
Share on other sites

13 hours ago, DZ-Jay said:

The different instruments you mentioned are what I meant.  For reference, Bass will lower the notes one octave, and Flute will increase them by one.  There's also Clarinet.

Actually, the Bass is lowered two octaves and the Clarinet increased one.

 

2 hours ago, carlsson said:

FWIW, I never got the Bass instrument in IntyBASIC to play in tune. It seems to use its own frequency table or something.

 From what I can see, all it does is shift the tone period.  I guess the PSG clock periods do not map linearly to note frequencies, which is maybe the reason why we have tables with the full octave range, octaves rather than a single octave scaled throughout.

 

From the "intybasic_epilogue.asm":

	;
	; Generates a bass
	;
_bass_instrument:	PROC
	SLL R3,2	; Lower 2 octaves
	ADDI #_bass_volume,R1
	MVI@ R1,R1	; Bass effect
    IF DEFINED intybasic_music_volume
	B _global_volume
    ELSE
	JR R5
    ENDI
	ENDP


	;
	; Generate a clarinet
	; R3 = Frequency
	; R1 = Waveform position
	;
	; Output:
	; R3 = Frequency
	; R1 = Volume
	;
_clarinet_instrument:	PROC
	ADDI #_clarinet_vibrato,R1
	ADD@ R1,R3
	CLRC
	RRC R3,1	; Duplicates frequency
	ADCR R3
	ADDI #_clarinet_volume-_clarinet_vibrato,R1
	MVI@ R1,R1
    IF DEFINED intybasic_music_volume
	B _global_volume
    ELSE
	JR R5
    ENDI
	ENDP

 

This may be something @nanochess may want to tackle in a future revision.

 

I guess you could do the transposition on the note index itself, prior to converting it to a clock period; but my guess is that it would incur additional processing.

 

 

 

2 hours ago, carlsson said:

I am fully aware of the LFSR bass on the SN76489 (ColecoVision etc) but I think the AY-3-891x has a wider range downwards and not sure it has a LFSR mode anyway so I would expect it to be regular square wave, just that something is funky, at least for me.

I think the AY-3-8914 does use an LFSR but to generate pseudo random noise, controlled by the mixer, not directly on the tone generators.  Perhaps what you are hearing is just the note slightly off-key, or maybe some noise from the drum effect?


     -dZ.

Edited by DZ-Jay
Link to comment
Share on other sites

10 hours ago, Mik's Arcade said:

I will definitely experiment with this, thanks.  I didn't notice how the instruments changed octaves, and certainly didn't notice that it impacts the sustain....that is the missing piece to my puzzle for sure!

Each instrument has its own envelope table, and the Clarinet and Flute have some vibrato modulation.

 

Ultimately, all sounds produced by the PSG are square waves, and the envelope and modulation are intended to shape the sound somewhat and give it additional character.

 

     -dZ.

Link to comment
Share on other sites

Ok, I tried it again and it appears that for notes A2 and above, the bass works as expected. For notes C2 to G2#, funny things happen. That is good to know, that in order to use the low bass you must not go below A2, which equals 110 Hz IIRC and also tends to be the lowest possible note on other sound chips.

 

testmusic.bas

Link to comment
Share on other sites

1 minute ago, carlsson said:

Ok, I tried it again and it appears that for notes A2 and above, the bass works as expected. For notes C2 to G2#, funny things happen. That is good to know, that in order to use the low bass you must not go below A2, which equals 110 Hz IIRC and also tends to be the lowest possible note on other sound chips.

 

testmusic.bas 992 B · 1 download

Ah, that makes sense -- it's going below the minimum supported.  Note A2 with Bass would actually play A0.


I think the manual should mention the range adjustment.  You can't just take any Melody and change instruments willy-nilly, because some instruments scale their frequencies.

 

    dZ.

  • Like 1
Link to comment
Share on other sites

I agree. At least one mystery solved for me.

 

Fortunately transposing music to fit this requirement is doable since the AY chip in the Intellivision has a 12 bit frequency resolution, compared to the SN chip in the ColecoVision with "only" 10 bit (mainly lacking in the lower register) and what I'm most used to, the VIC-20 which only has 7 bits and voices shifted one octave apart. In that case it really can be a tradeoff between various factors sometimes.

Link to comment
Share on other sites

49 minutes ago, carlsson said:

I agree. At least one mystery solved for me.

 

Fortunately transposing music to fit this requirement is doable since the AY chip in the Intellivision has a 12 bit frequency resolution, compared to the SN chip in the ColecoVision with "only" 10 bit (mainly lacking in the lower register) and what I'm most used to, the VIC-20 which only has 7 bits and voices shifted one octave apart. In that case it really can be a tradeoff between various factors sometimes.

I only got acquainted with the IntyBASIC instrument minutiae because I wanted to reproduce them as closely as possible in the Intellivision Music Tracker.  I used that knowledge to build the IBN-to-IMT converter, which transposes the notes and applies modulation and envelopes depending on the current channel instrument.


That effort lead to even more improvements to the Intellivision Music Tracker.

 

    dZ.

Link to comment
Share on other sites

1 hour ago, Mik's Arcade said:

you guys sure do kick ass at this stuff!  :)

Nah, I do not know about @carlsson, but for me it's just that I've been working on Intellivision for almost ... (*checks the calendar* ... *does some maths*) 12 years!!! ?

 

I started just like you, asking basic very questions, bugging others with my queries, and stumbling and fumbling my way to making games.  :)

 

    -dZ.

Link to comment
Share on other sites

1 hour ago, DZ-Jay said:

Nah, I do not know about @carlsson, but for me it's just that I've been working on Intellivision for almost ... (*checks the calendar* ... *does some maths*) 12 years!!! ?

 

I started just like you, asking basic very questions, bugging others with my queries, and stumbling and fumbling my way to making games.  :)

 

    -dZ.

that's ok, you guys still kick ass.  I'm hoping I can get to this level some day.  I really want to create a small library of game.

Link to comment
Share on other sites

  • 1 month later...
On 12/12/2021 at 7:39 PM, cmadruga said:

Thanks for the change, the new cadence handles much better!

 

If I may propose another fine tuning step, it seems that you need to look into collision detection. 

Take a look at the frames I recorded in slow motion below. I keep missing that same target when clearly a collision should have occurred.

I think players will see a visible improvement in gameplay if you address this issue described here.

 

Keep up the good work! 

 

sasuke_anim.thumb.gif.5197eef19765a81b5d460c9a9ee1c86f.gif

 

 

Hi All -

 

I'm back after a little time away.  I'm now settled into my new apartment and for the first time in my life I am living alone.  if all goes well, in another year I'll be back at home with the kids and reconciled with the Mrs, but if not then I guess I will start a new chapter in my life.

 

In any event, I'm starting to get creative again and am in the right frame of mind to start playing music and coding again.  I'm sure some of you saw that my game got included in a few categories for the 2021 Homebrew awards. I'm flattered just to be included and am not here to beg you to vote for me. But, if my game actually does get a few votes from the community, then I would feel inspired to try to polish it up and make it even better.

 

With that being said, does anyone have any advice on how to create the "bounding boxes" code @DZ-Jay suggests is needed to resolve the collision detection above. I really have no idea on how to go about that.   In the meantime, I'm going to get back to work on Fast Eddie.

Edited by Mik's Arcade
spelling
Link to comment
Share on other sites

I thought the inclusion of your game on the vote was fair considering current criteria. 
 

Even though I understand where you are coming from, unfortunately soliciting votes for your games is not in line with guidelines. I know that is a tough one, but I’m not doing that for my own games either.

 

Whatever the result is, please don’t make that one variable (votes received) a deciding factor on whether to keep working on this or other games.

 

Sasuke is a great first effort, and I am sure you can make it even better. Your Fast Eddie project is also exciting! Looking forward to that one.

 

Finally, I wish you all the best on your personal next steps, and hope time will bring peace and understanding to you and your loved ones.

Link to comment
Share on other sites

3 hours ago, cmadruga said:

I thought the inclusion of your game on the vote was fair considering current criteria. 
 

Even though I understand where you are coming from, unfortunately soliciting votes for your games is not in line with guidelines. I know that is a tough one, but I’m not doing that for my own games either.

 

Whatever the result is, please don’t make that one variable (votes received) a deciding factor on whether to keep working on this or other games.

 

Sasuke is a great first effort, and I am sure you can make it even better. Your Fast Eddie project is also exciting! Looking forward to that one.

 

Finally, I wish you all the best on your personal next steps, and hope time will bring peace and understanding to you and your loved ones.

thanks for the kind words.  Me building a bartop arcade machine and then programming Intellivision games was the one thing that kept me going as my personal life got worse. But, the time away has made the time spent with my kids more quality, so perhaps the separation is what we needed to fix it. We shall see.

 

There are so many better games than mine nominated, so like I said I am just happy to be included in the poll.  I won't even vote for myself, let alone ask anyone to vote for me. I barely voted at all because I have not played most of the games.

 

There are a few other improvements I want to make to Sasuke, so I will probably revisit it at SOME point regardless of the voting results, to your point.  I'm very happy with the first effort and I think the game has enough replay value added it to already to warrant some tweaking to make it even better.   I should probably try to finish Fast Eddie first. I actually have a lot of that worked out already. I only have to finish the logic to move up and down ladders and I pretty much have all the code done. I don't know what I did but I totally broke vertical movement...lol. Really, I just need to get one level up and running perfectly and then adding level variety is going to be easy.

 

I'm also in the process of trying to get JZIntv working on my raspberry Pi build so I can get Sasuke loaded on there.

Edited by Mik's Arcade
spelling and grammar
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...