Great stuff. How did you find MakeGamesWithUs? I know a few people your age who want to learn Objective-C etc. would you recommend this route for them?
Hey, thanks. I was referred to MakeGamesWithUs by my cousin. I certainly would recommend this route; It's great to not have to worry about art and promotion while you learn, and to have someone to fix your horrible mistakes.
As a fellow teenager who is also programming, this is great! I'm glad that there are sites like MakeGamesWithUs that are encouraging our generation to do this sort of thing. Really, great job!
I was writing/learning HTML with FrontPage 2003 and Flash 5 (6? 7? I thankfully don't remember anymore) when I was 14 - while knowing almost no English (thus, not understanding even what the menu items and controls mean!) and without a manual or teacher and just clicking around and seeing what happens to the code :-( Hard, hard times it was. But I enjoyed it nevertheless.
But still, I'm jealous of you.
If you were to seek my advice, I'd tell you to watch some OCW (OpenCourse Ware).
http://cs50.tv <-- great for starting out. I am ready to bet $50,000 that you'll learn soooo much (while not being overwhelmed) that you can't believe it
http://cs75.tv <- great for starting web development (php, mysql, javascript, css, ...)
http://see.stanford.edu/see/courses.aspx (CS106A is good for now or a little later, CS106B and CS107 are way more advanced but you might find them very educating in a year or two)
All in all, I'd suggest you start watching cs50.tv right now (if it's not a whim and you're really interested in programming as a career, or if you at least enjoy programming right now).
When I was 14, you couldn't just go buy a "personal computer", as the minicomputer revolution was underway. So, I had to build my own computer... and I did. (I think I started at 13, and finished at 15).
When I say, I built my computer, I mean I designed a PCB, laid it out, etched it, assembled it, then needed to build a display board to output to a TV, which was another several months of design, etc. And when I had all that... then I had to start writing some sort of software for it! (EG: I had to write software, build an EPROM programmer (because they were expensive) burn EPROMS ..... all to get to the point where I could start working on making an implementation of BASIC!
So, when people complain that "kids can't hack on iPhones" ... well, I think its silly. You buy a Mac and you get a fantastic IDE and development platform for free, etc.
To the OP: Congrats on making your game! It looks very professional. Keep at it!
Oh the day I made spectrum joystick interface all on my own as a kid! I enjoyed that more than playing games subsequently. OP enjoy being a kid, the more you learn, the less your thinking is unbounded! Never forget that.
Having to build a computer (with your definition of building, of course) as a young kid... God, that's the only Heaven I want. After those two years you can send me to Hell.
Or you use Visual Studio Express C# which is free.
Visual Studio (payed) combines all tools, all languages together and works with git, sourcesafe and many, many things more.
Or if you're a startup, you can receive all Windows stuff for free ;) (so you don't have to pay)
Why, when I was a young programmer we had to write the code in the
snow with our pee, and a compiler was just a word for the pilot of the
hovering dirigible that read the instructions and passed them to the
ALU, which was another fellow with an abacus. They would wrap the results around a rock, and drop it on my house when the program would
exit. We had to walk uphill...
When I was 14, the only easily available microcomputer was the TRS-80. You couldn't save your programs (unless you owned a tape-player that saved files), it got 40 rods to the hogshead and that was the way we liked it!
When I was 14, I had to push the electrons around by hand. It was painful getting clobbered by those massive protons and neutrons. I eventually got around the problem by converting the particles to waves, so that they only tickled.
Your book was the first I ever bought about programming. I don't think I ever wrote a line of code from the book but it illustrated basic programming concepts that inspired me to continue development. Very impressed to read that you were only 14 when you wrote it, as I was probably only 14 when I bought it.
I had no idea the author was 14 when he wrote it. I was reading it when I was only three years younger as my first programming book. Unfortunately it wasn't exactly what I was looking for, but it definitely helped me get started in the world of programming.
when i was 11, i taught myself html,css and js and then moved on to batch scripting and later taught myself php and later c#. Now i am 18 and code (Mostly) in Vala, building apps for elementary OS.
Of course, there's always the birth lottery for most people reminiscing here.
For people coming from the third world, this kind of a feat would be very rare to come by and won't be appreciated even if they do, as they are still tackling lower level problems. Heck, my parents don't even know I do on the computer. From where I come from, good grades are the best thing a kid could show to their parents.
When I was 14, I lived in Fiji which many consider a third world country. I know what you mean when you say parents consider good grades above all. I've witnessed that firsthand. It's sad how many of my peers were chastised for attempting personal projects outside their school curriculum.
well, change that for your kid. Every society builds on the work of previous generations. We in India, are late to the party so yeah, one generation will disappear without enjoying all this, but we can ensure that the next generation won't.
BTW it's never too late. I may not be 14, but I am going to have just about as much fun with my brand new arduino ;-)
I can feel what you say suhastech. But I don't think that is particular to developing countries. I am from Ecuador, and when I was maybe 9 or 10, was given my first Commodore 64. My dad taught me some BASIC and there I was making my first crappy programs. Of course they cared a lot about grades, like any parent.
Being born in a developing country screwed you up because technology took ages to get to you. Man, they still have 128K connections there...
Congrats to the OP by the way!
At 14, I was programming in assembler (well, machine code since I didn't have an assembler) on the Altair 8800 my older brother built from parts. 1st program: a game called Fly! where you hit the spacebar to make an 'X' flitting around the screen turn right 45 degrees. When it hit the edge of the screen you lost. Futile - you always ended up losing! But fun to write, in under 128 bytes too.
Sometimes I'm a bit skeptical about these kinds of posts "I'm X age, I made this". I feel like, why would a 14 year old want to make sure his age is on the post title?. It's not that extraordinary I think, I mean it's great that his doing this, but it's not that un-ordinary, sometimes it seems like someone else is driving this for promo.
Because he's 14 and super stoked about accomplishing something that many people twice his age couldn't do, so he's showing off a bit.
Sometimes I'm baffled by how hard it is for seemingly intelligent people to grasp very simple human behavior. Spend an afternoon with a kid once. I promise you they'll let you know when they think they've done something cool.
Your first paragraph explains it perfectly, but the tone in your second one is too harsh. Being polite and remaining calm is more appealing than attacking someone like that.
> Because he's 14 and super stoked about accomplishing something that many people twice his age couldn't do
So what? Why does age matter so much? A 28 year old may have less programming experience and help from sites like MakeGamesWithUs and still complete similar projects. Why is it so important that he's 14? He obviously isn't the only 14 year old coding and completing a project, it's not even that rare anymore. Probably not as rare as a woman making iPhone app, at least. With today's technology, everybody over the age of 12 can learn programming, build apps and complete university classes.
I post my projects to HN too, I have only once reached the front page. I never mention my young age, and I won't do it here, because it doesn't matter and it's not relevant.
I agree. If you've made a good app, its merit will stand on its own. The fact that people believe their age to be the most remarkable aspect of the development of their product raises flags. If any things, it just seems like an attempt to artificially lower standards.
I'm not discouraging them. I'm saying that age doesn't matter. Completing an app is a laudable accomplishment for anyone. Emphasizing their age, if anything, makes light of this accomplishment because it can come off as patronizing. I think that it's great that they made an app, but their age isn't important.
I think age is relevant for this post. Otherwise nobody would be really interested in reading a post about a new release, everytime a programmer in this website comes up with their new app. So I think the most important thing is that he is just 14 years old provided that the quality of his work is decently acceptable.
PS: don't be like that to your own kids, cuz you will be hated as a father, I can guarantee you that.
I'm pretty sure your age matters if it drastically deviates from the norm. What were most of us doing at 14? Playing videogames, trying to survive high school and puberty...
This kid publishes a freakin' iPhone game— a good one, at that!— and people are shitting on him for it? C'mon.
> I'm pretty sure your age matters if it drastically deviates from the norm.
No, it doesn't. Most people deviate from the norm on something. Age, gender, disabilities. So what?
As a teenage programmer, I can say that teenage programmers aren't that uncommon any more. It's not remarkable, age really doesn't matter. Anyone over the age of 10 can learn programming by taking programming courses from world-renown universities nowdays. I'm 16 and I've been programming for years. That's only because I had a chance to learn programming and I took it, not because I'm more intelligent than a someone who's 20 years older than me and only got a computer when he was 18. Other people at my age didn't have such chances, and I'm thankful.
I meant older people didn't have that chance when they were my age. 15 years ago computers weren't that common. Nowdays, almost every child in the western world has access to a computer from a very young age.
Even if you're right, even if it's something rare, we're missing the point. It's not about how rare it is, or how wonderful he is. It's about the product/game. Or at least it should be, in my opinion.
The initial rush of being X years old and a programmer soon wears off. For those young people who are serious about programming, age becomes more of an impediment, rather than a badge of honor.
If you broadcast that you are X years old, sometimes people will not take your work seriously. Sometimes they won't hire you. Sometimes people will take advantage of you. This is why, at some point, it's important to abstract away age from your work.
What's even funnier is everyone in the comments "casually" mentioning that when they were 14 they were doing X or Y or Z. Even in congratulating a kid, people here must brag and not feel left out.
No matter how smart, humans stay humans. It's cute.
I did what you mentioned (saying what I was doing when I was 14), and I can assure you I wasn't bragging(!) in the slightest bit (it didn't even occur to me) and I'm certain others are on the same boat. Most are reminiscing... How times have changed, our old, beloved tools, etc.
You're just being a little bit pessimistic, I think! ;-)
It's hard not to feel a bit bitter when I read things like this. I had a one day introduction to programming in 6th grade (was 10 or 11), and I absolutely loved it. I was ridiculously driven to learn programming for a span of time, starting with basic (which was what we had used). I bought one of those terrible "Learn X in 30 Days!" books, dragged my dad off to get a copy of VB (based on what little research I did/understood), and got to work.
The whole thing was crap. The book was slow, boring, and made little sense. The IDE was completely unfamiliar and strange; I couldn't grasp how things connected together. I showed my uncle the book and proudly told him I was going to learn to program, and what he thought of it (he's a lifelong programmer); he said it was probably better as a reference and left it at that.
I lost interest soon, as I couldn't figure out much of anything useful from the book. I came back to it a few months later, and a few months after that to try again, each time making less progress and losing interest faster.
Some years later, in my last year of high school, I took an intro programming course at the local community college and rediscovered my love of it. I did well, often helping other students, only to have my interest utterly burned out of me when I took the "culling" compsci course at my university a few years later. I busted my ass and failed miserably, and ended up thinking that I just wasn't cut out to be a programmer.
It's been a few years since then, and I'm slowly starting to get back on the horse and learn on my own; reading HN has been a great help with this, as I doubt I would have found quality resources like Eloquent Javascript otherwise. But I feel like there were multiple opportunities in my life to learn and enjoy programming from a young age, and seeing other people have the same thing but succeed is a painful reminder of my own lost chances and failures.
Like you, I hit wrong turns learning programming as a kid. Perhaps I got a bit farther than you, but I spent years writing in crippled languages like QuickBasic and Visual Basic, and bought poorly written, unhelpful programming books I couldn't get through. Everything I tried to write until my late teens was unfinished or a stupid toy.
What I lacked in my younger years, and it sounds like you did too, was resourcefulness. We weren't like this: http://www.paulgraham.com/relres.html The proper response to getting stuck with a dead-end IDE or book would've been to try like hell to find a different approach that works.
It would've been nice to have relentless resourcefulness as a teenager, but there's no changing the past. I'm trying to teach myself that quality now, and I'd suggest you practice it as well. In the end what you did when you were 15 just gets you some bragging rights, at best. You have the rest of your life to accomplish things that actually matter. And that's a much more important thing to know than JavaScript.
Yup. I got a "C++ In 30 Days" book when I was 12 or so. Don't think I got much further than Hello World. Didn't try programming again until halfway through college. I wonder what would have happened if I got a Python book instead.
It's not like there's an overwhelming number of 14 year olds making games right now and posting that they did on Hacker News. It's okay, every once in awhile, for our HN community to join together and simply applaud a young teenager who's going after it.
It's kind of like he's asking for early admission to our special club. We can parse his message if we so choose, but the overwhelming feeling I have for any 14 year old that launches his first game is simply to say congrats.
With that said, Jonah is my cousin and my cup runneth over.
> why would a 14 year old want to make sure his age is on the post title?
Because they know that they'll be praised for it and probably manage to sell a couple of copies. It also makes sense as something to put on a higher-ed application or CV ("I can already write commercially successful pieces of software, I got X comment from Y developer and sold N units").
That said, you're probably right in suspecting that this is partially driven by someone other than OP. The landing page of MakeGamesWith.Us has Cheese Miners on the front page along with the text: "It's so easy we got high school students to do it".
However, regardless of OP's motivation, it is well worthwhile applauding them on a job well done at such a young age. There are nowhere near enough teenagers taking up programming[0], and I hope that success stories like this will encourage more young people to at least get their feet wet with this financially and mentally rewarding craft.
[0]: This is especially troubling given the ubiquity of free development environments and online instructional material.
(now then again anyone who's done 68k asm would know this is extremely easy to code and understand, more than objective-c in fact. But then again, I had Codewarrior [which I won at metrowerks] and powerplant, and those, are hell.)
Now that you've started writing some code, you can start talking to users!
Here's some quick feedback I've got:
-It's a little hard to tell where on the screen I can touch to move the miner vs. where I can shoot. Perhaps but a line on the bottom demarcating where touches will move instead of shoot?
-Perhaps the game would be more fun if the movement was faster? If you sped it up, it would make it easier to grab 2 pieces of cheese on the same row. It's up to you to decide how to balance control responsiveness vs. difficulty, but it's worth testing it out.
Hey! Really cool stuff.
I'm 15, and have been programming since I was 9, but I'm more focused in stuff like Systems Programming and Machine Learning, thus I have not really released anything interesting.
I'm currently working in a Revision Control software in Go (While learning the language), I'll push it to Github when I have a somewhat working prototype.
I'm curious too. Semantic diffs maybe? (This change affects control flow, this one doesn't; this change adds complexity, this one removes it.) Something like that would be useful for getting an overview of a project's evolution, instead of highlighting major commits only in terms of lines changed (often just a meaningless refactor.)
190 comments
[ 4.5 ms ] story [ 65.0 ms ] threadBut more importantly, congratulations!
How much time did you spend making it?
But still, I'm jealous of you.
If you were to seek my advice, I'd tell you to watch some OCW (OpenCourse Ware).
http://cs50.tv <-- great for starting out. I am ready to bet $50,000 that you'll learn soooo much (while not being overwhelmed) that you can't believe it
http://cs75.tv <- great for starting web development (php, mysql, javascript, css, ...)
http://see.stanford.edu/see/courses.aspx (CS106A is good for now or a little later, CS106B and CS107 are way more advanced but you might find them very educating in a year or two)
http://ocw.mit.edu/courses/audio-video-courses/#electrical-e... (I've heard good things about 6.00SC)
All in all, I'd suggest you start watching cs50.tv right now (if it's not a whim and you're really interested in programming as a career, or if you at least enjoy programming right now).
Best of luck.
When I say, I built my computer, I mean I designed a PCB, laid it out, etched it, assembled it, then needed to build a display board to output to a TV, which was another several months of design, etc. And when I had all that... then I had to start writing some sort of software for it! (EG: I had to write software, build an EPROM programmer (because they were expensive) burn EPROMS ..... all to get to the point where I could start working on making an implementation of BASIC!
So, when people complain that "kids can't hack on iPhones" ... well, I think its silly. You buy a Mac and you get a fantastic IDE and development platform for free, etc.
To the OP: Congrats on making your game! It looks very professional. Keep at it!
Having to build a computer (with your definition of building, of course) as a young kid... God, that's the only Heaven I want. After those two years you can send me to Hell.
Buy a Mac to hack on iPhone? I don't think that any IDE is so costly if you develop on any other phone.
That said, I'd happily pay £500 to not have to use Eclipse, but each to their own.
You must have gotten a lot of pocket money when you were 14, then.
Or if you're a startup, you can receive all Windows stuff for free ;) (so you don't have to pay)
( http://xkcd.com/378/ )
I even got a monthly tv spot with Leo Laporte on what was then called Tech Tv. http://www.youtube.com/watch?v=wdh5dqbvrDE
And still...none of my games have ever been as cool as OP's. Great work man
I had no idea the author was 14 when he wrote it. I was reading it when I was only three years younger as my first programming book. Unfortunately it wasn't exactly what I was looking for, but it definitely helped me get started in the world of programming.
First, I started programming at 15.
Second, the beard you had at 16! Back then, I would have killed for one of those.
i wish i worked on some games too. :-)
Of course, there's always the birth lottery for most people reminiscing here. For people coming from the third world, this kind of a feat would be very rare to come by and won't be appreciated even if they do, as they are still tackling lower level problems. Heck, my parents don't even know I do on the computer. From where I come from, good grades are the best thing a kid could show to their parents.
BTW it's never too late. I may not be 14, but I am going to have just about as much fun with my brand new arduino ;-)
I love how much things have changed in forty years. Everyone come play on my lawn!
I'd like to hear your experiences. Am I the only one with problems learning "university style"?
I'm going to share this far and wide, thanks for sharing clean, direct links to the content, it helps me share them a lot easier :)
Sometimes I'm baffled by how hard it is for seemingly intelligent people to grasp very simple human behavior. Spend an afternoon with a kid once. I promise you they'll let you know when they think they've done something cool.
Sorry.
I post my projects to HN too, I have only once reached the front page. I never mention my young age, and I won't do it here, because it doesn't matter and it's not relevant.
Your age doesn't matter. Your product does.
PS: don't be like that to your own kids, cuz you will be hated as a father, I can guarantee you that.
Product? It's a kid just learning to program and it's his/her first app (and is free). It's not a product!!! Just a typical "Show HN".
This kid publishes a freakin' iPhone game— a good one, at that!— and people are shitting on him for it? C'mon.
No, it doesn't. Most people deviate from the norm on something. Age, gender, disabilities. So what?
As a teenage programmer, I can say that teenage programmers aren't that uncommon any more. It's not remarkable, age really doesn't matter. Anyone over the age of 10 can learn programming by taking programming courses from world-renown universities nowdays. I'm 16 and I've been programming for years. That's only because I had a chance to learn programming and I took it, not because I'm more intelligent than a someone who's 20 years older than me and only got a computer when he was 18. Other people at my age didn't have such chances, and I'm thankful.
> Other people at my age didn't have such chances
That's my point. Being a 14 year old who knows Objective-C and has published a video game is still rare. I don't see how you can argue otherwise.
Even if you're right, even if it's something rare, we're missing the point. It's not about how rare it is, or how wonderful he is. It's about the product/game. Or at least it should be, in my opinion.
The initial rush of being X years old and a programmer soon wears off. For those young people who are serious about programming, age becomes more of an impediment, rather than a badge of honor.
If you broadcast that you are X years old, sometimes people will not take your work seriously. Sometimes they won't hire you. Sometimes people will take advantage of you. This is why, at some point, it's important to abstract away age from your work.
No matter how smart, humans stay humans. It's cute.
You're just being a little bit pessimistic, I think! ;-)
The whole thing was crap. The book was slow, boring, and made little sense. The IDE was completely unfamiliar and strange; I couldn't grasp how things connected together. I showed my uncle the book and proudly told him I was going to learn to program, and what he thought of it (he's a lifelong programmer); he said it was probably better as a reference and left it at that.
I lost interest soon, as I couldn't figure out much of anything useful from the book. I came back to it a few months later, and a few months after that to try again, each time making less progress and losing interest faster.
Some years later, in my last year of high school, I took an intro programming course at the local community college and rediscovered my love of it. I did well, often helping other students, only to have my interest utterly burned out of me when I took the "culling" compsci course at my university a few years later. I busted my ass and failed miserably, and ended up thinking that I just wasn't cut out to be a programmer.
It's been a few years since then, and I'm slowly starting to get back on the horse and learn on my own; reading HN has been a great help with this, as I doubt I would have found quality resources like Eloquent Javascript otherwise. But I feel like there were multiple opportunities in my life to learn and enjoy programming from a young age, and seeing other people have the same thing but succeed is a painful reminder of my own lost chances and failures.
What I lacked in my younger years, and it sounds like you did too, was resourcefulness. We weren't like this: http://www.paulgraham.com/relres.html The proper response to getting stuck with a dead-end IDE or book would've been to try like hell to find a different approach that works.
It would've been nice to have relentless resourcefulness as a teenager, but there's no changing the past. I'm trying to teach myself that quality now, and I'd suggest you practice it as well. In the end what you did when you were 15 just gets you some bragging rights, at best. You have the rest of your life to accomplish things that actually matter. And that's a much more important thing to know than JavaScript.
But..agree with your observation. Humans stay humans..!
It's kind of like he's asking for early admission to our special club. We can parse his message if we so choose, but the overwhelming feeling I have for any 14 year old that launches his first game is simply to say congrats.
With that said, Jonah is my cousin and my cup runneth over.
Because they know that they'll be praised for it and probably manage to sell a couple of copies. It also makes sense as something to put on a higher-ed application or CV ("I can already write commercially successful pieces of software, I got X comment from Y developer and sold N units").
That said, you're probably right in suspecting that this is partially driven by someone other than OP. The landing page of MakeGamesWith.Us has Cheese Miners on the front page along with the text: "It's so easy we got high school students to do it".
However, regardless of OP's motivation, it is well worthwhile applauding them on a job well done at such a young age. There are nowhere near enough teenagers taking up programming[0], and I hope that success stories like this will encourage more young people to at least get their feet wet with this financially and mentally rewarding craft.
[0]: This is especially troubling given the ubiquity of free development environments and online instructional material.
(now then again anyone who's done 68k asm would know this is extremely easy to code and understand, more than objective-c in fact. But then again, I had Codewarrior [which I won at metrowerks] and powerplant, and those, are hell.)
Now that you've started writing some code, you can start talking to users!
Here's some quick feedback I've got:
-It's a little hard to tell where on the screen I can touch to move the miner vs. where I can shoot. Perhaps but a line on the bottom demarcating where touches will move instead of shoot?
-Perhaps the game would be more fun if the movement was faster? If you sped it up, it would make it easier to grab 2 pieces of cheese on the same row. It's up to you to decide how to balance control responsiveness vs. difficulty, but it's worth testing it out.
At any rate, good job and congratulations!
Oh? What are you working on? Do you have any code available?