Jump to content
IGNORED

WIP clowns and balloons made with IntyBasic


catsfolly

Recommended Posts

Awesome new levels fellas, nicely done. :) dZ, I love how your wife steps in and says, "hey, you can do better than that!" Lol!

 

Hahah! It's more like

 

-- "That's cute. Are those supposed to be presents? Hmm, I don't see it..."

 

(code, code, code)

 

-- "Ah! Much better!"

Link to comment
Share on other sites

At the behest of my wife, I've updated the Balloons vs. The Clowns Of Christmas Presents to compose the presents with solid blocks and make them look better. :)

 

I've also updated the block exploding animation to fit.

attachicon.gifshot0002.gifattachicon.gifshot0010.gif

attachicon.gifclowns.bas

 

-dZ.

Nice animation on the ghost. Looks good.

 

I'm glad that my code is so crystal clear that it is easy to read and modify... :)

 

Both you and Fushek changed the balloon shape. Is my balloon so bad?

 

Thanks for trying it out!

 

Catsfolly

Link to comment
Share on other sites

I don't think Fushek changed your balloon shape. I think the last row of the balloon card was dropped. I had the same issue when I was using your shape: my screenshots looked like rounded blobs instead of balloons. I changed mine to blocks to draw the presents, but I could put it back to balloons. :)

 

-dZ.

Link to comment
Share on other sites

I don't think Fushek changed your balloon shape. I think the last row of the balloon card was dropped. I had the same issue when I was using your shape: my screenshots looked like rounded blobs instead of balloons. I changed mine to blocks to draw the presents, but I could put it back to balloons. :)

 

-dZ.

Okay, I found the problem.

When I got the new 0.4 version of the IntyBasic compiler, I failed to get the "epilogue" file (because I didn't know it had changed).

The new epilogue file does more things (good things I hope) at interrupt time, so there is less time left over to load cards. I will change the program to load only 10 cards a frame (instead of 20), and that should fix it up....

 

Catsfolly

Link to comment
Share on other sites

Could also be a stand alone game if many levels were added like Stonix or no?

Currently it's just a technical experiment, to see what can be done with IntyBasic.

 

If I get the game tuning worked out, and get some more levels done (with help), then I guess at some point the Legal teams of Left Turn Only, Giri Giri Games, and Fushek Holdings will have to meet and sort out all the Intellectual property rights.

 

This will no doubt trigger a bidding war for the publishing rights, involving such companies as Elektronite, Intelligentvision, Retrolucid, Revtastic Games, Groovination, etc, etc

 

After that we will have to negotiate the toy and plush rights...

 

Given the great success of video game based movies, no doubt a movie deal will soon be in the works....

 

But for now, it's just a nice technical experiment...

Edited by catsfolly
  • Like 5
Link to comment
Share on other sites

Currently it's just a technical experiment, to see what can be done with IntyBasic.

 

If I get the game tuning worked out, and get some more levels done (with help), then I guess at some point the Legal teams of Left Turn Only, Giri Giri Games, and Fushek Holdings will have to meet and sort out all the Intellectual property rights.

 

This will no doubt trigger a bidding war for the publishing rights, involving such companies as Elektronite, Intelligentvision, Retrolucid, Revtastic Games, Groovination, etc, etc

 

After that we will have to negotiate the toy and plush rights...

 

Given the great success of video game based movies, no doubt a movie deal will soon be in the works....

 

But for now, it's just a nice technical experiment...

Lol! I'm in for the Happy Meal toys!

  • Like 2
Link to comment
Share on other sites

  • 7 months later...

And for the technologically-impaired (No, Rev, I'm not looking at you... well, yes I am), attached is the ROM.

 

I just tried this again, and it brought a smile to my face. I really like this clowns game that Catsfolly made, it feels very polished, with the sound effects and the diagonal movements. And with the Ghost expression changing from smile to frown, it looks even better. ;)

 

-dZ.

ghost-clown.rom

  • Like 3
Link to comment
Share on other sites

Well catsfolly, I'm going to shamelessly steal a snippet of code from this. I've been struggling with sound effects in IntyBASIC and people were talking about frame counters and manually shutting off sound effects - Clowns has exactly what I needed. The envelope setting. My problem is that I couldn't really find documentation on it. The wiki says this about it:

 

Period Atak, Cont, Hold, Altr Volume (0-15) 16-bit period value multiplied by two, from 2 PSG clock cycles to $20000

 

Not exactly helpful if you're just learning this stuff. Maybe that one sentence tells someone all they need to know, but not me. So my question is this:

 

SOUND 3,$53f,0 sets the envelope.

 

How do I figure out what $53f is doing? Yes, it makes the nice "bounce" noise from clowns. But it's a 16 bit value - do people just play with it, thousands of times, to see what effect it has?

 

When I fired up Clowns this morning I was stunned at how perfect of a sound effect you'd made for the bounce. So now I wanna know the secret :P

  • Like 1
Link to comment
Share on other sites

And for the technologically-impaired (No, Rev, I'm not looking at you... well, yes I am), attached is the ROM.

 

I just tried this again, and it brought a smile to my face. I really like this clowns game that Catsfolly made, it feels very polished, with the sound effects and the diagonal movements. And with the Ghost expression changing from smile to frown, it looks even better. ;)

 

-dZ.

thank you. ;)

