Dear Newbie - Start Slow

Warning…  This is a totally random post and slightly ranty in one section. 

I saw this video and thought, sure why not make a ‘general’ post:

(_ When watching this video, focus on first few minutes where these well known smart programmers tell you how they started TINY and SIMPLE.  It worked for them.  It can work for you. _)

https://www.youtube.com/watch?v=F9GujgK0y2M

(The moral of the video is: Programming (even game programming) is NOT hard, if approached with the right expectations.)

I notice that new folks come here and frequently try to run before they even know how to crawl.

That is, they want to make a full game, with scenes, level loading, ads, in-app-purchase, Artificial Intelligence, and the list just goes on. 

So, why am I posting and why do  I care.  Well, …

  1. ( The ranty bit ) More and more I find it a bit frustrating when new users come in thinking programming games is easy, therefore, any question they have is easy to answer.  These new users ask a lot of silly and lazy-seeming questions that waste the time of folks who recognize the question are incomplete and entail very long answers the new person simply won’t understand anyways.

  2. I don’t actually thing there are many lazy new users.  They are simply ignorant of the fundamentals AND are used to everything else about computer being easy.  So, they simply expect it can’t be that hard.

  3. If you’ve read this far, AND if you are new… I just want to encourage you to start very small, and work incrementally. 

Forget about making a full game.  (At least initially.  I promise you’ll get there soon.)

Forget about making money. 

Forget about releasing your games on the many stores. 

Instead, focus on learning. 

I promise, if you do this, you’ll find the whole experience to be a lot more fun and many times more more rewarding.  

As an added benefit.  If you approach things this way, you’ll end up asking reasonably scoped questions when you need help and your experience getting answers will be that much better too.

If anyone is going to respond, please be sure to do so positively.  While I ranted a little (above).  I’m really trying to encourage new folks.

Thanks!

Agree with this. One thing I would add is that before you post your question, search on google first. It’s 99% likely that in the years since Corona has been going, someone has already asked the same or similar question and a great answer is already out there, either on these forums or sites like stackoverflow.

When I discovered Corona in 2012, I hadn’t programmed in 15 years and that was only hacking around in C64 basic, AMOS and qBasic. I knew nothing about mobile development. Yet in the 6 years since I think I’ve only had to ask for help 3-4 times.

That’s not because I’m great, but because I know that most of the time google has an answer already. It’s a huge resource that we are lucky to have, so make use of it!

Secondly, before you embark on your own projects, play with other people’s. See what happens when you change things, or add things. There’s loads of tutorials and templates out there to learn from. One of the first things I did with Corona was flip the old Monsters and Ghosts (angry birds) example game so you built the fortress and the CPU fired at it. I didn’t really know what I was doing, but I just played around until it did what I wanted.

Playing with working code, breaking it, understanding why it broke and then fixing it again will connect so many dots that will pay dividends when you come to your own projects.

It’s a lot easier to learn how to build a clock if you have a working clock and a screwdriver, than a pile of parts and an instructional manual full of jargon you don’t yet understand…

I’m still an amateur compared to RG and Nick, but this makes sense.

Although there is nothing wrong in setting the bar high, know that you will fall on your face over and over and…you get the picture.

Sometimes when I learn something new, i may end up rewriting large parts of the code, which is ok since my code is then better and hopefully smarter and more efficient. This happened more often when I began with lua some 18 months ago.

Dont be in a hurry. If you’re gonna do do, do it right. With coding, the result is truly the sum of its parts.

It will be slow in the beginning but the more you learn, the faster you will learn more.

To learn coding is very similar to learning a new language. We dont expect to be able to converse after only a few weeks, but are happy to be able to deliver a phrase or maybe understand something more than nothing.

Persistence is the key to success and with that I quote a really clever remark by Henry Ford.

“Whether you think you can, or you think you can’t–you’re right.”

I’m not sure I agree with the premise that programming is not hard though. To some it comes easy, like three year olds that can drum better than I could if I practised for 30 years, even though I’m a musical person with excellent timing. My arms and legs just aren’t wired up to work together!

Therefore even if you achieve something fairly simple like entering your name and having the computer repeat it back, or more complex like tic-tac-toe, you should congratulate yourself that you did something that 99.99% of people are just not wired up to do and build on that confidence boost. I think this is more helpful than everyone thinking they can create facebook and feeling inadequate if they can’t.

