Entry Thread - Waddles the Duck

Moderator: Moderators

User avatar
OmegaMax
Posts: 80
Joined: Wed Sep 21, 2016 8:55 am
Location: Calgary.Alberta,Canada

Re: Entry Thread - Waddles the Duck

Post by OmegaMax »

I played your game the most out of all entries,definitely didn't wast my time.
cppchriscpp
Posts: 102
Joined: Fri Dec 27, 2013 4:28 pm

Re: Entry Thread - Waddles the Duck

Post by cppchriscpp »

Alright, so... I can see re-reading that how it'd come off as pretty negative; too little sleep makes coherent writing hard. So, apologies if it read that way. I'm not looking for a pity party. (And re-reading, it kinda looks that way.) The additional feedback is always appreciated.

I like the idea of a flapping animation. My graphical skills are pretty clearly lacking, so I'm not sure how well I could've pulled that off, but hey- I'm better than when I started, so maybe next time.

For my own reference, someone pointed out the jumping sound was grating... something I knew/agreed with but never really took the time to fix.


One thing I do want to call out - I am not bothered by where I placed compared to other games at all. I was beaten out by a number of games that were, without question, better than mine. And that's awesome; I got to play some fun games. I guess why I'm being so hard on the game/myself is the raw scores, and the implications of some of the feedback. I didn't meet my goals with this game, and it took me until the end of judging to realize that, which makes it a little more painful.

-- Rambling post starts here. Skip to the bottom for your sanity --

If I look at the judging details, I scored really low across the board. Ignoring how it compares to others, I'd treat 2.5/5 or 5/10 as average. (At least, this is how I chose to judge.) Using that bar to understand my scores, it tells me there are some severe problems with the entry - to the point I should have picked up on them sooner. If I then look at the scores for graphics and music, I got an average of 1.5 (roughly) - that tells me my graphics and my music were severely below what people might expect from a game in this competition. I kind of knew this was the case so I wasn't shocked. But where it starts to hurt is polish/completeness - I scored a 3/10 - which tells me the game felt pretty bad to play, and wasn't nearly as fun as the average game on the NES. I'm trying to avoid making comparisons to other games, but this tied in score with a game that didn't have sound or music at all despite being a complete game. This tells me there's really something wrong with it. Moving onto originality, I got a 3.67/15 - that tells me people found the game completely unoriginal - it's another generic sidescroller. (Something I tried really hard to avoid it becoming)



The other thing is the more direct feedback I've gotten. It's super valuable, and I'm really thankful for it, but it really tells me again, that I've made some mistakes. Here's a few samples:
The warping mechanic was fun and intuitive, but the rest of the game was torture.

(From the main competition thread)
The collision detection is highly flawed.
The game teaches one lesson (hold the B button, always), then punishes it immediately.
There's also a bit of a condescending tone in some of the responses, telling me "you should already know this, why do I have to explain it to you?"

All of this feedback is valid, and I don't disagree with it. It's helped me see real flaws in the game that I was blind to, and real things to focus on more next time. That's extremely welcome, and I'm thankful for it. That said, it's pretty hard to not write about it in a negative way having seen all of this.

I did not meet my personal goals with this game, and I do kind of have to view it as a disappointment after the effort I put in.

Sorry for the long post - I think that was mostly for myself more than anyone else.

-- End Ramble --
Rahsennor
Posts: 479
Joined: Thu Aug 20, 2015 3:09 am

Re: Entry Thread - Waddles the Duck

Post by Rahsennor »

Let me try to be a bit more constructive about my "torture" comment. A better word probably would have been "unforgiving".

Frustration is the natural enemy of fun. Having to guess stuff is frustrating. You don't have to guess, because you wrote the game, but the players don't know anything unless they can see it. There's a bunch of stuff in this game that's non-obvious until after you've lost a life or two.

1) Jump height.

Waddles doesn't jump very high compared to the enemies or obstacles. That naturally means there's not much room for error. Your enemies are pretty short, so I can see you're prepared for this, but one downside of your strange jump arc is that it rises relatively slowly. I've died a few times from hitting an enemy on the way up. A parabolic arc would alleviate this by getting you out of harm's way faster while still giving you the same height and air time. Or you could lift Waddles' hitbox up to his body and make any contact with his feet count as stomping, so you can hit enemies more easily. Maybe redraw the sprite to show Waddles kicking his feet out. Giving the player a visual cue is very important.

