Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Fiskbit

30
Posts
48
Followers
A member registered Mar 08, 2022 · View creator page →

Creator of

Recent community posts

I played all of the compo games in Mesen with every developer option turned on (and using Random Values for "Default power on state for RAM"). Those are the options in the top half of Settings -> Emulation -> NES. They're off by default because they usually just make the experience worse for non-developers, but developers should really keep them on to catch real-hardware bugs. The symptom is that the game's palette will be randomly wrong when the game is repeatedly power cycled, because palette RAM will start with random contents and the game's palette writes are ignored by the PPU when they occur during the first ~30,000 cycles. On a real console, this probably only matters if the game is on a real cartridge rather than a flash cart; with a flash cart, the PPU won't be initializing when the game first launches and the correct palette will already be in palette RAM when the game is reset.

In terms of code, I think your issue is just that you don't do a single BIT $2002 (PPU STATUS) before your first call to the function that waits for the bit 7 of $2002 to become 1. Apparently the state of this flag is random at power-on and you need to make sure it's clear before the wait loop.

I'm really happy to see new developers submitting things to the competition and I'm hopeful you stick with it! :)

Just be careful, because if you read both controllers in each pass, your input may not be guaranteed to be correct. Repeated read solutions need to be able to do 2 complete passes within one DMC period, and doing both controllers at once is longer than at least rate F. Best guidance right now for repeated reads is to just do each controller totally separately.

Those changes sound great! Looking forward to playing with them.

This is actually a really neat twist on Minesweeper and I think the multiplayer aspect looks like a lot of fun (though I've only played it solo). There's a lot of polish here, and I especially like that it's smart enough to end the round early when it's no longer possible for the other player to win. I wonder if it might be a good idea to have an optional move timer that forces a random move to prevent a player from taking too long, to encourage some quick thinking. A way to move the cursor more quickly would be handy, too (maybe when held after a delay, or by holding B).

One major issue that should be addressed is that the second player controller is susceptible to DMC DMA glitches. Simply using repeated reads is not sufficient; you need to do repeated reads of one controller until it matches, and then again for the other controller. (Or, alternatively, use OAM DMA synced reads, which I prefer.) See this thread for more details: https://forums.nesdev.org/viewtopic.php?t=24952

Nice game; I enjoyed this one!

Obviously, the game itself is pretty simple, but I really like what you did with the art. I find the sky to be pretty interesting and memorable, and the overall aesthetic is quite nice. I'm glad you submitted this and I look forward to seeing what else you do!

I've only played this solo, but this game looks really cool and I think having this with 4 players (or even more??) would be an absolute blast, so I strongly encourage you to consider that. (There's a page on the wiki with details on four player adapters.) The concept is really neat and I hope you flesh it out with sound and perhaps more maps, ways to get more ammo, or whatever other ideas you can think of. The core here is really good.

I love the theming of this game and I think that's what really sells it. The gameplay is simple, yet fun, but for me, it's the story and death animations that bring the most joy here. I think you definitely hit on a good idea and I love what you did with it.

Definitely more interesting than your average snake clone because of the wrapping and moving food. I actually wish the game kept going instead of ending at a certain score so it would get harder to avoid losing, but I enjoyed what's there. The title music had me going 'Whoa!' at first; it is very unique!

This is a really cool arcade-style game; I think it captures the feel of an early NES release quite well. I liked the art and music, it functions well, and I had fun playing it. My favorite parts were the frantic moments when lots of mice would show up in quick succession and I'd have to dispatch them quickly and efficiently while refilling on pies to take on the rest of the group. My main wish is that there were more of these moments; as the game goes on, you're still often facing small groups with plenty of time to refill on pies, coupled with breaks in between where there's nothing to do (presumably to let more pies bake?). I'm not sure how the waves right now are generated, but I wonder if having an explicit 'waves' system with separate, numbered waves would help with balancing it so the game gets progressively harder and more tense. Those wave number milestones would also make it feel like you're getting further into the game.

Another thing I noticed is that you can actually juggle mice on the roof of the pie stand (only once, though, I think), and you get points when you do this. I don't know if this is an intended feature or a bug, but I think it's really cool and I wish you could keep doing it (with a slightly wider timing window than it has right now) and get increasing points each time. I think the game could use a mechanic like this that lets skilled players get more points without just surviving longer. I also noticed that mice can still kill you when they're falling off the roof, which doesn't seem right to me.

Finally, the collision between pies and mice is really wide and this sometimes has weird results, like throwing a pie at one mouse and hitting the mouse next to him. This can make it hard to know which mouse is going to get hit.

