This may qualify as fair use, and in any case it's not like this is going to jeopardize sales of the 29 year-old Super Mario Bros or any of it's derivatives.
If your position is "may", you're on shaky legal ground at best. Regardless, he would be forced to shutter his side project with a CnD, since I doubt he's willing to go to court.
Who gives a shit about shaky legal ground? How will a CnD shutter his side project? Could just take it offline and continue to build it. I doubt Nintendo are going to go through the lengths to force him to destroy a .py file or two...
It's as if every line of code written needs to be useful. I'm seeing this more and more. Many cool projects are criticised based on how useful they are rather than how cool they are. Maybe if a project was positioned as useful/sellable, then perhaps such criticism is justified, but when something is obviously not meant for sell and has obviously been built for all except seriousness, it just comes across as daft.
Just the other day I saw a comment about an embedded PHP interpreter. "How will this EVER be useful?" Who gives a shit? It looks fun to write, so it was written.
I personally enjoy programming. Most code I have written has made me 0 money, has been seen by 0 eyes and has provided me hours of fun and pleasure in writing it. I'm sure many programmers are the same.
His homebrew version, for self education does way less harm than the millions of ROMs out there running on MAME. It is a single level, not a full clone that gets sold for profit at Target.
A Derek Sivers post that appeared here recently goes over some of the rationale for copying-as-learning, and imperfect-copying as an essential part of creative work:
John Carmack and John Romero developed a clone of Super Mario 3 for the PC using a smooth-scrolling technique that had never been achieved on the platform before.
They went and showed Nintendo, who weren't interested. So they changed the name, artwork, and levels and went off to start id software and all the money went to them instead.
Exactly. You do it for the same reason why people try to paint famous works of art. You get to really see many of the pain points that the original artist went through and connect with something on a different level unlike any casual observer.
In this case, the medium that is being used for the implementation is different, but you still get to solve many of the same problems.
I'm pretty sure you care more about this than Nintendo ever will. Get off your high horse. As someone who has never used PyGame, this is really cool to look into and learn from.
most of the commits are done on the last days... some of them are just some line changes... (https://github.com/justinmeister/Mario-Level-1/commit/586b96...) I code on my free time too, On the night I turn on my laptop and code for a couple hours, I am a bussiness owner, most of my day is related with other activities, and I just want to think in another thing and relax. Coding it's the perfect choice, but you need a project to feel motivated, something not related with your day work and something easy enough to be accomplished in a couple days (so you can fell your progress and feel proud). I see he completed level 1, my intuition says he won't go more far away to another level, because he just got the satisfaction he needed. Probably now he will choose another project and develop it.
Why would you spend so much time on something that clearly violates the intellectual property of Nintendo?