Page 5 of 9

Re: Progress Thread - Jammin Honey

Posted: Sat Oct 21, 2017 1:38 pm
by dougeff
I was getting good results just EQ boosting the mid-range. I might try some EQ variations first, before spending time on DMC converters.

Re: Progress Thread - Jammin Honey

Posted: Sat Oct 21, 2017 3:09 pm
by toggle switch
a low-pass filter set to cut frequencies above the nyquist rate would probably be a pretty important aspect of pre-processing, no?

Re: Progress Thread - Jammin Honey

Posted: Sat Oct 21, 2017 3:38 pm
by dougeff
I strongly disagree, toggle switch.

The mid to upper range tends to come out weak in the conversion. So it needs a boost, not a cut.

Also, I'm going for realism. It should sound like a real guitar.

Re: Progress Thread - Jammin Honey

Posted: Sat Oct 21, 2017 4:33 pm
by rainwarrior
Any good resampler will filter out stuff above the nyquist frequency while resampling, so they shouldn't affect the DMC encoding process anyway, unless you're using a bad resampler?

EQ is super important for DMC encoding though, since all the frequencies compete for that limited 1-bit bandwidth. It's just not possible to encode sounds with arbitrary spectrums, there's an imposed hierarchy with lower frequencies pushing out higher ones. (I wish RJDMC had an interactive EQ.)

Re: Progress Thread - Jammin Honey

Posted: Sat Oct 21, 2017 4:38 pm
by lidnariq
Frequencies above the nyquist rate would produce aliasing; that's not really relevant to the DPCM conversion (which is usually reduced to just the minimal problem of "convert one 8+bit sample in to one 1-bit sample out").

A lot of the problem is that the naïve DPCM conversion accidentally prefers to encode low frequencies and slew rate distortion in preference to higher frequencies; this can be worked around by bandlimiting the input. It doesn't necessarily have to be high- or low- passed, just narrowband.

DPCM is roughly equivalent to a 1-bit DAC that goes through an integrator; this integrator in turn acts as a lowpass with infinitely low corner frequency. (In the NES, DPCM only has a 6-bit range so that's not entirely accurate). I once made a conversion tool that attempted to take this into account (returning the sign of the first backwards difference instead of the naïve "trace the PCM waveform" algorithm), but it had problems with railing.

Re: Progress Thread - Jammin Honey

Posted: Thu Nov 02, 2017 7:24 am
by dougeff
Does anyone want to play test the game for me?

I need a detailed evaluation of each level and the graphics and the physics, etc.

I don't want to post a ROM, since several things are still not done (the main character's animations, for example).

PM me if you're interested. Thanks.

Re: Progress Thread - Jammin Honey

Posted: Wed Nov 08, 2017 9:16 pm
by dougeff
Random screenshot. I have 30 levels designed and re-designed. This part has taken much longer than I expected. Thanks to everyone who play tested. Hopefully I'll have an updated test in 2-4 weeks.

Re: Progress Thread - Jammin Honey

Posted: Sun Nov 12, 2017 1:49 pm
by na_th_an
I think it looks ace. Good job.

Re: Progress Thread - Jammin Honey

Posted: Wed Nov 15, 2017 9:24 pm
by dougeff
I put MORE data in the CHR-ROM today.

Originally, I only put level data in the last CHR bank, but I'm getting a little nervous about PRG-ROM space left...I had about 1700 ($6C0) bytes left, but I am going to add another song 500+ bytes and all the logic for enemy moves, and a few other details, sprite definitions... I wasn't sure if it would fit.

Anyway, I put all my RLE files (non-level backgrounds, exported from NES Screen Tool) in the end of the 3rd CHR-ROM bank. Freed up about 1000 bytes. Now I can relax and program all the enemy moves.

Man, I didn't think I would run out of PRG-ROM so fast.

I'd say the game is 80% done.

Re: Progress Thread - Jammin Honey

Posted: Thu Nov 16, 2017 1:50 am
by na_th_an
This seems to be the year of "stuff your data in unused CHR-ROM space", or so it seems :D Been doing the same :)

Re: Progress Thread - Jammin Honey

Posted: Fri Nov 17, 2017 11:38 am
by dougeff
Here's a preview. I have the hero animations done, and most of the enemy animations done. Here's some tests of the enemy moves.

This is coming together very smoothly, due to some forethought. I wrote a bunch of generalized functions called "collision_down" and "ladder_below" for the hero to use. The enemies are using the same functions to decide if they are on a platform, or over a ladder.

I will probably do a few palette changes in later stages, to indicate that the enemy is a slightly harder version (faster, more aggressive).

https://youtu.be/oWmW-M-O_1Y

Re: Progress Thread - Jammin Honey

Posted: Mon Nov 20, 2017 12:22 pm
by dougeff
As predicted, I ran out of PRG space. I have everything but the boss fight programmed in. Tried to make some changes...OVERFLOW in PRG segment.

I'm now trying to identify redundant code, and putting that in subroutines, considering rewriting bits in ASM.

I won't be able to do a few things I wanted, if I'm out of space.

Almost there.


EDIT - I managed to free up another 1000 bytes by removing inefficiencies/redundancies in the sprite drawing code. Let's see how far this will get me.

Re: Progress Thread - Jammin Honey

Posted: Wed Nov 29, 2017 5:41 pm
by dougeff
1000 bytes wasn't enough. I had to gut all debugging code, and drop 1 of my DMC files. Now reusing my 1 remaining dmc at 2 different rates.

The final boss is almost done. Added some floaty numbers. Have about 100 bytes left.

I'm going to rewrite some code in ASM, so I can free up enough to fit 1 more song, and a few sound effects.

Probably won't have room for "attract mode". Oh well.

Re: Progress Thread - Jammin Honey

Posted: Thu Nov 30, 2017 8:00 am
by calima
Simple and low size attract mode: pick random direction every 1s, hold. Pick whether to jump and/or attack every 2s. Just feed these to your input.

Re: Progress Thread - Jammin Honey

Posted: Thu Nov 30, 2017 8:15 am
by gauauu
calima wrote:Simple and low size attract mode: pick random direction every 1s, hold. Pick whether to jump and/or attack every 2s. Just feed these to your input.
I'm not sure that an attract mode that plays that poorly would be worth even bothering to put in there.