And rewriting all that code is undoing months of work. Sometimes, you start depending on an idea early on that didn’t seem to use a lot of resources at first, but now a lot of things are depending on it and you realize that you can’t go on until you figure out a new way to do it.
If you sat down and worked on your first project, you’d be amazed at how quickly you can blow up your FPS with just a small amount of code and some sprites.
Even on a modern system, CPU is a very limited resource. There is an unused sprite Solus while cloaked showing him tripping and falling over. Combining elements from Mega Man, Mario 3, Duck Tales, Zelda II, and Castelvania Shovel Knight excels over the rest of the games trying to cash in on the 2D pixel art revival of recent years. Solus was one of the first owl characters that Simon designed for the game. Combination of the best gameplay elements of retro pixel games of the NES era. And complex water physics are needed to solve the puzzles in my game. In the game files, Aegolius' hologram sprite from the Eternal Sanctuary is named 'solusAncestor.' Solus is roughly the same age as Otus. The unique, vertical-based platforming might recall Kid Icarus if you squint and don’t look too hard, but Owlboy’s aerial abilities negate that. Maybe I want to create a game with a huge number of entities with complex AI on screen at any given time. Owlboy’s sprite-based graphics recall 16-bit adventures, but they’ve got a style all of their own. Now if you want to talk power, I could easily make a game using 8-bit sprites that consumes a boatload of CPU. Now you have to decide if you go back to some part time job and stop sleeping so you can get this port finished and hope sales make it all worthwhile. In the meantime, you’re not working on whatever project you had started before the demand for the port happened, and your sales are slowing on the other systems, and you need an income coming in.
You estimate that it could take you months working full time to get it running on the Switch. Now you have to literally gut your code and rewrite it. Maybe in the name of optimization, you used a system within your engine that worked beautifully and consumed less resources, but the Switch simply doesn’t support that method. Because it’s not about power, it’s about compatibility.