Re starting again with programming

Started by
7 comments, last by Serapth 11 years, 9 months ago
Hi guys,
I'm a bit of a newbie so I hope you don't mind me asking this as I saw a few threads but nothing tailored specific to my question.

The last time I touched any kind of code was in early to mid 00's (2002-2006) with MS-DOS and VB with bits of c++, but I have been successful coding small things back then with websites and still remember parts of HTML code and bits of how things work in these programs.
So 6 years later i'm only finding time now again to come back to my true love of wanting to develop games but having to start from scratch, again. How long do you thing it will take to build up this skill with loads of daily commitment and practice.

I live in a rural community so I can't exactly go down to my local college and do a course thus why i'm just teaching myself, just curious on how to allocate time and realistic goals in a time frame given my very long ago experience.

Cheers
Advertisement
[font="Times New Roman"][size="3"][color="#000000"]It all depends on your learning curb on any subject. Loads of daily commitment and practice could get you proficient in any programming language. Everything I know is self-thought and from my experience I have gotten really good at programming in c/cpp within one summer break of high school. However it took years to apply that knowledge. These days I can pick up a programming language within days because I have a solid grasp of how computers work. For example with Python I learned within 3 days using resources on the internet since my learning curb on programming is very low now. The question is, do you have kids or work more than one job? Because kids and surviving are demanding of your time and effort you know.

Allocate your time based on how fast you saturate information and comprehend concepts. Don't have long days with little sleep. If you get burned out on programming, pick a different subject for awhile like math or basic electronics. Get well rounded in IT.

Goals are generally categorized as immediate, short-term, and long-term and it takes leadership skills to stay on track. Management is taking goals and creates tasks that work towards completing that goal.

For instance in learning:
long-term goal - I will have a firm understanding programming in C# by 3rd quarter 2012
short-term goal - I will read, understand, and apply my knowledge of CH3 in C# in 21 Days starting 7/11/2012 and no longer than 7/14/2012
immediate goal - I will write and test x function today starting at 9am

Treat yourself if you complete a goal ;)[/font]
Neometron is making some good points regarding goals, very important.

I have dreams to make indie games and I could see myself doing it one day full time.

As my story is like the OP let me give you a look into my days-

- I work full time in IT (bad job to have if you don't want to do overtime at all to concentrate on game dev). I go to work for my shift which can be 8:30-5 or 10:30-19:00 for example, Im usually pretty busy at work (this week might be an exception actually) and of course priorities are always work while im there. I detach myself as soon as the clock strikes the ending minute (providing im not having to do overtime)
- I go home and get 30-60 mins excercise done, grab some dinner and then straight onto my books and visual studio. If I am lucky I can put in 2-3 hours every working day and if I am not working at the weekend I can usually dedicate 6 hours on Saturday and Sunday. I am lucky in that I dont have any commitments at the moment, but I am becoming severely detached from friends because of the time I put in.
- I also spend at least 3 hours a week concentrating on doing some branding work for my indie game studio. Now, some people will argue this is time wasted if you arent making games. I look at it as more goals and more incentive to keep working on the books and study. I hear time and time again that networking is very important, as is branding.

I am completely and utterly knackered by the end of the week and I still itch for more. Making games was always a full time job, even the learning part requires several hours of time.

I cannot begin to appreciate how people with kids and other massive commitments do this, massive respect due for those that do. I cannot say this enough, if you are at home still, stay there until your parents literally throw your stuff out on the street. You will need all the cash you can get.

Anyway to bring it back to neometron's suggestion of goals, thats exactly how I do it. Long term goal is by the end of this year I want to be confident with C# and XNA and have created at least one simple game from scratch (like pong, or text based game). Then move onto something else. Short term goals are simple, Im just setting the goals of completing chapters in the resources I am reading.

Anyway, good luck :)
Please Add Rep if I helped // Working on untitled 2D platformer (more to come soon)
Twitter - @MarkPashby
You may also want to make it as easy for youself as possible. Do not try to learn how to make games and learn a demanding programming language at the same time. Start with an easy to learn language like Python (which is really quite powerfull and sufficiently fast for everything you might want to do the first few years of your self-education). You will have enough work understanding the basic techniques of game development, don't make it even more work trying to learn C++ or something, just because "the pros do it".

I started game programming with C++ and it took me years to get something I was not embarrased to show. Had I chosen to learn python back then, it might have been a lot earlier to get something showable...

I started game programming with C++ and it took me years to get something I was not embarrased to show. Had I chosen to learn python back then, it might have been a lot earlier to get something showable...


I didn't start with C++, i used it as my third/fourth language and made a bunch of freeware games with it(so i know it fairly well), For my first commercial game however i went with Unity and C#
The reason for this choice was quite simple really, it saves time and when you're trying to make a living time = money (using C++ with my own framework(which would have to be ported and updated) would add several months of development time and at best result in a ~2-10% performance boost that i don't need, (it could give me worse performance aswell), Professionals use the best tool for the job and outside of the AAA console market(Where you tend to not have much choice and also have to deal with very limited hardware) it is rarely a good choice.
[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!
If you are very familiar with C++ (especially C++11) and you apply proper engineering (don't reinvent the wheel, use existing libraries), I don't think, C++ ist really that bad (measured in work done per time), even for commercial, low budget titles. But you have to know C++ very well in advance, you will not succeed if you try to make a commercial game and learn the language "en passant".

If you are very familiar with C++ (especially C++11) and you apply proper engineering (don't reinvent the wheel, use existing libraries), I don't think, C++ ist really that bad (measured in work done per time), even for commercial, low budget titles. But you have to know C++ very well in advance, you will not succeed if you try to make a commercial game and learn the language "en passant".


Even then you should avoid writing your own engine if the goal is to make a game, CryEngine is a fairly decent choice if you know C++ Allthough the license terms are a bit annoying as there isn't any cheap, per-seat licensing option (basically its non commercial, 20% of revenue or very expensive) and no mobile support.
[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 totally share your opinion on this one. I just wanted to stress, that not C++ is the problem but the repeated reinvention of low level technology (that seems to be common among C++ programmers, where I am not much of an exception laugh.png )
Even in most of those cases with C++ based engines ( such as CryEngine or UDK), most of the actual implementation details are moved into either configuration files, a scripting language or a visual programming interface like Kismet. Even in the tripleA world, there aren't that many programmers working solely at the C++ level.

This topic is closed to new replies.

Advertisement