Overall, very cool entry and I think you guys did a great job.

The 5-piece that's a cross between a T and L is the stuff of nightmares. I had a lot of trouble with this one until I discovered there's a hold feature! Definitely a tricky take on this game design, but pretty well done and with an appealing style.

One technical problem I noticed: At power-on, you have some issues with OAM decay where you do OAM DMA about a frame before you enable rendering, so OAM has decayed by the time rendering turns back on. You could fix this by doing OAM DMA every vblank, or by simply keeping sprite rendering off at the title screen.

I'm a big fan of this kind of game where you have to think fast while mastering a new way to move. The game is fun and very polished, and the movement is very smooth. The parallax effect is nice and I'm impressed by how much music there is. Nice job!

The art in this game is gorgeous, and there's so much good music here, too! The incredibly cutesy theme is a lot of fun. The gameplay is unique to me; Tetris Plus also has a character you guide around, but plays totally differently, and I appreciate your original take on the genre. I played this single player and I definitely had fun, but I don't think there was enough for the unicorn to do. The push ability could be handy, but at least in single player, it doesn't feel worth hunting energy for, and I'm not sure how often it's useful with the restrictions (maze walls, only pushing left/right). I felt like I could usually just park the unicorn at the top of the maze while dropping blocks, and when doing this, I also wished I could make the blocks spawn faster. I'm not sure what your plans are for the full version, but I'd love to have more pressure forcing me to juggle the unicorn and blocks more, or maybe more reason to keep the unicorn energized. Overall, I'm excited to see how this develops.

This is really well-implemented and I enjoyed it quite a bit. With some more holes and especially music and sound, I think this would make for a really great group game and I hope you take this further. I'd also consider making it so the players with the lowest score go first, because players going first are disadvantaged by having less information.

This game is impressive. The physics are outstanding, the art design and execution are excellent, and the level is very well-designed, with some challenges that really make you think. I love this one! I did have one small issue: I somehow managed to collect 81 souls, and so the game concluded I hadn't collected them all. That aside, I had a great time with this game.

Short and simple, but very stylish. Reminds me a lot of Kid Icarus, with the wrapping and one-way scrolling. The art style is appealing and well-executed. The movement is smooth, and I like the level design; the turrets blend in really well with the scenery in a good way and are easy to overlook, requiring the player to really pay attention, and there's at least one really nice puzzle requiring the wrapping mechanic. I'd be interested to see an expanded version with more content and ideas, but what's here already is really good. I also think using horizontal mirroring (aka vertical arrangement) would be an improvement, since it would allow glitch-free scrolling.

I've only played this single player, but the AI puts up a good challenge! The narrowing playfield is a really great idea. Despite the simple controls, I'm not sure I have a full grasp of how the pushing mechanic works yet. I look forward to trying this with a friend because I suspect there will be some fun mind games that make the gameplay a bit deeper.

One minor issue I found is that you write to palettes too soon after power-on when the PPU may still be initializing, so those writes can be ignored. (You can test this in Mesen with Settings -> Emulation -> NES -> "Clear PPU $2000/1/5/6/7 throughout first frame after reset/power-on".)

Really solid game that reminds me of hub-world collectathons like Mario 64 and Banjo-Kazooie. The movement feels smooth, the style is amusing, and it looks like there's going to be a lot of variety. I enjoyed discovering the singing mechanics; there's a lot more to it than it first seems. I'm eager to see more of this game in the future.

There are a few things that I think could use a little polishing. The button inputs seem a little inconsistent: the menu cursor and singing ability both respond when releasing the button instead of pressing it, and holding select prevents jumping from working. The enemy hitboxes feel bigger to me than collision with backgrounds, and that made me take a lot of hits right on the very edge that I didn't expect. The options screen is a little awkward with the full-screen flicker when changing options and the cursor resetting to the first entry. Finally, the wavy effect when entering a book has a random single-scanline glitch related to $2005 writes landing around dot 257 (you can test this in Mesen with Settings -> Emulation -> NES -> "Enable PPU $2000/$2005/$2006 first-write scroll glitch emulation"); writing on that dot causes X scroll to change to $20 for one scanline.

I really like this game. It's a lot of fun, the concept is great, the music is a good fit, and the art style is appealing and evokes feelings of early console releases. The tumbleweeds are a great mechanic; I love that they can be helpful or a hazard depending on the context and how they happen to bounce. The game also feels really polished and well-made.

