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 [ 68.81 KiB | Viewed 11337 times ]
EDIT - link to the final game...
http://dl.dropboxusercontent.com/s/3gkv ... nHoney.nes
The level mockup looks fun. Definitely has that old single-screen-platformer vibe.
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.
I need to think of a new name. There are already several games called "Guitar Girl"
Maybe an obscure girl name. Ginny?
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"
How about "Gretchen Gitarre".
And have all the game text in German.
"drücke Start" (or is it drücken ?)
"Drücke Start!" is correct, but "Gretchen Gitarre" sounds a bit odd.
("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...
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!
Maybe "Gitarrist Gretchen" or "Gretchen liebt gitarren"
dougeff wrote:
Maybe "Gitarrist Gretchen" or "Gretchen liebt gitarren"
"Gitarristin Gretchen" is ok, "Gretchen liebt Gitarren" is even better ...
Looks fun
How about "Guitar Gal" btw?
Frettin' Frannie
Miss Chord
Six-String Sally /Six-String Sisters (2p?)
Rita's Riffs
AxeGal(s)
^ Those are all great suggestions!
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/ngw1Bq5VeDcEdit2 - 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.
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.
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.
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)
"Gretchen" is also a good onomatopoeia for the scratching sound of picking the strings.
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...
There's also
some memes of her on the Internet wich can make the job easier and/or funnier.
But if possible, please, no!!
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)
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.
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.)
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.
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.
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.
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!
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)
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?)
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.
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.
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.
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.
Here's some more concept drawings. Maybe Title Screen.
The latter looks more suited as manual art. Look good.
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 [ 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 [ 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.
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).
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.
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".
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.
That girl in the title screen looks really nice!
Hope you can share a demo or video soon.
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.
That's... insanely fast!
You're right, it's turning out to be more like 30-35 minutes per level.
12+ hours to go.
By the end of any given project, I get really sick of doing level design.
Keep up the good work.
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.
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.
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?
Thanks for clarifying, rainwarrior. I understand now.
To continue the discussion from...
viewtopic.php?f=22&t=12784&start=270Re: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.
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.
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.
Well, what kind of guitar is Stephen playing in Scott Pilgrim? (rhetorical question)
Attachment:
sex-bob-omb.jpg [ 164.82 KiB | Viewed 2854 times ]
And they sound like this...
https://youtu.be/fhGu2CDqQqo
This is what it sound like with an acoustic guitar.
(you tube link removed)
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.
I think the acoustic sample sounds better.
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.
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.
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.
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.
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.
Might the emphasis-aware level compression methods used in AM and FM radio help?
I was getting good results just EQ boosting the mid-range. I might try some EQ variations first, before spending time on DMC converters.
a low-pass filter set to cut frequencies above the nyquist rate would probably be a pretty important aspect of pre-processing, no?
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.
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.)
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.
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.
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.
I think it looks ace. Good job.
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.
This seems to be the year of "stuff your data in unused CHR-ROM space", or so it seems
Been doing the same
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
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.
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.
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.
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.
I was thinking of simpler. Like the Pacman screen that says "Blinky...Pinky...Inky...Clyde"
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.
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.
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.
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?
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.
Every NES attract mode I can remember plays poorly.
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
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?
dougeff wrote:
.
Is it still technically written in C if I have to insert dozens of inline ASM?
Absolutely.
Honestly, it doesn't look bad with black. What do you think?
Is this
Donkey Kong?
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.
in my opinion the black looks much better.
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.
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?
I've tested the white version on real hardware.
I'm with everyone else -- the black looks better, but doesn't look as unique.
I'm going to leave black as "optional" for now.
The black color gives it some depth the white one lacks.
Cool project.
The black looks better, but I think it's a good idea to keep the option of being able to select the background color
I liked the white backgrounds, but I don't expect this to be a decision by vote.
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.
The game is done. I decided not to use the black background.
http://dl.dropboxusercontent.com/s/3gkv ... nHoney.nesHere'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!
It wouldn't be a Kasumi gameplay post without a bug or quirk:
Beat it:
Well balanced little game. I was a bit disappointed the girl on the ending screen didn't match my color choices.
Edit: Hah, I just realized I basically chose my avatar.
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)
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
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.
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.
Ah, too bad. Hoping to see an extended version at some point.
Inherent also stores code in CHR in places.
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!
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
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
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.
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.
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.
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.
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.
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.
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.
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.
Please report the issue to bunnyboy, with a link to the ROM.
Working excellent on my Pegasus famiclone (PAL) with an use of SD2PEGASUS device called
KrzysioCart made by
krzysiobal.
>>
https://youtu.be/G0emqJtEAlEI 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
Quote:
I think this game is simply AWESOME!
Thanks.
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
I really enjoyed your interview on The Assembly Line, especially in regards to your art process.
@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?
I don't believe so.
The timing has changed since earlier builds (less frequent bees). Maybe that's what you are noticing.
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
For comparison: Sonic the Hedgehog uses fast music to denote the speed shoes powerup.
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?
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
Fun. A worthy successor to Jumpman (C64). The music seems longer than any individual stage timer, though…
(How many stages are there?)