Link to comment
Share on other sites

Well catsfolly, I'm going to shamelessly steal a snippet of code from this. I've been struggling with sound effects in IntyBASIC and people were talking about frame counters and manually shutting off sound effects - Clowns has exactly what I needed. The envelope setting. My problem is that I couldn't really find documentation on it. The wiki says this about it:

 

 

Not exactly helpful if you're just learning this stuff. Maybe that one sentence tells someone all they need to know, but not me. So my question is this:

 

SOUND 3,$53f,0 sets the envelope.

 

How do I figure out what $53f is doing? Yes, it makes the nice "bounce" noise from clowns. But it's a 16 bit value - do people just play with it, thousands of times, to see what effect it has?

 

When I fired up Clowns this morning I was stunned at how perfect of a sound effect you'd made for the bounce. So now I wanna know the secret :P

Glad you liked the sound effect!

 

The secret is - get the data manual for the chip:

 

http://dev-docs.atariforge.org/files/AY-3-8910-8912_Feb-1979.pdf

 

It explains every bit in great detail.

 

Still, a lot of trial and error is required to get the sound you want...

 

The problem with the envelope generator is that it controls all 3 channels at once, so if you use it you can't do anything else at the same time (like play music or other sound effects.)

 

("Clowns and Balloons" was written before there was a "CONST" command in IntyBasic, so there are a lot of "magic numbers" in the code. I need to fix that...)

 

Catsfolly

 

P.S. "SOUND 3,$53f,0 " set the envelope frequency (how fast it happens, to $53F, and the envelope type to 0.

Edited by catsfolly
Link to comment
Share on other sites

Thanks for the PDF - I'll have to print this one out and devour it on a plane sometime.

 

I actually don't mind your magic numbers at all; they've helped me to experiment a little. And once I read this today, things started making a lot more sense: :http://spatula-city.org/~im14u2c/intv/jzintv-1.0-beta3/doc/programming/psg.txt

 

It at least started me down the path of remembering ADSR synth logic from.. well like all of this, another lifetime. :D

 

One of the things with INTV programming that isn't exactly spelled out, is the limitations of the platform. Like, sprites are monochrome-only (but you can mix them for multicolor, if you sacrifice some on screen). Or exactly what compromises you're making when you choose the different display modes. Or what exactly gets sacrificed when you use various audio tricks: sure you have 3 channels, but when you want to do much with them, you rapidly start losing them. I mean it's all there once you run into it, but it's learning by trial-and-error and a lot of the documentation is "conclusion by implication". It's interesting to say the least. By contrast the 2600 is a beast to program for, but it allowed for a lot more flexibility once people mastered it. Flexibility within the limitations of the hardware, of course.

 

There's a reason INTV games are so instantly recognizable as such, I guess.

Link to comment
Share on other sites

The problem with the envelope generator is that it controls all 3 channels at once, so if you use it you can't do anything else at the same time (like play music or other sound effects.)

The envelope generator will be used only by the channel with volume set to 48, so you can play music in the background with PLAY SIMPLE.

 

P.S. "SOUND 3,$53f,0 " set the envelope frequency (how fast it happens, to $53F, and the envelope type to 0.

I don't remember right now, but I think the frequency of envelope is 3579545/256/frec = value, this is because effectively the envelope counter has a 16-level step (it's feed from 3579545/16/frec)

 

BTW, replace 3579545 with 4000000 for PAL Intellivision.

Link to comment
Share on other sites

The envelope generator will be used only by the channel with volume set to 48, so you can play music in the background with PLAY SIMPLE.

 

 

I don't remember right now, but I think the frequency of envelope is 3579545/256/frec = value, this is because effectively the envelope counter has a 16-level step (it's feed from 3579545/16/frec)

 

BTW, replace 3579545 with 4000000 for PAL Intellivision.

 

Any chance of abstracting that with just plain, discrete values for Attack, Decay, Sustain, Release? :)

 

Or perhaps just offering software envelopes, like Arnauld's tracker.

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

Any chance of abstracting that with just plain, discrete values for Attack, Decay, Sustain, Release? :)

 

Or perhaps just offering software envelopes, like Arnauld's tracker.

I'm afraid the AY-3-8914 doesn't have these discrete values.

 

The software envelopes for instruments are already provided by the music tracker included with IntyBASIC v0.9 and can be altered editing the intybasic_epilogue.asm file

 

The envelope feature is more useful to simulate other complicated instruments like harmonic, violin and trumpet, putting a high frequency with a sawtooth envelope in one channel along with mixing with at least other channel.

 

Technically the envelope can be emulated almost completely with software (except the higher frequencies)

 

For IntyBASIC is very useful because you can start the envelope and forget about it, you don't need to keep a counter to increase/decrease volume, for example, for explosion sounds, helicopter-style sounds, sea wave sounds, sirens, little effects, etc.

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...