Progress Thread - Jammin Honey

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Progress Thread - Jammin Honey
by on (#201011)
This is a concept sketch of what I will probably do. Based on early 1980-82 games like Jumpman, Burger Time, Donkey Kong. Basically, you are a girl, carrying a guitar. Collect music notes to power your guitar and blast your enemies with rock and roll sounds. One of the enemies has a key to the next room.

Attachment:
GuitarGirl.jpg
GuitarGirl.jpg [ 68.81 KiB | Viewed 11337 times ]




EDIT - link to the final game...

http://dl.dropboxusercontent.com/s/3gkv ... nHoney.nes
Re: Progress Thread - Guitar Girl
by on (#201023)
The level mockup looks fun. Definitely has that old single-screen-platformer vibe.
Re: Progress Thread - Guitar Girl
by on (#201032)
By the way. I will program this in C, and make it open source. Using neslib.


EDIT, might not release the source. I'm doing a bunch of non-standard / very complicated things...I don't feel like this would be a good learning source. Non-standard, like putting data in the CHR-ROM, using a heavily modified version of famitone, using game-specific compression techniques.
Re: Progress Thread - Guitar Girl
by on (#201083)
I love the concept!
Re: Progress Thread - Guitar Girl
by on (#201100)
I need to think of a new name. There are already several games called "Guitar Girl"

Maybe an obscure girl name. Ginny?
Re: Progress Thread - Guitar Girl
by on (#201102)
http://www.babynamewizard.com/d3js-voyager/popup.html ?

For no reason I can articulate, it feels to me like the name should use assonance and start with the same /ɡ/ as "guitar", not /dʒ/ as "jam"
Re: Progress Thread - Guitar Girl
by on (#201108)
How about "Gretchen Gitarre".

And have all the game text in German.

"drücke Start" (or is it drücken ?)
Re: Progress Thread - Guitar Girl
by on (#201117)
"Drücke Start!" is correct, but "Gretchen Gitarre" sounds a bit odd. :D
("Gretchens Gitarre" is much better, but it means... "The guitar of Gretchen")
Hm... "Gitarrengretchen" is probably the translation of "Gtretchen guitar" - german likes long words...
Re: Progress Thread - Guitar Girl
by on (#201121)
dougeff wrote:
This is a concept sketch of what I will probably do. Based on early 1980-82 games like Jumpman, Burger Time, Donkey Kong. Basically, you are a girl, carrying a guitar. Collect music notes to power your guitar and blast your enemies with rock and roll sounds. One of the enemies has a key to the next room.

Oh, so it's Eggerland (The Adventures of Lolo) meets Donkey Kong? That sounds interesting!
Re: Progress Thread - Guitar Girl
by on (#201124)
Maybe "Gitarrist Gretchen" or "Gretchen liebt gitarren"
Re: Progress Thread - Guitar Girl
by on (#201129)
dougeff wrote:
Maybe "Gitarrist Gretchen" or "Gretchen liebt gitarren"

"Gitarristin Gretchen" is ok, "Gretchen liebt Gitarren" is even better ... :beer: :D
Re: Progress Thread - Guitar Girl
by on (#201149)
Looks fun :)

How about "Guitar Gal" btw?
Re: Progress Thread - Guitar Girl
by on (#201150)
Frettin' Frannie

Miss Chord

Six-String Sally /Six-String Sisters (2p?)

Rita's Riffs

AxeGal(s)
Re: Progress Thread - Guitar Girl
by on (#201155)
^ Those are all great suggestions! :shock:
Re: Progress Thread - Guitar Girl
by on (#201159)
I like 'sisters', since there are so many classic games with brother or bros in the title. Six-string sisters is a bit of a tongue twister.

Maybe "Strummin' Sisters". And have 2 player (1 at a time)... Honey and Moxy.

On second thought, I don't like it.

Edit. Thought of the name 'Jammin'...apparently there was a C64 game with that title...

https://youtu.be/ngw1Bq5VeDc


Edit2 - one more thought...
Jammin Janey
(I wanted Jammin Jenny, but that's the name of a porn star). Also wanted Jammin Jelly, but that's an item in Paper Mario. Or Jammin Julie. ...no, that was the name of a Garbage Pail Kid card.

Unique names are hard.

Final edit -
'Jammin Honey'. The girl's name is Honey.
Re: Progress Thread - Guitar Girl
by on (#201161)
Jammin' Honey's good

...especially if P2 were some guitar-playing pet named Jam for the emphasis of the food themed pun of Jam 'n Honey... but I could be projecting expectations from having recently read two volumes of Bee and Puppycat. :)

With your classic rock background, I'm looking forward to the music for such a themed game.
Re: Progress Thread - Guitar Girl
by on (#201199)
Shhh, I like "Gretchen Gitarre". Precisely because of how English speakers will pronounce it. I can't get it out of my head, it just has a nice ring to it IMO, which is all that matters. But maybe that's just me.

I guess you'll find yourself right along the lines of other Faux-German named games, which isn't a bad thing. Rosenkreuzstilette series comes to mind, especially some of their character and boss names sound downright ridiculous to German ears :D

Although, thinking about it some more, "Gretchen Gitarre" would be a perfectly valid cartoon character/hero name, and not a bad one at that (again, memorable), so you really can't fight it.
Re: Progress Thread - Guitar Girl
by on (#201218)
Thanks for that, Julius.

BTW, my wife's aunt is named Gretchen. Her family is German. My family is Austrian. I grew up in a region of Ohio inhabited by German farmers. Most of my neighbors had names like Gerkin and Baumgartner.

I only took 1 semester of German in school, so I can barely order apfelstrudel. If I translate the text myself, it would almost certainly be hilariously bad. ;)

„Ich mag essen den Apfelstrudel“

(I cheated...I couldn't remember if it was der, die, or das, so I looked it up, den...ok, whatever)
Re: Progress Thread - Guitar Girl
by on (#201247)
"Gretchen" is also a good onomatopoeia for the scratching sound of picking the strings.
Re: Progress Thread - Guitar Girl
by on (#201270)
Just an opinion, feel free to disconsider or even do the exact oposite:
Please, try not to use the name Gretchen, since it's an old Brazilian singer who recently made a video singing a Katy Perry's music with Nicki Minaj.
Sure It can be funny!! You can use some characteristics of her on the game's star and get some free marketing by claiming it's a tribute... :lol:
There's also some memes of her on the Internet wich can make the job easier and/or funnier. :D
But if possible, please, no!!
Re: Progress Thread - Guitar Girl
by on (#201274)
Forgive my ignorance of Brazilian culture. I dont know Gretchen. I actually have seen that video.

Ok. I'm officially going with Jammin Honey. It fits the theme better (sweet girl)
Re: Progress Thread - Jammin Honey
by on (#201283)
Being brazilian I also think of that Gretchen from the Katy Perry video when I see the name (didn't she do porn at some point too?), but it's not like game developers can consider the culture of every single country when naming people and things, and it's not the brazilian opinion of that name matters at all when it comes to homebrew NES games.
Re: Progress Thread - Jammin Honey
by on (#201285)
Oh man, I just now saw the "six string Sally" suggestion. Love that one. Definitely captures the "guitar girl" vibe. (Where jammin honey" makes me think it's a mini-game about preparing toast.)
Re: Progress Thread - Jammin Honey
by on (#201311)
dougeff wrote:
Forgive my ignorance of Brazilian culture.

I think it's not humanly possible to know most things about all the many cultures in the world.
So please, no apologies!
Sorry if I sounded a bit harsh, but I know some kids that are just scared of her. :shock:
Not that this would matter, but I usually show them new games on retro consoles and they seem to enjoy.
tokumaru wrote:
didn't she do porn at some point too?

Yes, she did a porn video with her own husband at the time.
That later became "The evangelical porn" joke. :lol:
tokumaru wrote:
and it's not the brazilian opinion of that name matters at all

Sure. I even include some suggestions that could lead to some "free marketing" as an antagonic part of what I asked.
And since she's a musician, the game's music could be somewhat inspired by her work.

I'm glad the author decided for other name. Thank you!
I'm looking forward and wishing the best for you and your new project.
Re: Progress Thread - Jammin Honey
by on (#201335)
But I had so many great ideas... "Last Chord", "Melody Warrior", "The 5th Harmonic - Final Overtone", "Fraulein no Guitar Satsujin Jiken - Pro Mahjong Retsuden". Shame!

:P
Re: Progress Thread - Jammin Honey
by on (#203742)
Anyone want to play test this? Let me know how it feels. Keep in mind, these are test rooms, and the real rooms won't look anything like this. Also, I haven't drawn any animations yet.

https://youtu.be/4jv8qux1hfY
(YouTube video)

(link removed)
Re: Progress Thread - Jammin Honey
by on (#203744)
dougeff wrote:
Anyone want to play test this? Let me know how it feels. Keep in mind, these are test rooms, and the real rooms won't look anything like this. Also, I haven't drawn any animations yet.


The feel of the main character is spot on.

My only (constructive) criticisms:

- The collision detection with the notes feels a bit off -- there's times my feet hit the top of the note (as I was jumping sort of over it) and it didn't register as hitting it
- The ramps felt like they could be smoother vertically. (although I'm impressed that you have ramps, they're truly a pain to do. And maybe once the character is animated it won't feel so jerky?)
Re: Progress Thread - Jammin Honey
by on (#203766)
Thanks for sharing your progress.

gauauu wrote:
there's times my feet hit the top of the note (as I was jumping sort of over it) and it didn't register as hitting it
I noticed collision detection oddness from the other end. A note that touches her head just stays there, you have to jump so that the note touches her body.
Re: Progress Thread - Jammin Honey
by on (#203799)
For speed, note collisions are a single point in the middle of the girl. Lots of things are checking 1 (or 2) points vs a map.

I'll try to improve this a bit.

Sprite vs sprite collisions will be much better.
Re: Progress Thread - Jammin Honey
by on (#204002)
It is certainly a choice to be made, but it was intriguing that the notes counter counts 2 for doubles. It can make for situations where the counter is 2, while there is only one left item on the stage.
Re: Progress Thread - Jammin Honey
by on (#204028)
Quote:
It is certainly a choice to be made, but it was intriguing that the notes counter counts 2 for doubles. It can make for situations where the counter is 2, while there is only one left item on the stage.


I won't worry until I see a bug.
Like pacman (dots), there should be exactly as many notes on screen as you need to collect.
Re: Progress Thread - Jammin Honey
by on (#204114)
Here's some more concept drawings. Maybe Title Screen.
Re: Progress Thread - Jammin Honey
by on (#204119)
The latter looks more suited as manual art. ;-) Look good.
Re: Progress Thread - Jammin Honey
by on (#205382)
I've been trying to make the game appeal more to girls. I added the ability to customize the color of the guitar girl. Also changed the mapper to CNROM, because I'm using up all the tiles just for the title and option screen.

Attachment:
Jammin03.png
Jammin03.png [ 4.18 KiB | Viewed 3202 times ]


By the way, one of the Ms in Jammin is sprites, because of kerning problems, and not enough BG tiles left. Actually, there are lots of sprites in both pictures.

Attachment:
Jammin04.png
Jammin04.png [ 2.4 KiB | Viewed 3202 times ]


The game engine is 99% done, but with temp graphics and only test rooms. And no enemy AI yet.
Re: Progress Thread - Jammin Honey
by on (#205383)
Don't forget to leave room on the title screen for "PRESS START BUTTON" and a copyright notice (if you aren't displaying one on the previous screen).
Re: Progress Thread - Jammin Honey
by on (#205384)
Quote:
Don't forget to leave room on the title screen for "PRESS START BUTTON" and a copyright notice (if you aren't displaying one on the previous screen).


Is that a rule?

There will be a 3rd (unseen) screen with copyright and such. Between the Title and Options screens.

I suppose I could 'Press Start', with sprites.

Maybe a sprite zero hit near the bottom to switch tilesets, could put the copyright. I wouldn't prefer it.
Re: Progress Thread - Jammin Honey
by on (#205385)
dougeff wrote:
Quote:
Don't forget to leave room on the title screen for "PRESS START BUTTON" and a copyright notice (if you aren't displaying one on the previous screen).

Is that a rule?

It is nowadays for games published on modern consoles. TRC, Lot Check, or whatever the console maker calls it usually specifies a wording for the prompt on the title screen. The "Luigi Bros." hack adds it, for instance. See also a reddit thread about "Press Start".
Re: Progress Thread - Jammin Honey
by on (#205386)
Several real NES games (TMNT, Die Hard, Megaman 2, etc) do a quick copyright screen before the title screen. I think I will do that.

Press Start, I thing blinking with sprites will work, probably in that blank area to the upper right.
Re: Progress Thread - Jammin Honey
by on (#205389)
That girl in the title screen looks really nice!
Hope you can share a demo or video soon.
Re: Progress Thread - Jammin Honey
by on (#205599)
I estimate it will take me 20 minutes per level, to draw the level, compress the data, compile, test the room.

Times 24 levels planned = 8 hours of work to do.

No shortcuts in life.
Re: Progress Thread - Jammin Honey
by on (#205600)
That's... insanely fast! :shock:
Re: Progress Thread - Jammin Honey
by on (#205603)
You're right, it's turning out to be more like 30-35 minutes per level.

12+ hours to go.
Re: Progress Thread - Jammin Honey
by on (#205604)
By the end of any given project, I get really sick of doing level design.

Keep up the good work.
Re: Progress Thread - Jammin Honey
by on (#205871)
Hmm, it looks like my levels require about 225-250 bytes a piece. Times 25 = 6000* bytes for level data. 0x1770. I didn't realize it, but, once I put the music in, and the DMC sample(s), I'm not going to have that much space for levels. (possibly).

I may have to shove the level data in one of my CHR-ROM banks. (CNROM).

OK, so that's ...set the PPU address, do 1 dummy read, then normal reads.

If I THEN set another PPU address, do I need to do another dummy read?

*it's actually 6243 bytes of level data. 0x1863.
Re: Progress Thread - Jammin Honey
by on (#205872)
The act of reading from $2007 always
* returns the current latch
* schedules reading another byte into the latch

So the simple way of handling things always ends up loading an irrelevant byte after each contiguous block fetched, but kleverness in scheduling could avoid these redundant reads.
Re: Progress Thread - Jammin Honey
by on (#205874)
To spell it out: If doing more than one block, you can change the address to the start of the next block immediately before reading the last 1 byte of the previous block, rather than waiting for the whole block to finish.

Though, the alternative is just a single LDA $2007 (4 cycles), so unless the logic for the early split is pretty lean it's probably not even a valid optimization?
Re: Progress Thread - Jammin Honey
by on (#205884)
Thanks for clarifying, rainwarrior. I understand now.
Re: Progress Thread - Jammin Honey
by on (#205887)
To continue the discussion from...

viewtopic.php?f=22&t=12784&start=270

Re:the levels, as yet, are too easy and too quick to run through.

I'm going to add some aggressive enemies that
1.chase you
2.throw things at you
3.block your path

And I put in more spiked floors in the later levels, as obstacles.

And further, I'm making the path to all the notes incomplete, and requiring you to do something first, which will complete the ladder to the last note(s) to collect.

So, you will have to go back and forth, through the obstacles, and around the enemies, to complete a room. I will probably have to redesign the rooms slightly to fit this new "incomplete path" idea.
Re: Progress Thread - Jammin Honey
by on (#206348)
Opinions please.

(you tube link removed)

I'm trying to pick 2 of these samples to use in the game. This is a frequently used sound effect, every time Honey plays her guitar. The second one, will be when she's powered up from the 'star'.

This is output from Famitracker, so the sound quality is exactly what you would have in-game.
Re: Progress Thread - Jammin Honey
by on (#206354)
Your character's shown with an acoustic guitar in artwork, so I was expecting something more Lilith Fair-esque in terms of sound. Would acoustic samples not be more fitting to the game's theme?

I would expect either hard rock with the art and the music, or acoustic or softer rock for both.
Re: Progress Thread - Jammin Honey
by on (#206374)
Well, what kind of guitar is Stephen playing in Scott Pilgrim? (rhetorical question)

Attachment:
sex-bob-omb.jpg
sex-bob-omb.jpg [ 164.82 KiB | Viewed 2854 times ]


And they sound like this...

https://youtu.be/fhGu2CDqQqo
Re: Progress Thread - Jammin Honey
by on (#206377)
This is what it sound like with an acoustic guitar.

(you tube link removed)
Re: Progress Thread - Jammin Honey
by on (#206399)
Whether an acoustic guitar can technically produce the sound isn't the point I was trying to make.

Visually your game has me expecting something like the Indigo Girls, but the audio you're delivering is more Veruca Salt. There's a disconnect there, but it doesn't seem strong enough to feel like intentional contrast.

If you want a heavier sound, I'd suggest adjusting the visuals to give them either hard rock 'tude or go in the other direction and make them so overtly cute that it feels like intentional contrast (make the player expect Hello Kitty or Kidz Bop and deliver something more like Huggy Bear, The Rock Tigers or Crucified Barbara.
Re: Progress Thread - Jammin Honey
by on (#206416)
I think the acoustic sample sounds better.
Re: Progress Thread - Jammin Honey
by on (#206422)
Quote:
And they sound like this...


well, the guitar doesn't sound like that, the amplifier does ;)

i actually like the acoustic samples better too, they are a bit less grating for a sound you'll need to hear quite often.
Re: Progress Thread - Jammin Honey
by on (#206427)
Thanks. I think I'm going to re-record the acoustic samples, and try to make that work.

Maybe a slower strum, rather than a hard-fast punch.
Re: Progress Thread - Jammin Honey
by on (#206429)
And if rerecording is a bother, I could make a script that synthesizes an acoustic guitar strum sample using Karplus and Strong's Digitar algorithm given parameters.
Re: Progress Thread - Jammin Honey
by on (#206433)
Recording isn't a problem. Processing is.

I've considered rewriting the WAV to DPCM algorithm, since I think it could sound better. I tried to write one last year, but the quality was worse than Famitracker. Maybe I'll give it another try.
Re: Progress Thread - Jammin Honey
by on (#206435)
In my experience, the big bits about getting a good PCM to DPCM conversion are mostly preprocessing, instead of the actual process of conversion.

Compand the sample: DPCM only supports its full 6-bit dynamic range (-36dBFS) when the sample contains no frequency components higher than [playback rate/128]. It's also not very good at dealing with samples with wide frequency content (slew rate distortion), so some kind of band-pass filtering to only include an octave or three of content also helps.
Re: Progress Thread - Jammin Honey
by on (#206437)
Might the emphasis-aware level compression methods used in AM and FM radio help?
Re: Progress Thread - Jammin Honey
by on (#206439)
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
by on (#206444)
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
by on (#206447)
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
by on (#206451)
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
by on (#206452)
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
by on (#207241)
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
by on (#207638)
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
by on (#207877)
I think it looks ace. Good job.
Re: Progress Thread - Jammin Honey
by on (#208094)
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
by on (#208104)
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
by on (#208253)
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
by on (#208418)
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
by on (#208993)
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
by on (#209043)
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
by on (#209044)
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.
Re: Progress Thread - Jammin Honey
by on (#209045)
I was thinking of simpler. Like the Pacman screen that says "Blinky...Pinky...Inky...Clyde"
Re: Progress Thread - Jammin Honey
by on (#209046)
Bossfights! hui!

Doing random movements in attract mode sucks somehow, but you could just show some screens without the player for some seconds and then return to the title. Maybe.
Re: Progress Thread - Jammin Honey
by on (#209048)
A few dozen bytes should be enough to hold a few seconds of RLE-encoded input logs for simpler sections of a level (i.e. not much jumping or shooting). You might even use just 4 bits to represent input, doubling the amount of state each byte can hold, by excluding up and down if that doesn't cripple the game play. Left + right at the same time could be used as a flag for special codes, such as "end demo".

Another way to get the most out of logged keypresses is to reduce the input frequency from 60 to, say, 15fps. This way you could have each byte in the following format:

Code:
LRABDDDD
L: left
R: right
A: button A
B: button B
DDDD: number of times to repeat this input combination (1 to 64 frames, in steps of 4);

Just an idea.
Re: Progress Thread - Jammin Honey
by on (#209050)
tokumaru wrote:
A few dozen bytes should be enough to hold a few seconds of RLE-encoded input logs for simpler sections of a level (i.e. not much jumping or shooting). You might even use just 4 bits to represent input, doubling the amount of state each byte can hold, by excluding up and down if that doesn't cripple the game play. Left + right at the same time could be used as a flag for special codes, such as "end demo".


This is true. But if you're already out of space, adding the support code (branches to handle attract mode vs real play, interpreter for your input playback, etc) is non-trivial, even if it's relatively small.
Re: Progress Thread - Jammin Honey
by on (#209053)
gauauu wrote:
I'm not sure that an attract mode that plays that poorly would be worth even bothering to put in there.

Does anybody really watch them longer than a couple seconds?
Re: Progress Thread - Jammin Honey
by on (#209055)
gauauu wrote:
tokumaru wrote:
A few dozen bytes should be enough to hold a few seconds of RLE-encoded input logs for simpler sections of a level (i.e. not much jumping or shooting). You might even use just 4 bits to represent input, doubling the amount of state each byte can hold, by excluding up and down if that doesn't cripple the game play. Left + right at the same time could be used as a flag for special codes, such as "end demo".


This is true. But if you're already out of space, adding the support code (branches to handle attract mode vs real play, interpreter for your input playback, etc) is non-trivial, even if it's relatively small.


I think just feeding slowly into the controller buffer in zp ought to be enough. The demo doesn’t need to be masterful. You can probably get away with a really low sample rate, which would be easier than bitpacking... even if it is a neat idea.
Re: Progress Thread - Jammin Honey
by on (#209056)
Every NES attract mode I can remember plays poorly.
Re: Progress Thread - Jammin Honey
by on (#209057)
I’ll make a note of it* for more extensive, competetive vs. computer gameplay. Perfect for sports, racing, and humanoid boss battles like the doppelganger in cv3 but better/less glitchy.

*edit: tokumarus' idea
Re: Progress Thread - Jammin Honey
by on (#209135)
I managed to save a large amount of bytes by gutting every part of famitone.s and neslib.s that I'm not using.

Testing out some ASM macro functions to inline possible byte saving techniques.

Is it still technically written in C if I have to insert dozens of inline ASM?
Re: Progress Thread - Jammin Honey
by on (#209137)
dougeff wrote:
.

Is it still technically written in C if I have to insert dozens of inline ASM?


Absolutely.
Re: Progress Thread - Jammin Honey
by on (#209141)
NES Homebrew of Theseus.
Re: Progress Thread - Jammin Honey
by on (#209518)
Honestly, it doesn't look bad with black. What do you think?
Re: Progress Thread - Jammin Honey
by on (#209519)
Is this Donkey Kong? :P
Re: Progress Thread - Jammin Honey
by on (#209520)
It certainly provides an early 80:s arcadey air and charm... i think you could go with either, or even one of the pastels. The black might be a bit more relaxing to the eye, but the white is a little novel.
Re: Progress Thread - Jammin Honey
by on (#209521)
in my opinion the black looks much better.
Re: Progress Thread - Jammin Honey
by on (#209524)
It looks less unique with the black background, since tons of early games had black backgrounds, but there's no denying it's easier on the eyes than full on white. Honey herself probably needs a slightly lighter outline to work with the new background, though.
Re: Progress Thread - Jammin Honey
by on (#209529)
I like it black but, as mentioned, you should try lighter colours in the sprite palettes. In my two consoles (a nes clone from the early 90s and a current chinese famiclone) the $0X colours tend to be quite dark. Have you tested it in real hardware?
Re: Progress Thread - Jammin Honey
by on (#209533)
I've tested the white version on real hardware.
Re: Progress Thread - Jammin Honey
by on (#209536)
I'm with everyone else -- the black looks better, but doesn't look as unique.
Re: Progress Thread - Jammin Honey
by on (#209539)
I'm going to leave black as "optional" for now.
Re: Progress Thread - Jammin Honey
by on (#209573)
The black color gives it some depth the white one lacks.
Cool project.
Re: Progress Thread - Jammin Honey
by on (#209579)
The black looks better, but I think it's a good idea to keep the option of being able to select the background color
Re: Progress Thread - Jammin Honey
by on (#209615)
I liked the white backgrounds, but I don't expect this to be a decision by vote. ;)
Re: Progress Thread - Jammin Honey
by on (#209867)
I made this optimization today...

replaced pal_col() with inline assembly macro fast_pal_col()

pal_col() compiles into this...

lda #$11 ;2 bytes
jsr pusha ;3 bytes
lda _colorHair ;2 bytes
jsr _pal_col ;3 bytes
;total 10 bytes

and these...

#define fast_pal_col(a, b) \
__asm__ ("lda #%b", b); \
__asm__ ("ldx #%b", a); \
__asm__ ("sta $1c0, x");

//a version with a variable for the color value, %v is global variable
#define fast_pal_col2(a, b) \
__asm__ ("lda %v", b); \
__asm__ ("ldx #%b", a); \
__asm__ ("sta $1c0, x");

are 7 bytes each. 3 bytes savings

I have 60 references to pal_col in my code x 3 = 180 bytes I freed up.

I also had to comment out these lines in neslib.s at line 45.

; lda <PAL_UPDATE ;update palette if needed
; bne @updPal
; jmp @updVRAM

so it actually does the palette update.



The game is 99% done. Just needs the final song and a few tweaks / testing.
Re: Progress Thread - Jammin Honey
by on (#210484)
The game is done. I decided not to use the black background.

http://dl.dropboxusercontent.com/s/3gkv ... nHoney.nes

Here's some game genie codes for the game...

-no bees - PEUYNYAA

-start with 10 lives - PEUNVYAA
-start with 20 lives - ZEUNVYAA
-start with 30 lives - LEUNVYAA

-start at level 10 - PEKNOYAE
-start at level 15 - TEKNOYAE
-start at level 20 - LOKNOYAA
-start at level 25 - AOKNOYAE
-start at boss (level 30) - IOKNOYAE

Enjoy!

Extra thanks to rainwarrior for many pages of notes from play tests!
Re: Progress Thread - Jammin Honey
by on (#210498)
It wouldn't be a Kasumi gameplay post without a bug or quirk:
Image
Beat it:
Image
Well balanced little game. I was a bit disappointed the girl on the ending screen didn't match my color choices. :cry:

Edit: Hah, I just realized I basically chose my avatar.
Image
Image
Re: Progress Thread - Jammin Honey
by on (#210540)
Quote:
I was a bit disappointed the girl on the ending screen didn't match my color choices.


Here's what that would look like, (with pink hair). (updated)
Re: Progress Thread - Jammin Honey
by on (#210563)
It seems to be working fine. And less than 30 bytes of ROM space remaining. The above link has been updated. Should say "Dec 21".

I don't know why you would want to, but you can skip directly to the end (after you select Honey's colors) with these game genie codes (buggy)

-skip to the end - PEUYNYAA + VOUNUYKL
Re: Progress Thread - Jammin Honey
by on (#210580)
https://www.youtube.com/watch?v=koi34J9NAYM
Re: Progress Thread - Jammin Honey
by on (#213214)
Tried this out, it was fun. Reminds me a lot of Driar.

One suggestion: I badly wanted the chord of the guitar to adapt to the background music :). I think that would be a really nice touch. Now it sounds dissonant every so often.
Re: Progress Thread - Jammin Honey
by on (#213221)
I ran out of ROM space, so I was able to keep only 1 DMC sample.

You might ask, then, how did I fit the attract mode in? The entire attract mode code is stored in the CHR-ROM, and copied to the RAM just before attract mode starts.
Re: Progress Thread - Jammin Honey
by on (#213224)
Ah, too bad. Hoping to see an extended version at some point.
Re: Progress Thread - Jammin Honey
by on (#213271)
Inherent also stores code in CHR in places.
Re: Progress Thread - Jammin Honey
by on (#215029)
Finally got around to playing some of the compo games, and just wanted to say I really enjoyed this entry! I found it really easy to pick up and play - the mechanics were pretty intuitive, and familiar to other games from the era.

The minimalist graphics also drew me in - I can't put my finger on why but I really like how it looks. Well done!
Re: Progress Thread - Jammin Honey
by on (#215094)
I like the game. The customization option is very nice I like how you solved "slopes" problem...I tried coding slopes once and it didn't end well :D
I quite enjoyed the game overall, although boss battle confused me. Namely, it took me a while to realize I did do damage to the Boss as timer was replaced with Boss Health counter and in back of my mind I thought I was time decreasing the counter, not my shooting the boss!
I would recommend to make boss flash upon getting hit too, it would help player realize shoting the boss have an effect. (Yes, at first, I didn't know how to beat it, I though he need to drop\jump on the spikes on the bottom of the stage).
Also, I played using AVS+Everdrive and noted game suffers from DPCM conflicts. You might want to fix this.
Otherwise, I enjoyed the game :)
Re: Progress Thread - Jammin Honey
by on (#215101)
I'm out of ROM space. Adding code would require removing something else.

Quote:
DPCM conflicts


I'm using neslib's pad_poll(). It does 3 reads of the controllers to avoid DPCM errors. And, I haven't noticed any problems on a real NES.
Re: Progress Thread - Jammin Honey
by on (#215120)
I downgraded AVS firmware to previous revisions and didnt help. I also tried downgrading Everdrive firmware.
I dont think its a games software glitch since it doesnt happen on emulators. Unfortunelly, I dont have a NES to test it on.
I assume its due to DPCM as random inputs seem to happen only when player shoots.
I wonder if could this behaviour be caused by AVS not emulating conflicts propely(so 3 reads workaround doesnt work somwehow).
Then again, Mystery World Dizzy uses DPCM all the time as crude scanline counter and game runs fine. This confuses me.
Re: Progress Thread - Jammin Honey
by on (#215123)
I don't think a homebrewer should be expected to pay $185 to buy an AVS, and therefore I don't see compatibility with the AVS to be essential.

I have a top loader NES and a front loader NES. I don't have any issues with those.
Re: Progress Thread - Jammin Honey
by on (#215125)
Wait, does the AVS do game genie codes?

I could write a game genie code to disable the DMC channel.

EDIT -

YAOEXSYO - disable DMC channel (no guitar sound)

Try this.
Re: Progress Thread - Jammin Honey
by on (#215132)
In theory, it's the AVS that should be updated to match the behavior of the real NES, and not the games to cater to inaccuracies the AVS might have.

There's nothing wrong with a game developer that owns an AVS making harmless modifications (i.e. modifications that don't break compatibility with the original hardware) to support it, but indeed it can't be expected that every developer owns an AVS.
Re: Progress Thread - Jammin Honey
by on (#215134)
At some point, the NES vs. NOAC vs. Nt mini vs. AVS vs. emulator landscape starts to look like the alleged fragmentation of the Android platform, where different devices have different system software defects.
Re: Progress Thread - Jammin Honey
by on (#215139)
True, but if certain behaviors are in direct conflict with those of the original console, I don't think we should legitimate them with workarounds in the software, since that would discourage emulator developers and hardware engineers from fixing said inaccuracies.
Re: Progress Thread - Jammin Honey
by on (#215141)
Yes, the game genie fixed the problem, thank you.
My original complaint was due to my(incorrect) assumption that the game suffers from DPCM conflicts.
Since it turned out to be AVS quirk, I do not request dougeff to fix it. Im actually agree with Tokumaru on prioritizing original hardware as it pushes others to improve its emulation.
Sorry I caused some commotion.
Re: Progress Thread - Jammin Honey
by on (#215149)
Please report the issue to bunnyboy, with a link to the ROM.
Re: Progress Thread - Jammin Honey
by on (#215150)
Working excellent on my Pegasus famiclone (PAL) with an use of SD2PEGASUS device called KrzysioCart made by krzysiobal.

>> https://youtu.be/G0emqJtEAlE

I think this game is simply AWESOME!
I love the idea, I love the graphics, I love the music, I love how smooth the gameplay is, I love the level designs, I love the enemies and the customisation at the beginning.
Thank you dougeff 8-)
Re: Progress Thread - Jammin Honey
by on (#215164)
Quote:
I think this game is simply AWESOME!


Thanks. :beer:
Re: Progress Thread - Jammin Honey
by on (#215180)
Dropbox link updated, I was able to make the boss blink when hit. I found some redundancies in the asm code and put them in a single subroutine...freeing up 6*8 = 48 bytes, and I was still 1 byte too many, so I removed an RTS and redirected a branch to another RTS.

Here's this link again. All the game genie codes should work the same.

http://dl.dropboxusercontent.com/s/3gkv ... nHoney.nes
Re: Progress Thread - Jammin Honey
by on (#215343)
I really enjoyed your interview on The Assembly Line, especially in regards to your art process.
Re: Progress Thread - Jammin Honey
by on (#215356)
@dougeff
Thanks for update.
I did beat the game with no problems(same game genie still works).
One thing I've noticed during this playthrough was that bee never spawns near X players position when Im close to top of screen. Was this coded that was or was I just lucky?
Re: Progress Thread - Jammin Honey
by on (#215361)
I don't believe so.

The timing has changed since earlier builds (less frequent bees). Maybe that's what you are noticing.
Re: Progress Thread - Jammin Honey
by on (#215365)
As i didn't partake in the voting (toggle switch did that), i hadn't played this until now, but i really like it.

It felt good! I especially like the in-game enemy presentation and the music is great. The levels are lots of fun and suitably challenging.
At first i thought the sped-up music meant i was running out of time (it's a bit of a stressor + this is how SMB does it) which felt confusing, but then i realized it was because i got the star. Speaking of SMB, i instantly tried to duck the bee but quickly learned you can't do that - which is fine, of course! Just describing some experiences. I percieved a difficulty spike on level 11 compared to 12 and 13 which felt easier (did both on the first try but lost a bunch of lives on the 11th). I think it has to do with the two long stairs with bird droppings being directly next to each other.

Overall, it is definitely one of my favourites this year along with f-ff and grunioźerca 2
Re: Progress Thread - Jammin Honey
by on (#215367)
For comparison: Sonic the Hedgehog uses fast music to denote the speed shoes powerup.
Re: Progress Thread - Jammin Honey
by on (#215368)
Hm.. but isn't that to teletext that sonic goes faster? That's not a symbolic conflict to me.
The concept of going fast or being in a hurry is the signified, while sped up tempo is a relatable signifier.

Also pardon my ignorance - I've only played some sonic game and i'm not even sure which one on the MD maybe a few times. Do you mean it switches to (other) fast-paced, music (like getting the star in SMB wgere the star music is also bright, energetic and happy) or just speeds up the tempo?
Re: Progress Thread - Jammin Honey
by on (#215369)
FrankenGraphics wrote:
Hm.. but isn't that to teletext that sonic goes faster? That's not a symbolic conflict to me.
The concept of going fast or being in a hurry is the signified, while sped up tempo is a relatable signifier.

The difference though is danger-hurry vs. powerup-hurry. In danger-hurry situations (low oxygen, 10 minute level timer about to expire), Sonic switches to different music.

FrankenGraphics wrote:
Do you mean it switches to (other) fast-paced, music (like getting the star in SMB wgere the star music is also bright, energetic and happy) or just speeds up the tempo?

Getting the star analogue in Sonic changes to different music, just as in Mario. It also stacks with the speed shoes' tempo modifier, giving five total combinations:

No powerup: normal speed level music
Speed shoes: fast level music
Star: normal speed star music
Star + speed shoes: fast star music
Low O2: danger music
Re: Progress Thread - Jammin Honey
by on (#215437)
Fun. A worthy successor to Jumpman (C64). The music seems longer than any individual stage timer, though…

(How many stages are there?)