I wish the difficulty curve were less steep; it often feels like death is out of my hands due to the particular block patterns I get, even on the first level. Slowing down the speed at which the blocks fall in the earlier levels, and/or providing an indicator of where the next block will fall (which could give less warning and eventually none on later levels) would go a long way toward smoothing out the curve. My only other point of feedback is that I would have never found the super jump on my own, and it seems like that's an important tool for survival in this game. While a real arcade game might have physical artwork explaining the mechanics, we don't have that here, so I think a gameplay demo showing the feature or an attract-mode tutorial card would be a big help.

Really nice puzzle game. I'm impressed you pulled this off so well on the NES; it plays great and is smooth and fairly polished. The AI is certainly challenging enough for a beginner. I also really like the music, and the art, while simple, looks great. I haven't played the original, but was able to figure out the mechanics here on my own pretty quickly except for the attack pattern, which feels like it requires explanation.

I dug into this a little more and the uninitialized RAM issue isn't quite what I thought. For attributes, you set some of the attributes, but not all of them, so parts of the title screen and especially the playfield can be wrong depending on power-on RAM state. You can make the attributes a lot easier to write by copying 64 bytes in a loop, rather than copying hardcoded bytes one by one, which is a lot harder to maintain.

For palettes, you actually do set them, just too early. The PPU ignores most writes for the first 30,000 cycles or so after powering on, and your palette writes happen during that PPU initialization window. You can test this in Mesen with the "Clear PPU $2000/1/5/6/7 throughout first frame after reset/power-on" feature. Most emulators don't emulate PPU init at all.

(1 edit)

I'm glad you submitted this! While the gameplay here is somewhat basic, I think it's clever that you have both friends and foes and two different kinds of shots. It adds some good spice, making an otherwise-simple game more unique and interesting. While I think it's cute that you have the score track corner bounces, it's a bit hard to understand and I think scoring the actual gameplay instead (or in addition!) would've been more fun because it'd give more feedback and an additional objective to play toward.

Here are some technical notes if you do an update, or for future games:
• You have problems with uninitialized memory; you don't set the attributes tables or PPU palette RAM, so you're dependent on either what ran before the game (eg Everdrive menu) or the semi-random power-on values on hardware or emulator, which vary significantly [Edit: See reply below!]. I recommend testing with randomized RAM in Mesen to more easily catch this kind of issue (Settings -> Emulation -> NES -> Default power on state for RAM -> Random Values).

• On CRT TVs and some emulators, the edges of the screen are cropped somewhat, which means that content such as text near the edges (particularly the top and bottom) can be hidden. In this game, it's a problem for your game title, creator credit, score, and food counter. We generally assume users can't see as much as 16 pixels on the top, 12 on the bottom, and 8 on each side.

• You should try to avoid having lots of DVD logos spawning at the same height because of sprites-per-scanline limitations. I managed to get 4 on the same row, so there's constant flickering, and since the logos all move at the same speed, it never stops.

• It seems there are conditions where bluray logos stop spawning, so then you can't get any more food and are forced to lose. I don't understand why this happens, but it feels a lot like a bug.

This is a great first project and I'm excited to see what you do in the future!

I think that's a neat idea, though it's complicated by how this game is implemented. I use sprite 0 hit for pixel-perfect collision detection, so I know that a collision happened, but nothing else about it. That means I don't have the information I'd need to bounce the player back to a safe position. It might require a separate collision system on top of the sprite 0 hit, or something hacky like returning the player to the previous frame's position when collision occurs on one frame (but coupled with the autoscrolling, this could eject the player into a wall). I could let the player have iframes that let them briefly move through walls to a safe position, but I'd be worried about this either becoming an easy way to beat levels or the duration too short to get to a safe spot.


A more feasible approach to solving the same problem might be to remove the autoscrolling to remove the pressure that makes execution a challenge. For the faster stages, I suspect taking damage is likely to be followed very quickly by death, anyway, so no autoscrolling might be the way to go.

Thanks for writing and I appreciate the feedback; it's something I'll have to give some thought!

Glad you enjoyed it and congrats on beating it! The color persisting is actually intentional; I figure it's a fun touch after beating the game. It'll carry over whatever palette you had at the end, which can vary if you skip checkpoints. I appreciate the report, nonetheless.

This was my second favorite game of the competition. The amount of content (for a demo, even!) was really impressive, and the game is polished and fun. I think you did a great job with this and I intend to check out the full version.

I encountered one technical issue playing the game in Mesen where a wildcat enemy in the beach area (on the map, the sprite dot for this screen is at $70,$97) spawned incorrectly, with incorrect attributes (vertically flipped when still and wrong palette) and incorrect properties (would not collide with the player or projectiles). When it spawned, the music also broke, only playing on the triangle channel. I rewound and tried again and it did not break the second time, so I'm not sure what triggered the problem.