2) Ascension control.

Waddles starts going down the instant you let go of the button or reach the top of your jump. That's very different to how most games do it, so not many players are going to be expecting it. In particular, since Waddles' jump height varies, it's unpredictable. You should telegraph that the jump is ending somehow. A parabolic arc does this automatically and intuitively. You could also make Waddles start flapping extra hard or just give him a few frames of hang time to let the player know what's coming next.

3) Running.

Waddles' jump height depends on how fast he's moving horizontally. That makes absolutely no sense whatsoever... until you remember he's a bird. Even so, I spent several minutes unable to get out of the start area because I hadn't figured that out. I was walking slowly because I was cautious of running into more of those hard-to-dodge enemies, and because the obstacles were close together. Lose the enemies and give the player a big long runway, at least a screen wide. If you can, redraw Waddles' running sprite to show him lowering his head for takeoff. Maybe make him ascend slightly faster. Turn one of the most frustrating features in the game into one of the most awesome.

4) Hitboxes.

Waddles stops with his beak three pixels away from the wall. That makes it much harder to judge if a jump is safe. I seem to remember you saying something about the hitbox sizes being hardcoded; please excuse my poor memory. If so, you really need to do something about that. If/when you do, here's a tip: use a different hitbox for different kinds of movement. If you use the seperate axis method of movement, this is the natural way to do it.

The reason I suggest doing this is because it's very flexible. For example, you can make horizontal collisions only check the character's body, but make vertical collisions include the character's feet. That way when your jump is just short, you will move a pixel into the wall, then get pushed up instead of sideways, popping you onto the platform. It's sort of a poor man's version of ledge-grabbing. There are lots of other tricks you can use.

When it comes to enemies and hazards, remember that the hitbox should always be smaller than the graphics. Conversely, items should always be larger than their graphics. Tilt things in favour of the player's expectations to avoid unwanted surprises. Remember you don't always have to change the hitbox - you can also change the graphics.

5) Water.

It took me until today to figure out that Waddles can swim. I feel stupid. :P You've put some gems over the water, but I don't think that's enough. Put in a whole screenful of water, or maybe even start in it, to make sure the player knows it's safe.

But then in level 2 the water isn't safe. You should distinguish this somehow; remove the water, turn it green, or even just make it safe too, since the player can't progress from water level anyway. Consistency is important.


Sorry if that was just a rehash of stuff other people have been saying. I haven't been able to keep up with all the progress threads.
cppchriscpp
Posts: 102
Joined: Fri Dec 27, 2013 4:28 pm

Re: Entry Thread - Waddles the Duck

Post by cppchriscpp »

I'm trying not to reply every time there's a new post, but well... that has some really useful stuff so I'm gonna. (And please, don't feel bad for the torture comment. I wasn't trying to call you out; that's a fair way to say what you were trying to say. I just didn't realize how big the rift was between what I thought of the game, what my non-retro-gaming friends thought of the game, and what people here thought. It was a shock, albeit certainly one I needed.) Don't worry about duplicate content; that's my job to weed through, not yours! And a lot of that is unique actually.

Not gonna quote it all but the comments about using graphics more effectively are really good. That's something I tried to keep in mind, but my artistic skills are just weak right now. Redrawing waddles is downright daunting to me - it took days (well, hours after work for multiple days) to get that where it is now. (And I know, that's kinda sad) I'm improving for sure; that will probably be a better solution next time. Definitely good to keep in mind.


The detail you went into on the jump height and hitboxes helped a lot. You got into the *why* with examples, and that made both of those click for me. A few folks had mentioned both in some detail, and they made sense as something to experiment with - I think I would have figured it out with some time. You took out the part where I have to experiment for myself to understand it. Thank you a ton for that!

The level 2 thing was meant to be a safeguard against falling once you figure out the ice puzzle -- but it is absolutely confusing. I actually removed it in a build a day or two after submission. (When I thought getting this to a polished state was realistic.) I do wish I had enough time to alter the physics in water - I originally planned it, but like many other things I had to scrap it due to time. There actually is a full screen of water in one of the later levels (with the shark fin things - took a very long time to make it playable!) - perhaps I should still consider having one earlier on.


Anyway, thanks for taking the time to write that all out. It definitely helped.

(And also thanks to the folks with positive comments before - meant to say that in my mega-post above and forgot. Sorry! :oops:)
cppchriscpp
Posts: 102
Joined: Fri Dec 27, 2013 4:28 pm

