How far can I get??
by Nunzio Verduci · in Torque Game Engine · 06/24/2004 (10:46 am) · 17 replies
Hello I am new to this forum as well as GG and was wondering if some of you would take the time to answer a few esoteric questions. First off let me applaud GG for creating an environment where aspiring or novice game developers can come, learn and create games. Truly a daunting if not impossible task to accomplish independently or without any prior game making experience.
For the sake of simplicity please assume:
- I have absolutely no programming or gaming background whatsoever. In fact my only experience in the field is that I am an avid gamer who plays any chance he gets.
That being said:
- I am willing and able.
- I am of average intelligence (I hope).
- I have the time and resources to commit to creating a game or at least trying to.
- I have a timeframe of 1-2 years depending on progress and resource consumption.
- I would like to create a game of similar technical and graphical complexity to say Tribes II or Unreal, however more story based with more levels and plot twists. (I know I am probably dreaming but hey what's wrong with having a dream!)
So here we go.
1. Is it possible to teach myself or learn how to program in C++ without any formal training? And if this can be done would I be proficient enough to modify or work with the TGE. Has anyone else done this or attempting to do so and if so how are you making out?
2. What about school? Should I forego the self-exploratory route in favor of a more traditional academic approach and spend the next 1-2 years in school. In other words will I gain some deeper understanding of programming that cannot be attained by learning from books and on-line tutelage or is it all the same in the end how much you put in is how much you get out?
3. With the plethora of tools, resources, snippets, advice, and ongoing development of the TGE/TSE will it even be necessary to learn how to program/script. Or instead will some pseudo plug and play architecture evolve that allows non-programmers like myself to merely create the game assets and drop them into the engine.
Thanks in advance for any advice or response you may have to offer!!
Regards
Nunzio Verduci
For the sake of simplicity please assume:
- I have absolutely no programming or gaming background whatsoever. In fact my only experience in the field is that I am an avid gamer who plays any chance he gets.
That being said:
- I am willing and able.
- I am of average intelligence (I hope).
- I have the time and resources to commit to creating a game or at least trying to.
- I have a timeframe of 1-2 years depending on progress and resource consumption.
- I would like to create a game of similar technical and graphical complexity to say Tribes II or Unreal, however more story based with more levels and plot twists. (I know I am probably dreaming but hey what's wrong with having a dream!)
So here we go.
1. Is it possible to teach myself or learn how to program in C++ without any formal training? And if this can be done would I be proficient enough to modify or work with the TGE. Has anyone else done this or attempting to do so and if so how are you making out?
2. What about school? Should I forego the self-exploratory route in favor of a more traditional academic approach and spend the next 1-2 years in school. In other words will I gain some deeper understanding of programming that cannot be attained by learning from books and on-line tutelage or is it all the same in the end how much you put in is how much you get out?
3. With the plethora of tools, resources, snippets, advice, and ongoing development of the TGE/TSE will it even be necessary to learn how to program/script. Or instead will some pseudo plug and play architecture evolve that allows non-programmers like myself to merely create the game assets and drop them into the engine.
Thanks in advance for any advice or response you may have to offer!!
Regards
Nunzio Verduci
#2
06/24/2004 (12:34 pm)
I agree with David on the education. I really think I would have had a tough time with the basics if I didn't have teachers. I however feel I have learned a boat load just from playing around with Torque and i'm learning more everyday. So my suggestion if you don't want to get a degree is go to school just for a couple programming classes so you have a basic knowledge you can build upon by yourself with books and just by doing it.
#3
It took a team of experienced, skilled programmers and artists a couple of years to "make a game like Tribes 2". Now you can take the code in the torque engine and cut a LOT of time off the process, but unless you get in a team it will still take you many, many years to build a new Tribes 2 like game. Simple math - for every person on the tribes 2 team add 2-3 years to the development cycle if you are working alone.
So, study up on programming and run out an buy a copy of "Game Programming All in One" and read it over SEVERAL times so you understand what you are letting yourself in for. Then get in a team and contribute.
Or scale back substantially on the game you want to make and focus much more on the art end of the system. A good artist can make a game without changing the engine - they just have to live within the constraints it currently has and be creative in their solutions. On the other hand no amount of programming ability will save you from bad art.
06/24/2004 (12:44 pm)
OK, here is some advice.It took a team of experienced, skilled programmers and artists a couple of years to "make a game like Tribes 2". Now you can take the code in the torque engine and cut a LOT of time off the process, but unless you get in a team it will still take you many, many years to build a new Tribes 2 like game. Simple math - for every person on the tribes 2 team add 2-3 years to the development cycle if you are working alone.
So, study up on programming and run out an buy a copy of "Game Programming All in One" and read it over SEVERAL times so you understand what you are letting yourself in for. Then get in a team and contribute.
Or scale back substantially on the game you want to make and focus much more on the art end of the system. A good artist can make a game without changing the engine - they just have to live within the constraints it currently has and be creative in their solutions. On the other hand no amount of programming ability will save you from bad art.
#4
Thanks for the quick response guys. Funny enough I have already snatched up a bunch of C++ programming books as well as "C++ Primer Plus" and "Game Programming All in One". I do find the learning curve to be quite steep and I am willing to study my ass off. I guess I am just wondering if is possible to become good enough to use and modify both TGE\TSE and whatever new iterations that follow.
I am not concerned so much with a degree or paper certification as I am about proficiency. For example as long as I can understand how something was done in Torque and then have the ability to modify and adjust that to my needs I will be happy. I guess the question I need to ask is given enough time can I get there on my own or do I need some higher for of education to understand and modify TGE\TSE.
I am an artist/writer by trade and found the possibilities offered by GG to enter the realm of gaming to exciting to pass up. And I truly want to believe that it is possible to create my own game. In addition I want to believe that the excitement that GG has infused into the independent gaming market is real rather than unsubstantiated success stories or overzealous marketing efforts. Everything about GG is inspiring, I am just wondering if I am biting off more than I can chew!
Thanks again for all the advice
Sincerely
Nunzio
06/24/2004 (1:48 pm)
@ David Blake, Michael Cozzolino, David DougherThanks for the quick response guys. Funny enough I have already snatched up a bunch of C++ programming books as well as "C++ Primer Plus" and "Game Programming All in One". I do find the learning curve to be quite steep and I am willing to study my ass off. I guess I am just wondering if is possible to become good enough to use and modify both TGE\TSE and whatever new iterations that follow.
I am not concerned so much with a degree or paper certification as I am about proficiency. For example as long as I can understand how something was done in Torque and then have the ability to modify and adjust that to my needs I will be happy. I guess the question I need to ask is given enough time can I get there on my own or do I need some higher for of education to understand and modify TGE\TSE.
I am an artist/writer by trade and found the possibilities offered by GG to enter the realm of gaming to exciting to pass up. And I truly want to believe that it is possible to create my own game. In addition I want to believe that the excitement that GG has infused into the independent gaming market is real rather than unsubstantiated success stories or overzealous marketing efforts. Everything about GG is inspiring, I am just wondering if I am biting off more than I can chew!
Thanks again for all the advice
Sincerely
Nunzio
#5
Even if you just play with the demo version for a while, people will be able to help via the public forums.
A structured C++ course is unlikely to do any harm though, particularly if you can spare the time and money required. If you do decide to take that route, it might be an idea to take a shorter introductory course first (perhaps 3 months) before commiting yourself to a full time 1 or 2 year version.
06/24/2004 (3:29 pm)
The beauty of the Garage Games setup is that you don't need to get there on your own. If you become a Torque license owner, you gain access to a private forum and additional resources.Even if you just play with the demo version for a while, people will be able to help via the public forums.
A structured C++ course is unlikely to do any harm though, particularly if you can spare the time and money required. If you do decide to take that route, it might be an idea to take a shorter introductory course first (perhaps 3 months) before commiting yourself to a full time 1 or 2 year version.
#6
Fair enough, I guess my only real hesitation is that would that time be better served doing other things such as development of the game assets or design etc. I know all aspects of game creation are crafts in their own right, I was just wondering if it was at all possible to get a handle on programming without having to go to school. I have a Bachelor of Commerce and God knows I didnt learn anything I couldn't have learned myself. Anyway I appreciate the advice! I think I will scour the web for tuts and read as much as possible, and if all else fails find a decent school to go to---
thanks
Nunzio
06/24/2004 (10:44 pm)
@Wysardry Fair enough, I guess my only real hesitation is that would that time be better served doing other things such as development of the game assets or design etc. I know all aspects of game creation are crafts in their own right, I was just wondering if it was at all possible to get a handle on programming without having to go to school. I have a Bachelor of Commerce and God knows I didnt learn anything I couldn't have learned myself. Anyway I appreciate the advice! I think I will scour the web for tuts and read as much as possible, and if all else fails find a decent school to go to---
thanks
Nunzio
#7
However, you have to ask yourself whether learning on your own is going to take longer if you're aiming to finish the game within a set time frame.
Finding the right materials can take time as there are literally thousands of traditional and electronic books available, and it's not always easy to find an author who is on the same wavelength.
You also have to be fairly disciplined, and set aside the same amount of time each day that you would spend in a class, which can be tough if you're studying at home.
If I suddenly developed amnesia and forgot everything I've learned about programming, I'd probably go for a short introductory class or find a knowledgeable friend to go through the basics with me.
Grasping the basic concepts such as variables and program flow can be the trickiest part. In other words, the learning curve starts off being steep and then lessens gradually. Having someone physically around to push or pull you at the beginning can make all the difference.
The big difference between a live person and a book is that the person can mentally change gears and explain concepts in a manner which suits your particular way of thinking (plus you can ask questions).
I did notice a thread at the GameDev forums the other day, where someone was offering free online C/C++ classes (with a teacher). The cutoff date for applications is June 26th though, so you'd need to be quick.
You can find the thread here.
06/25/2004 (4:50 am)
Well, a structured class on any subject isn't likely to teach you anything you can't learn by yourself, given the resources that are available these days.However, you have to ask yourself whether learning on your own is going to take longer if you're aiming to finish the game within a set time frame.
Finding the right materials can take time as there are literally thousands of traditional and electronic books available, and it's not always easy to find an author who is on the same wavelength.
You also have to be fairly disciplined, and set aside the same amount of time each day that you would spend in a class, which can be tough if you're studying at home.
If I suddenly developed amnesia and forgot everything I've learned about programming, I'd probably go for a short introductory class or find a knowledgeable friend to go through the basics with me.
Grasping the basic concepts such as variables and program flow can be the trickiest part. In other words, the learning curve starts off being steep and then lessens gradually. Having someone physically around to push or pull you at the beginning can make all the difference.
The big difference between a live person and a book is that the person can mentally change gears and explain concepts in a manner which suits your particular way of thinking (plus you can ask questions).
I did notice a thread at the GameDev forums the other day, where someone was offering free online C/C++ classes (with a teacher). The cutoff date for applications is June 26th though, so you'd need to be quick.
You can find the thread here.
#8
06/25/2004 (5:55 am)
Books smooks, they will not help you learn torque, oh they will give you the general idea of how programming works, the best book for torque is the code snipit area and then the forums area.
#9
@ ACE I agree however it all looks greek to me at the moment. Like I said I think GG is great its just alot to take in at first.
peace
nunzio
06/25/2004 (12:44 pm)
@Wysardry you raise alot of valid points I suppose my adversity to education just comes from bad experiences. I am however very intrigued by the proposition you mentioned at the end of your post and I just finished the application process (a tad unorthidox to say the least). A big thanks for that. I am sure along with some good books, GG resources and anything else I can get my hands this online class will prove beneficial. thanks again.@ ACE I agree however it all looks greek to me at the moment. Like I said I think GG is great its just alot to take in at first.
peace
nunzio
#10
06/25/2004 (7:11 pm)
A programming class can be very useful, just be willing to revise your view of things once you get out into "the real world".
#11
Good luck. It's hard work, but rewarding. Just stick with it.
06/25/2004 (8:25 pm)
I think a mix of learning on your own, and learning in school is the best way to go. I taught myself C++, and am currently doing a Computer Science degree. There are many things in school that I wouldnt really have learned on my own, and there are many things that you learn from experience that a school will rarely teach you. Additionally, you understand the things you learn in school much more deeply, such as the importance of commenting code.Good luck. It's hard work, but rewarding. Just stick with it.
#12
I imagine from your statement you mean that my understanding of programming will be a constantly evolving thing -- so the learning never stops!! sounds like a treadmill.....or a buffet.
@Josh Albrecht
Higher Education can be a real crap shoot where sometimes you come away with nothing and others you come away enriched and satisfied. I am not doubting that if I found the right course or school I would not learn, its just not knowing and then taking the gamble. When I was in University you would always try and scope out the better profs or easier classes and to what end -- a higher final grade, which incidentally wasn't always the case. I agree that back then my priorities were off and now my focus is obviously to learn and actually understand what I will be studying. I am in complete agreement with your claim that I would learn some things in school or in a group setting that I could never learn on my own or from a book, but can I start out on my own?? As well do I really need to learn to be an expert programmer, I don't want to write my own engine, I just want to understand how TGE\TSE works and make any changes that might be necessary to convey my vision.
But I was wondering you said "I taught myself C++"(and from your profile it says in 2 weeks)-- was that with any programming background? you must also head your local chapter of MENSA in your spare time when you are not at school WOW!! I consider that no small feat, and while I am well aware that I will be on that road for a hell of a lot longer than two weeks I have to wonder how you did it. Amazing!!
Anyway I appreciate all the advice and candor thanx again
06/25/2004 (11:29 pm)
@ Ben GarneyI imagine from your statement you mean that my understanding of programming will be a constantly evolving thing -- so the learning never stops!! sounds like a treadmill.....or a buffet.
@Josh Albrecht
Higher Education can be a real crap shoot where sometimes you come away with nothing and others you come away enriched and satisfied. I am not doubting that if I found the right course or school I would not learn, its just not knowing and then taking the gamble. When I was in University you would always try and scope out the better profs or easier classes and to what end -- a higher final grade, which incidentally wasn't always the case. I agree that back then my priorities were off and now my focus is obviously to learn and actually understand what I will be studying. I am in complete agreement with your claim that I would learn some things in school or in a group setting that I could never learn on my own or from a book, but can I start out on my own?? As well do I really need to learn to be an expert programmer, I don't want to write my own engine, I just want to understand how TGE\TSE works and make any changes that might be necessary to convey my vision.
But I was wondering you said "I taught myself C++"(and from your profile it says in 2 weeks)-- was that with any programming background? you must also head your local chapter of MENSA in your spare time when you are not at school WOW!! I consider that no small feat, and while I am well aware that I will be on that road for a hell of a lot longer than two weeks I have to wonder how you did it. Amazing!!
Anyway I appreciate all the advice and candor thanx again
#13
2. If you dont know programming learning a new language is the same as learning programming, and is hard.
I'd *really* advise a proper course.
Ian
06/26/2004 (3:10 am)
1. If you know programming learning a new language is easy.2. If you dont know programming learning a new language is the same as learning programming, and is hard.
I'd *really* advise a proper course.
Ian
#14
When you get home each evening you can experiment with the topics you've learned during the day to get some more practical experience to go along with the theory.
I think the point Ben was trying to make is that teachers tend to idealise the subjects they cover. An obvious example of how the real world differs from what you are taught is driving a car. What the instructor tells you to do, and what people really do after they've passed the test and have been driving for a few years are very different.
A better parallel for learning C/C++ is probably learning to ride a motorcycle. I don't know about other countries, but in the UK you're required to take a short introductory course and test before being allowed on the road with a provisional (learner's) licence.
You can then ride alone (displaying "L" plates) for up to 2 years before having to take the test to gain a full license. Many riders take lessons in the meantime and/or go on an intensive course closer to the test date.
You could take the full test immediately after the introductory course, but very few people would pass.
The same thing applies to C++ in a way. The core vocabulary isn't very large, and could possibly be learned in a few hours if you had experience with other programming languages, but that would only be the beginning.
Compilers generally include hundreds of libraries, and it's best to learn to use them when you write a program instead of reinventing the wheel every time.
The "learn C++ in 24 hours" books refer to learning the core language and how to use libraries, but they don't cover many of them in any detail.
There are at least two areas where you might feel your eyes starting to glaze over: variables, and object oriented programming. That's where talking to a live person could be invaluable.
06/26/2004 (3:55 am)
Yes, there are good and bad points to learning in a classroom environment, particularly if the course is fairly long and limited by the speed of the slowest learner. That's the main reason I suggested trying a shorter course to get you started.When you get home each evening you can experiment with the topics you've learned during the day to get some more practical experience to go along with the theory.
I think the point Ben was trying to make is that teachers tend to idealise the subjects they cover. An obvious example of how the real world differs from what you are taught is driving a car. What the instructor tells you to do, and what people really do after they've passed the test and have been driving for a few years are very different.
A better parallel for learning C/C++ is probably learning to ride a motorcycle. I don't know about other countries, but in the UK you're required to take a short introductory course and test before being allowed on the road with a provisional (learner's) licence.
You can then ride alone (displaying "L" plates) for up to 2 years before having to take the test to gain a full license. Many riders take lessons in the meantime and/or go on an intensive course closer to the test date.
You could take the full test immediately after the introductory course, but very few people would pass.
The same thing applies to C++ in a way. The core vocabulary isn't very large, and could possibly be learned in a few hours if you had experience with other programming languages, but that would only be the beginning.
Compilers generally include hundreds of libraries, and it's best to learn to use them when you write a program instead of reinventing the wheel every time.
The "learn C++ in 24 hours" books refer to learning the core language and how to use libraries, but they don't cover many of them in any detail.
There are at least two areas where you might feel your eyes starting to glaze over: variables, and object oriented programming. That's where talking to a live person could be invaluable.
#15
A class won't teach you, you will teach you, through hard work. But they are a good forum for getting started. Students shrug their shoulders at higher education FAR too much...for instance I know several programmers from back in high school who never went to college, but "learned on their own."
They aren't as good, period. They aren't organized, they don't even approach programming as an engineering task at all...they just don't churn out the same kind of product as those who have been through a formal educational process. Perhaps it is partially because college gives you plenty of free time to try it all out...but I think a goodly portion is the educational experience in the classroom...even if you are faster, better then everyone else...helping to explain things, working through the coursework, at least if you PAY ATTENTION properly, helps.
Don't be so quick to shrug your shoulders at a real education here.
06/26/2004 (6:36 am)
The real pain of formal education is that often it seems far too slow. However, I found that generally those who felt they gained nothing at all from the class were those who a) didn't pay enough attention, b) were just in it for a grade, and c) did the minimum amount of work.A class won't teach you, you will teach you, through hard work. But they are a good forum for getting started. Students shrug their shoulders at higher education FAR too much...for instance I know several programmers from back in high school who never went to college, but "learned on their own."
They aren't as good, period. They aren't organized, they don't even approach programming as an engineering task at all...they just don't churn out the same kind of product as those who have been through a formal educational process. Perhaps it is partially because college gives you plenty of free time to try it all out...but I think a goodly portion is the educational experience in the classroom...even if you are faster, better then everyone else...helping to explain things, working through the coursework, at least if you PAY ATTENTION properly, helps.
Don't be so quick to shrug your shoulders at a real education here.
#16
I'm not going to argue with people about whether self taught programmers are as good as educated programmers or not, or the difference between programming and software engineering, these are just my experiences.
06/26/2004 (8:27 pm)
Just remember, there is a big difference between 'Software engineering' and 'Programming'. Programming is just one facet of SE. I have worked with self taught programmers, educated programmers and educated software engineers, and there is a big difference in the overall quality of the work, particularly on very large projects (which a game is). I'm close to completing a 4 year SE degree and although it has been slow, I'm very glad I've done it. I'm not saying you should go and do a degree before you start coding, but a short course is a good idea to get you started, and be aware there is more to software development than just slapping algorithms together.I'm not going to argue with people about whether self taught programmers are as good as educated programmers or not, or the difference between programming and software engineering, these are just my experiences.
#17
07/17/2004 (8:04 pm)
Hey thanks for all your comments and suggestions!! Just purchased TSE/TGE so I hope I can figure out what the heck I am doing?? Still I have to say I am pleased with the varied input.
Employee David Montgomery-Blake
David MontgomeryBlake
2. I like the educational route because 1) you have a piece of paper that says you can do something at the end, and 2) you can get one-on-one instruction with other programmers and experience working in teams. I know a number of people who have chosen not to go the educational route and are doing very well, though. A lot of jobs love seeing that paperwork, though.
3. Torque's not a drop-in engine. You CAN, but it'll basically be the FPS or racing examples with different models. That's not really an optimal solution, and it's not much of a solution at all for the game you want to make. You'll be doing a lot of Torquescripting, and on the network side, you'll probably be devling pretty heavily into the C++ code for load balancing. DarkBASIC Pro and A6 will require programming in either BASIC or C-Script for the tier of game you want to make if you were thinking about going that direction. If you did, you'd love native Mac and Linux support, though.