I have one major complaint about the game, which is that the balance for enemy health and weapon damage seems really off. I got pretty far before finding my first weapon damage upgrade, and by that point, enemies had turned into damage sponges. I had to resort to turbo because it was completely unreasonable to try to kill them with actual button presses, and even with turbo, some still took way too long, especially the bosses. I'm not sure if I just picked the wrong path every time there was a fork and thus missed out on all these critical upgrades the first time through, but without any damage upgrades, the combat becomes a frustrating, time-consuming chore. I did eventually decide I probably missed some kind of combat upgrade and should go back, but the world is so large and wide, so with how much distance I'd have to cover to return to the earlier areas, it seemed better to just keep marching forward rather than turn around and explore more in the hopes of maybe finding useful items I didn't actually know existed.

As such, I wish the game did something like any of the following:

• There were perhaps damage upgrades on the main path
• There were something to gate forward progress until some useful combat upgrades are found
• Damage were reworked to make later enemies immune to the base gun to help the player understand he's missing something
• There were earlier access to a fast travel mechanism so going back to explore more isn't so time-consuming early on

Any of these probably would have solved this damage problem for me, and it's easily the biggest issue I saw and one that might prevent me from recommending this game to someone who isn't willing to use turbo.

Despite that, I still really enjoyed Isostasy. I'm really impressed by the size of the world and how well you used the repeated screens, as it generally feels more unique everywhere than Metroid. The style and graphical touches, like sprites for an extra 'background' layer or the changes to the player sprite in different environments, are really nice. The map is also extremely handy and works well. Thanks so much for submitting this great game!

Thanks for the manual image; that definitely explains some stuff I didn't notice in-game. I don't think I would have ever found Lucid Mode on my own, heh. That explains the big box on the screen, which I had thought that was actually a placeholder for a picture.

Regarding the header, Mesen has a header editor (Debug -> Edit iNES Header) that you can use to set various properties, including an 8 KiB size. Sizes smaller than 16 KiB are a little challenging to do manually because they require a different, more complicated format added in NES 2.0. That'd probably reduce your emulator and flash cart compatibility, though, since I'd bet some emulators and PowerPak (maybe even Everdrive) won't handle this other size format.

I wasn't a huge fan of Guntner in last year's competition, but this version surprised and impressed me. I had a great time with it. The game has a unique style, good humor, and substantial variety. You also did a great job with performance, having so much going on without noticeable slowdown. This is a polished, interesting, and entertaining game.

I thought this was a pretty cute game; thanks for submitting it! I appreciated how many levels it has and I think the randomness is interesting. I think it's actually a bit too random, though; it feels like the jump height can be anything within a certain range, which can make it hard to get a handle on the controls. I think it would be easier to play if you restricted it to just 2 or 3 clearly-different jump height options.

I also think the gravity is overtuned and pulls you down way too fast. You mentioned in another comment that holding jump makes you fall slower, which I didn't discover on my own for the hamster; I don't think this is a normal mechanic in platformers unless the game has an explicit floaty/slow-falling mechanic, such as the blimp in Milon's Secret Castle. I think this mechanic isn't very discoverable because the slower rate isn't so slow as to make it obvious and I suspect most players don't normally hold jump all the way until they reach the ground. That said, it is obvious with the bird because the floating speed is so slow and floating has a unique animation. Outside of speedrunning, I'm not sure you'd ever want to fall at the faster rate, and I'd suggest removing this behavior for the hamster.

The bird is very cool, but also way too rare. I think I only encountered it once when first playing through the game. I like the idea of having different animals with different capabilities and I suggest leaning into that more. It also seems like a cleaner way to mix things up than randomly varying the movement stats of a single animal, because it's visually obvious how it's going to play rather than requiring experimentation each time to understand how you're going to move. More animals also fits well with the game's theme!

Finally, I think a more-structured, less-random mode would be nice to have, where difficulty could be tuned to increase over time, you could get more time with the bird, and you could have levels tuned to specific movement capabilities, but I understand it doesn't fit the dreamland theme and removes one of the game's unique aspects. I wouldn't be surprised if this is an unpopular suggestion!