Re: Entry Thread - Waddles the Duck

Post by cppchriscpp »

New build up (v 1.1)

It isn't much; the major flaws (movement, collisions) are still there, but I tried to touch up a few things:

- Make warp areas more obvious - new sfx play when in the warp area
- Bunch of level tweaks
-- Make the later levels a little more interesting/less linear (Warning: I didn't do much)
-- Teach you that water is safe sooner
-- Fix a few spots that sucked due to poor collisions (Lava that instantly killed you, fire way to close to where you'd normally jump, etc)
-- Remove "trick" water in the first ice level
- Lengthen intro (the music sounds awful... I know. I can't seem to come up with anything better though)
- Jump sound effect made less annoying (maybe)

Don't think I'll be doing anything else past this point, but I'll of course update here if I do.
nesdev-compo-2016.nes
Waddles the Duck 1.1
(64.02 KiB) Downloaded 648 times
M_Tee
Posts: 430
Joined: Sat Mar 30, 2013 12:24 am
Contact:

Re: Entry Thread - Waddles the Duck

Post by M_Tee »

I like the intro music.
Did you mean to not outline the inside of the "d" in the logo, or is that accidental?

I find the jumping to be really difficult. Just the first jump (to get the first coins) took me multiple tries

EDIT: My difficulty was with a new keyboard. Apparently it has a poor rollover rate. I had to remap some keys to allow running and jumping simultaneously.
cppchriscpp
Posts: 102
Joined: Fri Dec 27, 2013 4:28 pm

Re: Entry Thread - Waddles the Duck

Post by cppchriscpp »

Heh, I've fallen into that keyboard trap before. Glad you were able to sort it out.

For the logo, I used the font I picked and didn't really do any customization. (Font is Alagard - here: http://pix3m.deviantart.com/art/Bitmap- ... -381110713) I honestly never thought about it until you asked.

Looking forward to seeing what you do with the art for the cart, btw!
JRoatch
Formerly 43110
Posts: 422
Joined: Wed Feb 05, 2014 7:01 am
Contact:

Re: Entry Thread - Waddles the Duck

Post by JRoatch »

I don't know if this is because of the level tweaks in v1.1 or not but I found myself unable to achieve a true ending the game implies there to be.

I somehow got 17/15 gems in level 3, and for whatever reason I ended up with a total of 581/154 gems after the first game cycle. I think the level 8 portal didn't activate because of that strange gem total.
cppchriscpp
Posts: 102
Joined: Fri Dec 27, 2013 4:28 pm

Re: Entry Thread - Waddles the Duck

Post by cppchriscpp »

----- Skip all this; I found the problem. See update below -----

Hmm... that's really strange. I don't *think* it's the level tweaks themselves. The world 8 portal problem definitely makes sense. I unfortunately used an equals check instead of a greater than check, so if you get too many gems it won't work. Might go back and patch that.. at any rate it sounds like either 1) RAM somehow got corrupted in the $400 range or 2) The value at $4ff was exactly $db when the rom was started, and thus that page wasn't cleared.

Can you give me any more information on what happened leading up to your noticing the weirdness?

Hoping you can tell me a few things:
- What emulator were you using? (Or were you on powerpak?)
- Were you using the rom on its own, or the one built into the multicart?
- Which rom were you using? The one I uploaded here, or the one on my site? (Shouldn't really matter, but...)

I admittedly haven't played Waddles through to 100% on the multicart, so if it does anything funky with RAM that could maybe explain it. I'll try to get around to doing that in the next couple days.

If anyone else has seen the same thing, please let me know!

-----

Update: Never mind, I can reproduce this pretty easily on the A53 cart. starting waddles and playing partway through, then resetting and reopening the game from the A53 menu without switching games will trigger it. Does that sound accurate to what you ran into?

I might be able to work around that by finding some space in RAM that A53 doesn't touch. That's a little risky though.

Failing that I could also just remove the feature to restore your gem count on reset for the multicart. That's seems more unfortunate, but I think I can make it workable. I might add a 3rd item to the menu that lets you return to the title, so you can get gems in a few levels w/o replaying everything.
JRoatch
Formerly 43110
Posts: 422
Joined: Wed Feb 05, 2014 7:01 am
Contact:

Re: Entry Thread - Waddles the Duck

Post by JRoatch »

Yes I was testing the latest multicart build on powerpak. I probably did reset from Waddles before playing it proper.

From the sources the menu currently does not touch $04fb~$07ff. So moving to page 5 would work.
cppchriscpp wrote:I might add a 3rd item to the menu that lets you return to the title, so you can get gems in a few levels w/o replaying everything.
That's a good idea, as that's about the only reason for this game why you would want a warm reset.

Still I think it's kind of a cool idea that you can continue from pressing the reset button. Moving the save data to another page, the magic byte to the first byte of that page, and adding a simple checksum (even literally a modular sum of all it's bytes) over the whole page will solve the issue.
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Entry Thread - Waddles the Duck

Post by tepples »

cppchriscpp wrote:Failing that I could also just remove the feature to restore your gem count on reset for the multicart. That's seems more unfortunate, but I think I can make it workable. I might add a 3rd item to the menu that lets you return to the title, so you can get gems in a few levels w/o replaying everything.
That and if you add an "exit" item to the title screen, I can turn off exit patching for this game, as I did for STREEMERZ in volume 1. But don't expect it to work in FCEUX because FCEUX resets the mapper on reset, unlike existing hardware.
cppchriscpp
Posts: 102
Joined: Fri Dec 27, 2013 4:28 pm

Re: Entry Thread - Waddles the Duck

Post by cppchriscpp »

I started work on this tonight but ran out of steam. Will get back at it at some point in the next few days.

A few changes:
- New "Exit" menu item in game - takes you back to the title screen.
- Memory reshuffled to put collectible data and the magic byte into $500, making it less likely the A53 menu code corrupts our data.
- UNTESTED: A53 menu text & feature. If you hold select and press start while on the main menu, you'll (theoretically) go back to A53

I've attached a rom of this version if anyone wants to play with it. The non-action53 version is on my site, too. To note, I have not tested this with the a53 menu software yet. It may not work! I used the exit patch code documented in the A53 tools, but you never know for sure until you've tested ;)
Relevant change in github

