Show HN: I'm 14, I learned Objective-C, and this is my first iPhone game
itunes.apple.com
itunes.apple.com
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)
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 :)
Why are so many HNers being dismissive of this young fella? He has done something cool and he is really proud of that. He learnt something that is considered very hard for the majority of population and put his work out there on app store for real test (by real users). Lets applaud him (like some of the posters).
EDIT: Don't forget to contact your users. They will give you feedback and it will help you improve your game and write newer games/apps.
I feel like I should explain my reasons:
He acts as if his age is very important in his accomplishment. Why is it in the title? Why does it matter so much that he is 14? Maybe he has been programming for much longer than the 30 year old who released a website yesterday. Nowdays, anybody over the age of 12 can take online university classes, publish apps (especially when they get the art from sites like MakeGamesWithUs) and learn programming much more easily than 10 or even 2 years ago. 14 year old programmers aren't that uncommon anymore.
I've posted some of my projects to HN a few times. I only got to the frontpage once. I never mentioned my young age, because it's not relevant. I've probably sat in front of a computer many more hours than the Average Joe. If anything, I'm under accomplished. The success/experience ratio matters more than the success/age ratio in my opinion.
But the game is cool indeed, and it's always nice to see somebody complete their first project.
You didn't get to the front page. This person did. Why do you think the problem is with the way that he describes his project, and not with the way that you describe your project? Your marketing needs work.
I did, but that's not the point.
> Why do you think the problem is with the way that he describes his project, and not with the way that you describe your project?
Because successful marketing isn't everything, and because he is not describing his project. The title doesn't say anything about the game. The developer's age doesn't describe a game. I think a community like HN should value the quality of the product over the age/gender/awesomeness of the developer. But obviously I'm in the minority, and I'm just stating my opinion.
If people are going to use something I make, I want it to be because they enjoy it, not because of the number of years I've lived on this planet.
Sales quickly averaged ~150$/day and despite that, my parents still wanted me to get a summer job (at McDonald's maybe) like "the other kids". I also had a computer usage quota and was often going over at my friend's house just to cheat the quota :). Looking back at those days, I think they just wanted me to spend more time with my peers. Anyways, I turned out fine!
To conclude, I truly hope your parents are supportive and if they are not, feel free to get in touch with me for advice (can't help with game development though, you are way more advanced than me).
PS: You have a bright future in front of you!
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.
If you aren't, the nicest gift you can give yourself in 10 years is a blog, even if it's private and you write all the crazy stuff you're learning and doing and how scary it felt at first and how great it felt after.
Some things I had someone said to me and I hope you'll say to someone at 14 one day:
As you get older you'll meet so many subtle doubt worshippers that spread their doubts because they can't get over their own self-doubt.
Be a man of action and launching. Haters and doubters are busy doing nothing.
Don't ever let anyone poison this ability to build, and launch.
Don't ever let anyone tell you you can't figure out anything and build something.
Do laugh, while you launch and ship often while everyones busy optimizing their stack.
Games are a great area to work in, you get to learn a lot more about systems level programming from building a game than you'd get from building a web-app. Games are never finished either, you can always improve on them, add levels and so on so they're a great way to grow your skills in managing progressively larger codebases.
Once again, congratulations! And I hope to see much more of what you've made here.
Oh? What are you working on? Do you have any code available?
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!
(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.)
It's really hard to describe, but it is extremely bad to come out of practice and it happens so quickly. If you must find some kind of job or something that will make you practice every day.
P.S: Stuff that looks boring at the beginning usually isn't when you really get into it.
Keep your drive, motivation, and by all means keep launching your software! You will go much farther than most people.
I also started teaching myself programming at 14. 16 years later, I cannot imagine doing anything else.
Is it games that you're most interested in, or just programming in general?
How much time did you spend making it?
Man, my skills got rusty I can barely write something these days. So, dont you ever stop doing that because returning to programming can be hard - your brain wont function at this ultraspeed it is functioning now.
But when I was 14, I was programming a TCP Minecraft server. (http://github.com/TazeTSchnitzel/SchnitzelCraft0)
And why as a project? Well, I saw the protocol was simple enough, and it seemed like a fun thing to do since I liked playing Minecraft Classic. There were already loads of other Classic servers, but I wanted to make my own so I could do things my way and add silly features. Yes, there's plugins, but sometimes I like reinventing the wheel.
I added some features, for example, "Zombies", imitating those in Minecraft Survival/Indev/Infdev/Alpha/Beta/Release. I sent packets as if another player had spawned, and I set up a minecraft account with the right skin, so that when a player with the same name as that account was spawned, they would look like a zombie. The AI was very, very stupid. It would always turn at right-angles, making them easy to trap. Still, it was fun. Also, at the time I did not understand recursion, so the "physics" for things like spreading water didn't work properly.
The code I ended up writing, in C using WinSock and zlib was... horrible. Ridiculous levels of nesting, and almost everything was in the main function. This was a result of getting it working before getting it right. However, I never really refactored it much, and it became an unmaintainable mess. At various times I have refactored it a bit, as recently as a year ago, and it's the refactoring-in-progress version you can find on my GitHub page.
Good job man! Keep going with your passion!
I was busy with homework and tests when I was 14. Kids in China are not as lucky :-(
I did play a bit with Visual Basic 6.0 at 11. It was a lot of fun for me. I also got a VC 6.0 on my family computer but never managed more than running an MFC window that does nothing. But it turns out not to be important anyway.
Huh?
I'm going to echo the more pleasant half of HN and say don't let anybody dismiss your accomplishment. Shipping is all that really matters and shipping is hard.
I'm looking forward to seeing what you make next!
But more importantly, congratulations!
rock on!