Gruniożerca 3 - The Great Cavy Clean-Up!

Moderator: Moderators

M_Tee
Posts: 430
Joined: Sat Mar 30, 2013 12:24 am
Contact:

Gruniożerca 3 - The Great Cavy Clean-Up!

Post by M_Tee »

Image
Guinea pigs Grunio and Dzidzia have been left home alone, and their toys are scattered everywhere! Their owners could come home any minute, so it's time for these cuddly cavies to get their clean on!
Overview
With Dzidzia's guidance, help Grunio clean up 24 increasingly messy rooms one-by-one. And don't worry if you're the frustrated type, Dzidzia can be rather generous if you're willing to beg.
Twenty-four stages not enough? You can even play as Dzidzia herself in Survival mode and see how many rooms you can clean while keeping your piggie toes off the carpet.
Controls & Accessibility
Although standard input conventions (A to accept, start to pause, etc.) have been followed, additional input methods are also accepted to allow for the entire game to be played with one hand.Typically, pressing right can confirm most selections. In fact, the only time a player *must* reach across the controller to the face buttons is while the game is paused, to restart a stage.
An inverted control scheme has also been included to allow players who either need or want to exclusively use their right hand to play more comfortably with a standard controller.
Credits & Background
Łukasz Kur programmed Gruniożerca 3, I provided the graphics, and Chip Jockey composed all original tunes for its soundtrack.
We were initially inspired by the core mechanic of the Bomb Disposal minigame of Codemasters' Ultimate Stuntman, but hope that we've expanded upon and improved on that concept enough that our title stands on its own.
Play Suggestions
Please download and enjoy yourself.
Testing on major clones and other hardware is appreciated.
The game automatically detects not only NTSC and PAL regions, but Dendy as well, and adjusts itself accordingly.
If you're playing on an emulator, we strongly suggest Mesen.
(Some features won't display as intended in other emulators, even FCEUX.)
And—as always—feedback is both welcomed and encouraged.
Attachments
Gruniozerca 3 - The Great Cavy Clean-Up!.zip
Updated Version (May 2019)
(45.87 KiB) Downloaded 965 times
Gruniozerca3.zip
NesDev Competition Version
(44.45 KiB) Downloaded 1225 times
Last edited by M_Tee on Mon May 06, 2019 8:52 am, edited 5 times in total.
User avatar
nesrocks
Posts: 563
Joined: Thu Aug 13, 2015 4:40 pm
Location: Rio de Janeiro - Brazil
Contact:

Re: Gruniożerca 3 - The Great Cavy Clean-Up!

Post by nesrocks »

Ah now I can play it ^^
Oh first thing I did was to go to the credits screen and I'm sitting there for some time. The text is glitching a bit on some frames.
https://twitter.com/bitinkstudios <- Follow me on twitter! Thanks!
https://www.patreon.com/bitinkstudios <- Support me on Patreon!
User avatar
dougeff
Posts: 3078
Joined: Fri May 08, 2015 7:17 pm

Re: Gruniożerca 3 - The Great Cavy Clean-Up!

Post by dougeff »

This was the one I was hoping for. :beer:
nesdoug.com -- blog/tutorial on programming for the NES
M_Tee
Posts: 430
Joined: Sat Mar 30, 2013 12:24 am
Contact:

Re: Gruniożerca 3 - The Great Cavy Clean-Up!

Post by M_Tee »

Thanks for the show of enthusiasm. Updated the OP with a suggestion to use Mesen if playing on an emulator.
Some timing-based stuff and specific usage of emphasis bits, which works fine on hardware, don't in many other popular emulators.

Also, nesrocks, thanks again for your input on the car animation.
(nesrocks' style of cars seen in Super Hiking League heavily influenced my design of that scene, and direct feedback nesrocks provided via pm improved its final animation.)
User avatar
Banshaku
Posts: 2417
Joined: Tue Jun 24, 2008 8:38 pm
Location: Japan
Contact:

Re: Gruniożerca 3 - The Great Cavy Clean-Up!

Post by Banshaku »

I'm not good at puzzle games but tried it this morning. Look good as usual ;)

On the title screen, there is 1 line a the top that doesn't seems part of it. I looked at the PPU viewer and everything was fine so I'm not sure why it does that. Is it on purpose? Since it will be in the overscan part it may not be an issue but still, if you're curious like me I'm sure you want to know why (or maybe you know about it already :lol:).

edit:

The music is great too ;) Looks like Tcheco is in the car in the credit :D
Attachments
possible_bug.png
Last edited by Banshaku on Fri Feb 01, 2019 7:57 pm, edited 1 time in total.
User avatar
nesrocks
Posts: 563
Joined: Thu Aug 13, 2015 4:40 pm
Location: Rio de Janeiro - Brazil
Contact:

Re: Gruniożerca 3 - The Great Cavy Clean-Up!

Post by nesrocks »

@M_Tee: And it turned out totally awesome!
By the way did you try it on everdrive? I'll test it on mine ^^

Also, Chip Jockey made a song for SHL and though I liked it, I ended up closing the game's OST with someone else. I see now that he improved a lot, these songs are great!
https://twitter.com/bitinkstudios <- Follow me on twitter! Thanks!
https://www.patreon.com/bitinkstudios <- Support me on Patreon!
M_Tee
Posts: 430
Joined: Sat Mar 30, 2013 12:24 am
Contact:

Re: Gruniożerca 3 - The Great Cavy Clean-Up!

Post by M_Tee »

@Banshaku
Thanks, I'm glad you're enjoying it. The folks in the car are actually Archon and Neko, the guinea pigs' owners. Archon previously showed up in the G2 ending.

Speaking of Tcheco though, Macbee made a solid contribution to the game by suggesting a fairly complex combination of palette changes and emphasis bits being set for the transition fades. It looks great on hardware and Mesen displays it pretty accurately, but FCEUX doesn't. ㅜㅜ

The row of garbage pixels at the top is intentional, and is in all of the games we've made so far. We render our picture starting one row of pixels lower. I'll have to let Łukasz chime in on the specifics, but from what I recall, it makes sprite drawing more convenient in some way.

It'll definitely be covered up by overscan (even on a PAL system from what I've been told). I'm actually a little disappointed that Mesen, by default, displays the PAL overscan rows even when region is set to NTSC (as it makes it difficult to suggest the emulator for casual players who would be more reluctant to adjust the setting).