My next step is going to be grabbing the latest a53 menu and tossing my updated rom in, and seeing whether the feature works.


After that, I might try to make the interface a little less wonky. I can't decide how annoying select+start is vs having a selectable menu item.

It shouldn't be *that* hard to do a proper menu item, I just need to make sure I update the initial state to be a real menu with a "Play Game" and "Exit to Action53" option, then also add this same option to the level select screen. I'm struggling to figure out how to make this look natural - particularly once level select is enabled. At any rate, one step at a time.
Attachments
waddles-a53-1.nes
Waddles rom that should exit to a53 on its own (maybe!)
(64.02 KiB) Downloaded 604 times
Last edited by cppchriscpp on Fri Jan 26, 2024 10:18 pm, edited 1 time in total.
JRoatch
Formerly 43110
Posts: 422
Joined: Wed Feb 05, 2014 7:01 am
Contact:

Re: Entry Thread - Waddles the Duck

Post by JRoatch »

I attempted to test the A53 menu exit function by hex editing the new binary into the latest build, but predictably that failed catastrophically. I should really get the menu software to compile correctly on my computer.

Anyway I believe the other 2 changes is sufficient. I don't particularly like the idea of truing off exit patching in favor of a in-game menu, it breaks the expectation that NES Reset works like a instant Home button, and that held true for everything but STREEMERZ.

For some reason I never got the level select screen in my play through of this build.
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Entry Thread - Waddles the Duck

Post by tepples »

If the reset vector has changed, replacing the binary will fail unless you also replace the reset vector in the directory. The builder automatically picks up on this.

If the location or size of the unused area (the part that's zero-filled) has changed, replacing the binary might fail because other games' screenshots, CHR ROM data, etc. might be placed in the unused area. The author of the config file has to find the new build's unused area and update the config file.

If you have trouble getting Action 53 to build, post your support request as a reply to the multicart engine's topic.
JRoatch
Formerly 43110
Posts: 422
Joined: Wed Feb 05, 2014 7:01 am
Contact:

Re: Entry Thread - Waddles the Duck

Post by JRoatch »

Ok, I got a small multi-cart with the a53 menu compiling, and I can confirm that start+select returns to the multicart menu.

I still suggest that the magic $db byte be the first byte instead of the last mainly because assemblers and compilers allocate starting from the first byte. That way there will be a greater chance of wiping the whole save when other things partially write into that page.
Post Reply