Hard Time Programming!

Started by
11 comments, last by Matt328 12 years, 4 months ago

[quote name='Servant of the Lord' timestamp='1324450994' post='4896061']
[quote name='Drakeon' timestamp='1324397107' post='4895745']
I've been trying to make games for over a year now, and seeing as i have nothing of worth, i'm starting to think there's something wrong.


6 1/2 years programming (on and off) now. It took me 4 years to have something of 'worth', it'll take another 1 year to have something worth selling as an indie.
Others can certainly do it faster than that with more discipline/determination, but really, 1 year of programming? It's very good that you've kept at it for a year! Not having anything to show for it so far is pretty normal, I gather.
[/quote]

What's that saying? That it takes 10 years to become a good programmer? (Older link but always comes to mind)
[/quote]
It means exactly what it says. "It took me 4 years to have something of 'worth', it'll take another 1 year to have something worth selling as an indie.", and I've been programming for "6 1/2 years ... (on and off)".

It doesn't mean your doomed to take as long as I have ("Others can certainly do it faster than that..."), but nothing is 'wrong' with you if you haven't made something interesting after only a year ("Not having anything to show for it so far is pretty normal, I gather"), so don't get depressed. smile.gif

I'm certainly not saying "real programmers" have been programming for eons and have grey beards that are so long they have to wrap them around they waists while programming in assembly and frobbing bits in the RAM with their minds (because being in the game longer doesn't necessarily make you better). I'm merely saying, don't be bothered by it, keep working at it, it's fairly normal.

There's no hidden accusations or implications - I lack the proper finesse for such subtlety. wink.gif
Advertisement

[quote name='Servant of the Lord' timestamp='1324450994' post='4896061']
[quote name='Drakeon' timestamp='1324397107' post='4895745']
I've been trying to make games for over a year now, and seeing as i have nothing of worth, i'm starting to think there's something wrong.


6 1/2 years programming (on and off) now. It took me 4 years to have something of 'worth', it'll take another 1 year to have something worth selling as an indie.
Others can certainly do it faster than that with more discipline/determination, but really, 1 year of programming? It's very good that you've kept at it for a year! Not having anything to show for it so far is pretty normal, I gather.
[/quote]

What's that saying? That it takes 10 years to become a good programmer? (Older link but always comes to mind)
[/quote]

10 years to develop expertise, you don't need to be an expert to be good enough to do programming professionally, Most professional programmers are fairly bad at what they do (I'm very far from a C++ expert but i know enough of the language to implement anything (assuming i understand what i'm implementing ofcourse or have someone provide me with algorithms)): http://thedailywtf.com/
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

I know how the language functions (C# and Java) but as soon as i have to program something myself, everything i've learned so far, just disappears from my head.
I just sit there thinking.
What do i do?



I used to be like this too. I knew the concepts and the language, just couldn't get the code together to do what I wanted it to do. It feels like my brain doesn't have enough stack space to keep everything straight. Like has been suggested, repetition helps with that. I'll also second someone else's suggesting of drawing pictures.

I installed a 36"x48" whiteboard on the wall right beside my computer chair, and I never try to code anything without having first drawn it up on the board. I don't worry about proper sequence diagrams or uml or any of that stuff, I just get whatever's in my head onto the board, usually just a bunch of notes with arrows connecting related notes. It ends up being an unintelligible mess to anyone else, but for me it makes perfect sense. Iteration is key, once you have thought through something and drawn it, go back over the whole thing again, refining, thinking about more details of your notes, organizing, start pulling out classes, relationships and dependencies from your ideas. Eventually you can start to ask questions like 'What if I made this a class, and this a class and these two talked to each other, and this one had an instance of this one inside it..." At this point you might be tempted to just go start coding, but don't, try to come up with at least two ways of doing something, and weigh the pros and cons of each way, considering how it will change other classes in the system. If you have enough patience and discipline, the actual coding should be a formality, just follow your design from the whiteboard and type it in.

Unfortunately this is easier typed than actually done. Its way too easy to just scratch a few notes on the board, then think "I got this, time to code." Only to spend days or worse, weeks, coding only to find you didn't think of a particularly problematic condition that could happen, and have to redesign 'on the fly'. If you fall into this pit, you will often spend more time redesigning than you would have doing a proper design in the first place. However, the fight to get yourself out of this pit will be an extremely valuable learning experience, so don't just bail out and start over again.

You need to repeat this entire process alot. Do this enough, and you'll have gained experience, that magical thing that makes people better at doing stuff. With enough experience you'll become much quicker at translating a problem into code to solve the problem.


With all that being said, take it with a grain of salt. It may work great for you, it may confuse you even more. Everyone's brain works differently. Read about how others solve problems. Read tons of their code, read it like other people read fiction. Try different things, keep the ones that work, and try to improve the ones that don't.

This topic is closed to new replies.

Advertisement