Anyway, I suggest setting the overscan to 8 pixels at both the top and bottom via Options-->Video-->Overscan for all games.

@nesrocks
Yeah, Chip Jockey's really talented. About half the BGM tracks in CG2 come from the Electro Body 2 album—which is from 2014, and extremely good as well.

Edit: Talking about region made me update OP with region detection information.
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Gruniożerca 3 - The Great Cavy Clean-Up!

Post by tokumaru »

M_Tee wrote:The row of garbage pixels at the top is intentional, and is in all of the games we've made so far. We render our picture starting one row of pixels lower. I'll have to let Łukasz chime in on the specifics, but from what I recall, it makes sprite drawing more convenient in some way.
It's because the PPU displays sprites one scanline lower than the actual value set for their Y coordinate, so if you also lower the background by 1 scanline, you get a perfect match between sprite and background coordinates, sparing you the trouble of compensating for that 1 scanline in collision checks and the like. You can probably make it look less glitchy if you set the scroll to 239 instead of 255 though, because you'd at least get valid NT data instead of AT data interpreted as if it were NT data.
It'll definitely be covered up by overscan (even on a PAL system from what I've been told).
I was under the impression that all scanlines were visible in PAL.
I'm actually a little disappointed that Mesen, by default, displays the PAL overscan rows even when region is set to NTSC (as it makes it difficult to suggest the emulator for casual players who would be more reluctant to adjust the setting).
Heh, I'm the exact opposite! As a developer, I like to see the entire picture by default, and I hate that FCEUX crops 8 scanlines from the top and bottom by default!
Sour
Posts: 890
Joined: Sun Feb 07, 2016 6:16 pm