“Programming is hard” or “Programming is easy” is really relative to the person making the statement. Some people just “get it”. The idea of breaking tasks into individual steps, logic and flow just feel natural to some. To others it’s a horribly alien concept that people will struggle with.

Learning to code when your younger is a good step. The ability for schools to teach coding has come a long way from what it was way back when I went to school. Sites like code.org are great for helping people learn to code. Corona is great because it’s very visual and instant when it comes to seeing the results of your code.

I think @roaminggamer’s key point is that going from zero knowledge to fully functional do everything make money apps is asking too much in 95% of the use cases for first time developers.  Don’t rush this part of your learning. It’s better to build a great app with experience than a bad app with no experience.

Rob

On more than one occasion I’ve googled a problem and found that I’ve actually answered it myself on a forum post years ago…

If anyone is going to respond, please be sure to do so positively.  While I ranted a little (above).  I’m really trying to encourage new folks.

Thanks!

Agree with this. One thing I would add is that before you post your question, search on google first. It’s 99% likely that in the years since Corona has been going, someone has already asked the same or similar question and a great answer is already out there, either on these forums or sites like stackoverflow.

When I discovered Corona in 2012, I hadn’t programmed in 15 years and that was only hacking around in C64 basic, AMOS and qBasic. I knew nothing about mobile development. Yet in the 6 years since I think I’ve only had to ask for help 3-4 times.

That’s not because I’m great, but because I know that most of the time google has an answer already. It’s a huge resource that we are lucky to have, so make use of it!

Secondly, before you embark on your own projects, play with other people’s. See what happens when you change things, or add things. There’s loads of tutorials and templates out there to learn from. One of the first things I did with Corona was flip the old Monsters and Ghosts (angry birds) example game so you built the fortress and the CPU fired at it. I didn’t really know what I was doing, but I just played around until it did what I wanted.

Playing with working code, breaking it, understanding why it broke and then fixing it again will connect so many dots that will pay dividends when you come to your own projects.

It’s a lot easier to learn how to build a clock if you have a working clock and a screwdriver, than a pile of parts and an instructional manual full of jargon you don’t yet understand…

I’m still an amateur compared to RG and Nick, but this makes sense.

Although there is nothing wrong in setting the bar high, know that you will fall on your face over and over and…you get the picture.

Sometimes when I learn something new, i may end up rewriting large parts of the code, which is ok since my code is then better and hopefully smarter and more efficient. This happened more often when I began with lua some 18 months ago.

Dont be in a hurry. If you’re gonna do do, do it right. With coding, the result is truly the sum of its parts.

It will be slow in the beginning but the more you learn, the faster you will learn more.

To learn coding is very similar to learning a new language. We dont expect to be able to converse after only a few weeks, but are happy to be able to deliver a phrase or maybe understand something more than nothing.

Persistence is the key to success and with that I quote a really clever remark by Henry Ford.

“Whether you think you can, or you think you can’t–you’re right.”

I’m not sure I agree with the premise that programming is not hard though. To some it comes easy, like three year olds that can drum better than I could if I practised for 30 years, even though I’m a musical person with excellent timing. My arms and legs just aren’t wired up to work together!

Therefore even if you achieve something fairly simple like entering your name and having the computer repeat it back, or more complex like tic-tac-toe, you should congratulate yourself that you did something that 99.99% of people are just not wired up to do and build on that confidence boost. I think this is more helpful than everyone thinking they can create facebook and feeling inadequate if they can’t.

“Programming is hard” or “Programming is easy” is really relative to the person making the statement. Some people just “get it”. The idea of breaking tasks into individual steps, logic and flow just feel natural to some. To others it’s a horribly alien concept that people will struggle with.

Learning to code when your younger is a good step. The ability for schools to teach coding has come a long way from what it was way back when I went to school. Sites like code.org are great for helping people learn to code. Corona is great because it’s very visual and instant when it comes to seeing the results of your code.

I think @roaminggamer’s key point is that going from zero knowledge to fully functional do everything make money apps is asking too much in 95% of the use cases for first time developers.  Don’t rush this part of your learning. It’s better to build a great app with experience than a bad app with no experience.

Rob

On more than one occasion I’ve googled a problem and found that I’ve actually answered it myself on a forum post years ago…