My other notes are minor or things others brought up already:
• Level transitions after the last crystal are abrupt and should either pause or continue playing briefly before transitioning.
• Level transitions are a little messy. Sprites and color emphasis are turned off mid-screen, so you can get a crystal fragment toward the top and then no crystals while backgrounds are still shown, as well as a different color on top if emphasis is changing. Palettes also change on the wrong frames when switching between the title card and level. It's all very fast, though, so it still looks mostly OK.
• Despite the scroll being 8 pixels down (which is clever!), the crystals in the top corners may be a problem on aggressively cropped and/or curved TVs. While I normally assume a top crop of 16 pixels (and 12 on bottom), for required content, I'd suggest more caution here, at least staying away from the corners. The crystals are pretty thin, and combined with a side crop of up to 8 pixels and the curve TVs tend to have in the corners, I'm not surprised that some TVs would hide this.
• There's a minor hardware glitch your game is triggering that causes a single scanline to occasionally draw from the wrong nametable. This happens when you write to $2000 during rendering; landing that on a certain pixel of the scanline causes the glitch. To avoid this, you should set your scroll during vblank after you're done writing to VRAM, not as the last thing in your frame logic. (If that isn't workable for some reason, you can instead fix this by writing to $2100 when your scroll starts on the right nametable (and still $2000 when it starts on the left nametable).)
• It might be nice to be able to skip the level titles by pressing start to allow dying to be a little faster.

Sorry if this is way too much feedback and I hope it doesn't give the impression I thought it was a bad game! I enjoyed it and look forward to any improvements you make to it or other games you make in the future.

I'm thrilled to hear the title screen was a hit for you. For simple games like this with unusual movement, I think the title screen is a great opportunity to teach the player, integrating a tutorial in a clean, non-obvious way. I did something similar in my entry last year, but this time the game is simple enough for the title screen to really teach you everything you need to know. I did have a brief thought of disabling death there, but kept it because it's funny, teaches a lesson, and helps show off the really cool sprite-0-hit collision.

Thanks for the kind words about the controls, and I appreciate the feedback about a pause feature. I discuss both in my reply to Matthew Justice further down the page, if you're interested. As for collision, I touched on it above, but I used sprite 0 hit for it and I think it turned out fantastic; it's hard to think of a better use case. Sprite 0 hit has so many limitations that make it a bad tool for object collision and I'm really fortunate it works so well for this game. Having to replicate this in software would be a serious challenge, and less precise collision would really hurt the game's feel. Dodging an obstacle simply by rotating the ship feels great!

I appreciate the kind words! I'm not much of an artist and was worried my basic art here wouldn't land, but I think it might succeed in giving a vector arcade feel, which is very appropriate for the style of game.

You're not the first person to want unlimited lives, and I strongly considered this for an easy mode. I was concerned it would hurt the feeling of progression and achievement as the player masters the game, and worsen the difficulty curve by allowing players to get to the much harder sections when they haven't had sufficient practice yet on the earlier ones. Difficulty was always on my mind in part because my biggest inspiration for this game, Gravitar, failed in the arcades because of the insane difficulty curve new players face. I got a lot of feedback that normal mode feels pretty good after maybe a brief rough start and that it's fine as-is, and I figured people who really wanted unlimited lives would probably be happy enough with saved states. I definitely didn't expect someone to make a Game Genie code for it; that's really cool!

I'm glad the physics worked so well for you! Doing a rotation-based system like this was new for me and I had some issues getting the right scaling for things like aspect ratios and frame rates, but I think it worked out really well in the end. After my experience in last year's competition where I had trouble tuning gravity just right, I ended up going with 8.16 fixed point (16 bits of subpixels) for position and velocity here instead of the usual 8.8, which I think made a big impact in having the angles feel right. Without that precision, there'd be a lot of adjacent angles with identical X or Y components.

Omitting a pause feature was an intentional decision, because I was worried it would be too tempting to abuse it and it might cut the tension too much. As a compromise, I made it so you're perfectly still after respawning even with gravity enabled, and the in-game timer pauses until you start moving again. I'm surprised by the number of requests I've had for a pause feature, and while I'm still not sure it's right for the game, I'm definitely not sure what the right way would be to add it in. Two options I've considered are to have a cooldown after unpausing where you have to wait some amount of time before you can pause again, or requiring that your velocity be low enough on both X and Y to pause. The latter might be harder to abuse (depending on the thresholds), but is much less discoverable and clear. These also present more headaches for me in terms of speedrun timing; speedrunners have requested I change the in-game timer in an update to time deaths, but I plan to still have the timer be paused when you respawn until you move. If you can pause the game, I'd prefer not to time it, but I worry that would enable speedrun exploits of the in-game timer like we're currently seeing with deaths.

I definitely appreciate the feedback!