Re: Gruniożerca 3 - The Great Cavy Clean-Up!

Post by Sour »

M_Tee wrote:I'm actually a little disappointed that Mesen, by default, displays the PAL overscan rows even when region is set to NTSC (as it makes it difficult to suggest the emulator for casual players who would be more reluctant to adjust the setting)
It used to cut the top/bottom 8 pixels by default, then people said they wished it didn't, so I set it to 0 instead. And now we've got the opposite problem. I wish I had a simple solution here - would be convenient if the header could be used to specify stuff like this (if only for homebrew's sake), but I imagine a lot of people would be opposed to changing this.

Beyond that, other than adding it as a database entry in Mesen's own DB (not a great option) or having it load a config file next to the ROM (e.g myrom.cfg) or something akin, I can't really see any real solution. :|
lidnariq
Posts: 11429
Joined: Sun Apr 13, 2008 11:12 am

Re: Gruniożerca 3 - The Great Cavy Clean-Up!

Post by lidnariq »

tokumaru wrote:I was under the impression that all scanlines were visible in PAL.
PAL (both 2C07 and UA6538) displays 252x239 pixels. Left and right two pixels, and top scanline (where sprites couldn't appear) are all black instead.
Sour wrote:I wish I had a simple solution here - would be convenient if the header could be used to specify stuff like this (if only for homebrew's sake), but I imagine a lot of people would be opposed to changing this.
Would a usable compromise be to display 224 scanlines normally, but all 240 when any of the various Debug windows are open?
User avatar
Banshaku
Posts: 2417
Joined: Tue Jun 24, 2008 8:38 pm
Location: Japan
Contact:

Re: Gruniożerca 3 - The Great Cavy Clean-Up!

Post by Banshaku »

M_Tee wrote:@Banshaku
Thanks, I'm glad you're enjoying it. The folks in the car are actually Archon and Neko, the guinea pigs' owners. Archon previously showed up in the G2 ending.

Speaking of Tcheco though, Macbee made a solid contribution to the game by suggesting a fairly complex combination of palette changes and emphasis bits being set for the transition fades. It looks great on hardware and Mesen displays it pretty accurately, but FCEUX doesn't. ㅜㅜ
Since I never saw the ending of the second one (I suck at puzzle, mention it often :lol:) it just looked line Macbee's character to me. As for the palette fade, he gave me the same information too for my project, which makes it smoother, I do agree. I wasn't aware that FCEUX didn't support it though. I mostly test in mesen and very fast on FCEUX.
M_Tee wrote: The row of garbage pixels at the top is intentional, and is in all of the games we've made so far. We render our picture starting one row of pixels lower. I'll have to let Łukasz chime in on the specifics, but from what I recall, it makes sprite drawing more convenient in some way.
tokumaru wrote: It's because the PPU displays sprites one scanline lower than the actual value set for their Y coordinate, so if you also lower the background by 1 scanline, you get a perfect match between sprite and background coordinates, sparing you the trouble of compensating for that 1 scanline in collision checks and the like.
That's why my sprites where always off by 1 pixel and I though I did something wrong or something, I didn't know! :lol: I just feel better now and know that I was not crazy after all for that 1 pixel off thing.
M_Tee wrote: Anyway, I suggest setting the overscan to 8 pixels at both the top and bottom via Options-->Video-->Overscan for all games.
I don't mind that line, I leave the overscan on to make sure I don't show weird stuff in that particular part. For my current project, it is important to confirms it. I just mentioned that line since I thought it could be a bug (but chance were low since the game was very well done) but it was not the case so everything it fine.

I will try do to an effort and reach later level but knowing myself, I'm not confident in my skills :lol: For some reason some of the artwork gave me a konami vibe but I don't know why. Maybe just my imagination.
M_Tee
Posts: 430
Joined: Sat Mar 30, 2013 12:24 am
Contact:

Re: Gruniożerca 3 - The Great Cavy Clean-Up!

Post by M_Tee »

@Banshaku
No harm done, any comparison to Macbee's work is a compliment in my book. Anyway, try dying or restarting a single stage too many times. Dzidzia might offer to help out if you're struggling with some of the puzzles. This game is more forgivig than our last in that aspect. :)

@sour
I hadn't noticed you were the developer of Mesen. I've been using for about a week now and love it, but haven't dug too deeply into its features. Thanks for your work on it.

EDIT: I realized I almost never explore the NESemDev subforum, so I found your thread in there and trimmed the section I had originally written about overscan to post there instead to keep thread on topic.
User avatar
nesrocks
Posts: 563
Joined: Thu Aug 13, 2015 4:40 pm
Location: Rio de Janeiro - Brazil
Contact:

Re: Gruniożerca 3 - The Great Cavy Clean-Up!

Post by nesrocks »

edited because my memory failed, the story didn't go like that.
M_Tee wrote:Speaking of Tcheco though, Macbee made a solid contribution to the game by suggesting a fairly complex combination of palette changes and emphasis bits being set for the transition fades. It looks great on hardware and Mesen displays it pretty accurately, but FCEUX doesn't. ㅜㅜ
When I started making my first asm program that ran on a NES, one of the first things I did was a fading effect. It was only palette based. I showed it to Macbee and he mentioned it was possible to make it smoother by using emphasis bits. I went to to add it to the program! My code must be horrible, but I needed to have it.
If you want to check the horrible code, it is here https://nesrocks.com/blog/nes-homebrew-source-code/
It is in utils/fade_pal.asm

I tried the game on the everdrive and mesen. Something must be slipping past vblank that shouldn't.
Also, I got to level maybe 10 or something and the game crashed (sprites scatttered and then the game froze with the bg still visible). Could have been a bump in the console, but I'm not sure.

Aside from these, the game is awesome, and it shows what you get when you have 3 people who excel in their areas. I wish to one day work on a NES project in this fashion. :beer:
Last edited by nesrocks on Sat Feb 02, 2019 12:28 pm, edited 2 times in total.
https://twitter.com/bitinkstudios <- Follow me on twitter! Thanks!
https://www.patreon.com/bitinkstudios <- Support me on Patreon!
M_Tee
Posts: 430
Joined: Sat Mar 30, 2013 12:24 am
Contact:

Re: Gruniożerca 3 - The Great Cavy Clean-Up!

Post by M_Tee »

Thanks for checking it. I got your twitter message as well. Łukasz mentioned being aware of the Credits glitch but just not having time to fix it prior to submission.

We spent the last week or so frantically compressing things while also adding other things. I'll either let Łukasz post about the various ways we fit stuff into the ROM. I found some of the ways he achieved things remarkably interesting.
User avatar
Banshaku
Posts: 2417
Joined: Tue Jun 24, 2008 8:38 pm
Location: Japan
Contact:

Re: Gruniożerca 3 - The Great Cavy Clean-Up!

Post by Banshaku »

M_Tee wrote:@Banshaku
No harm done, any comparison to Macbee's work is a compliment in my book. Anyway, try dying or restarting a single stage too many times. Dzidzia might offer to help out if you're struggling with some of the puzzles. This game is more forgivig than our last in that aspect. :)
Macbee is helping a lot of my current project so I'm very grateful about it. I learned about Tcheco after trying his game (still need to finish it, it's hard :lol:) thus the character felt familiar in some way. I will try to play the game without using the help and see how far I go.
Post Reply