A recreation of the first level of Super Mario Bros. in Python
github.com
github.com
To answer a few questions:
1) DMCA/Copyright: I have no idea the legal grounds for this sort of project. There is an Javascript/HTML5 version of Mario that is much better and more complete than mine and it still exists on Github. If I get a takedown notice, I suppose the only people who lose out are people other than me who want to check it out. I'm not too concerned either way, to be honest.
2) Memory / CPU issues: Anyone concerned about these issues wouldn't make a game in Python and Pygame. I'm just a hobbyist who enjoys the language and the particular library I used.
3) Audio Latency: That is purely from the screen recording. There is no latency when you play it on your machine (to my knowledge).
4) Purpose of this project: I have been programming for 7 months, 2 of which I spent on this project. I never expected this project to get this much attention, but I suppose the cross-over appeal of Python and Mario is quite high. Fundamentally this was a learning activity to create something I thought was cool. Like I explained here: http://www.youtube.com/watch?v=HBbzYKMfx5Y , I knew basically nothing about making a platformer before this project. I still have a lot to learn.
I don't know how anyone could watch the vid and be so cynical about the choice of game, language or library. It's a clear example of autodidactic exploration.
Have you seen the portal gun mario? [1] (I hadn't until five minutes ago; link stolen from a comment down the page here: https://news.ycombinator.com/item?id=7284719 )
Might be interesting to think of different and/or bizarre ways you could potentially alter the game mechanics as you go along to create a new experience. I like those kinds of exercises because they help me think about structuring things in a decoupled way so I can arbitrarily modify part of the mechanics without having to rewrite everything. Might be a cool/informative exercise if you keep playing with the game.
Either, cool project.
For anyone wanting to learn Python and PyGame I'll just leave this here: http://pluralsight.com/training/Courses/TableOfContents/game...
That's what I thought too.
Not sure why it's getting as much attention. Maybe because it's the combination of Python and Super Mario. A very popular language combined with a very popular game and a breeze of nostalgia.
However it's a fun little project but being on the HN frontpage is a little too much attention for something like that.
But it is fun. It's called "working for hack value"!
http://js1k.com/2014-dragons/demo/1659
I'm defining a few as 10 :P
It really isn't impressive when we see 1980s-era games recreated in JavaScript, for example, and the same should be true when dealing with Python.
That's not to say that this effort lacks value. The author likely enjoyed working on it, and maybe learned something while working on it, too. It could be a useful reference work for those getting started with Python or PyGame, as well. But we surely should not be impressed by it in any way.
Also man hours are now a lot more valuable than CPU time. This is why people use things like python instead of coding in assembler, as would have been done for the original.
It's written in Lua using LÖVE, it's really cool.
http://www.pygame.org/ftp/pygame-1.9.2pre-py2.7-macosx10.7.m...
Still a cool project anyway.
My comment was meant as a "funny" way to say that Nintendo is usually very unforgiven with clones of their games.
Games will be considered a form of art someday. And it is the whole form of an art piece that is important (i.e. the medium, inner workings, presentation). In the future, the innards of classic games may become increasingly important, perhaps from an anthropological perspective. When video games become centuries old, I feel they will be artifacts of an emergent art form.
Why on Earth would you create the level like this instead of using something like Tiled[1]? Pretty much everything you can make a game with has support for TMX tilemaps, and if not making basic support yourself shouldn't be too hard either, and ultimately way less effort.
it might just be an out of sync screen recording, but it seems to me like there is an input lag.
Edit: After having watched the video, it appears to be out of sync and dropping frames.
Why would you spend so much time on something that clearly violates the intellectual property of Nintendo?
EDIT: Also, if you check the commit history, I'm quite sure he didn't spend way much time.
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.
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.
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.
HN discussion (with more personal & famous historical examples):