Archived

This topic is now archived and is closed to further replies.

Need advice... University Courses

This topic is 6007 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, This coming fall, i''m off to the University of Manitoba (anybody else there?) and i''m looking for the most valuable courses that will help in my goal to become a professional game programmer. So, naturally i''m looking at the Computer Sciences which are broken up into so many different courses, and I need a little direction. I already have my Calculus I, would Calc. II be a good choice to take? what about programming in general. Is Assembly still used now as much as it used to be? Things like that. Thanks a lot! Scott Email Website
"If you try and don''t succeed, destroy all evidence that you tried."

Share this post


Link to post
Share on other sites
I really hate to say this but college isn''t the place to learn to be a game developer... Game programming is more about the exceptions, rather than rules. Although in your introductory courses you will learn some EXTREAMLY important things such as linkes lists, trees, ect. From a Computer Science degree you may know ''how'' to programm... but you won''t be nearly as proficient as you need to be (even if you go for the Software Engineering degree). Although you have heard this a millino times before, the trick to becomming a good game programmer is practice. Get the books, do the reading, write some demos and see how well it works out. You could wait till you take a course in computer graphics your sophmore or junior year, or you could start NOW. And as for assembley... very seldom do college courses teach that as indepth as they use to, and even so not at the point of high level optimizations that you will need to squeese that extra frame out.

Long story shot : Goto college, get your CS degree and along the way in your freetime (if you don''t spend it looking for girls or beer) work on your game programming skills. When you feel like your doing well submit your resume and see what happens... best case scenerio, drop out and get your dream job... worse case you arn''t a game developer, but with a degree you can get ::Gasp:: a real job

O yeah, you may not know it yet... MATH IS GOOD, TAKE ALL THAT YOU CAN!

Hope it helps,

CodeSmith the Pixel Pusher
www.cs.trinity.edu/~csmith8

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Take as much math as you can (Calc III, Diff. Eq, etc ); in game programming, that always comes in handy! Assembly is useful, if you want the absolute in speed (and obscurity), but it chains your code to a particular platform. Take it, though, because it is guaranteed to solidify your knowledge of the OS and hardware like nothing else. Take any systems programming courses that are available - operating systems and the like; they familiarize you with low-level performance programming, robustness and stability (I''m doing the same). Take high-level classes too, so you have a solid knowledge of algorithms for a variety of situations. And learns as many programming languages as you can. In the final analysis, all knowledge is power, and you can''t do much wrong.

Share this post


Link to post
Share on other sites
quote:
Original post by CodeSmith
... best case scenerio, drop out and get your dream job...


I hate to say it, but this is utter rubbish! An informed survey of the gaming industry will reveal a trend towards the hiring of better and better qualified individuals: more and more people are being recruited from academia, people with advanced degrees.

Of course, CodeSmith''s statements used to be true, back when the hardware wasn''t powerful enough to support real software engineering techniques, when hacks and kludges were the only way to squeeze the necessary performance out of the machines. Today, however, knowledge of true computer science and the ability to write clean, maintainable code are at a premium - and will become increasingly so. In other words, get your degree (as you''re doing), and maybe even take the time to get a masters. There''ll still be game development when you''re done, and you may find something that pays better yet is nearly identical (like flight simulations).

Share this post


Link to post
Share on other sites
Take a course on large format photography. Notice I said ''large format''. There is a difference between large format and general photography.

Why do I recommend this? It does tie into computer graphics. A large format camera enables image plane manipulation that has many of the features (if not more) that you find in some of the advanced virtual camera functions of computer graphics. Also, the whole process of taking a large format photograph is a very deliberate process, forcing you to study and appreciate the quality of light, composition, scene analysis, depth of field, texture, detail, and perspective. And the pictures produced are stunning.

I purposely brought this topic out of left field to demonstrate the importance of broadening your skills in a way that creates a more effective study of something by resulting in knowledge that is greater than the sum of its parts.

Besides, I''m sure Manitoba offers wonderful opportunities in terms of scenery to exercise large format photography.

Share this post


Link to post
Share on other sites
Well, I don't know how good this advice will be, because it isn't tested yet, but here's what I'm doing...

I went to university (YorkU in Toronto), then got a job in the graphics field (paid miserably). I've since taken a better paying job doing (ugh) database programming. The degree I got was a computer science degree. I took the general courses required, which included some machine language, software design, OOP, and match classes including Calculus and Vector Math (that wasn't the exact name of the course, but you'll find the same thing). They've all been very useful in general. That's what university should be - somewhat general. That way you can get any job that pays well later on in life. Make sure to take some database courses as well since those are very marketable since you won't get that dream game programming job right away (unless you're very lucky).

I have some game-related experience in graphics programming from a previous job I mentionned, but really, I'm depending on my own free-time to develop a COMPLETE 3D game. I've heard it's very important to show prospective game companies that you can actually finish what you start. I've been working 2 hours minimum, at least 5 days a week after work, for about 9 months now.

My university education came in handy when reading difficuly articles about game programming (I'm reading one in game developers magazine now that requires calculus). You'll need all you can get in terms of education.

I didn't go for masters partly because my grades were not top notch, due to the fact that I spent way too much time hobby programming (including some simple games) instead of doing my assignments. Lets not go into beer and girls, ok?

However, I've found that I can learn pretty much anything I set my mind to thanks to that university education. In the past 9 months, I have expanded at least 300% in my game programming knoweldge through books.

Now I'm working on a pretty advanced ROAM based adaptive landscape generation algorithm for my game. It took a lot of learning to be able to get to where I am now. But on your own, with a good set of books, and lots of time, AND a good education behind you, you CAN learn what you need on your own time.

The trick is going to be to convice a game development company to hire you (or me).

I'm gambling that 2 hours a day for a year will produce an impressive enough game to land me a game development job. Just make sure you have an easy and well paying job to get you there, because you're going to have to spend lots of time on your own getting to where you want to be.

I agree with all prior posts in this thread. You NEED to learn most of your skills related to game programming on your own, but you WILL need your education first. However don't ever think your education will be enough to get you a game programming job. You will only have the foundations to build upon. I agree very strongly with a prior post in this thread that creating READABLE, REUSEABLE code is of paramount importance these days. When writing your portfolio code, make sure it's WELL CODED and WELL DOCUMENTED, because employers may ask for it.

Just don't spend too much time game programming while at university. Grades are better, as are the women Create your gaming portfolio afterwards if you can.

Best of luck my friend in your quest. I'll see you there!

By the way, that better paying job I mentionned earlier - I moved from toronto to winnipeg, so I'm nearby. Feel free to mail me if you have any questions.






Edited by - malachii on July 1, 2001 3:14:51 PM

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Better idea...avoid being a games programmer. The hours are shit and so are the companies. If you want to set yourself up for a life of misery then go ahead.

Why do people think being a professional games programmer is fun? It isn''t - it''s one of the hardest ways you can earn a living and I would advise anyone to seek employment elsewhere.

Stick to doing it for fun.

Share this post


Link to post
Share on other sites
Why? For the sense of completion. Knowing, that the game in the box in front of you on the shelf was made by you. You have made something that is played and seen by thousands of people. It may not be the most fun sometimes, there is acutal work involved ;-), but the payoff is probably the best thing ever.

And just for the sake of programming something that requires more skill than knowing how to word process and copy/paste some controls on a window ;-)

Share this post


Link to post
Share on other sites
quote:
Original post by Daishi
Why? For the sense of completion. Knowing, that the game in the box in front of you on the shelf was made by you. You have made something that is played and seen by thousands of people. It may not be the most fun sometimes, there is acutal work involved ;-), but the payoff is probably the best thing ever.

And just for the sake of programming something that requires more skill than knowing how to word process and copy/paste some controls on a window ;-)


Try writing a flight simulator. That way, you know that the complex machinery that train both commercial and military pilots is driven by your software, indirectly making you responsible for the general safety of air travel.

Try writing air traffic control software. Your application will handle millions of flights through tight airspace per week and aid an ATC in ensuring no mid-air collisions.

Try writing medical applications that save lives. Try writing industrial process control applications. Try writing systems software (there''s tons of opportunities in Open Source/Free Software, and you might even get paid for it). Completion? Nah. The truth is that games are cool and sexy and game developers are revered by the fans of their creations. In terms of actual relevance games still rank very low on the software hierarchy list (in the future, when there''ll be more emphasis on entertainment, they''ll rise - but the producers and artists will still get most of the glory as games will become increasingly artistic and less technical).

Most people want to be games programmers because that was their first exposure to programming, and they could create cool-looking toys. "Wow! What if I could do this for a living?"

I''m not attempting to dissuade anyone, just broaden the discourse. The opportunites are by far outweighed by the seekers - don''t set yourself up for a life of regret if you don''t make the cut.

Share this post


Link to post
Share on other sites
The only reason I ever wanted to write game software was to create something that really flexed the muscles of the computer and created an experience for the user that was novel, and better than existing computer games.

As far as completion or recognition goes, I don''t see game coding as the being anything terribly awesome. Maybe it could be. Completion is satisfying when you use or appreciate your completed work often. For example, completion of a house renovation project.

Software writing actually falls into a class of activities that could be classified as very unappreciated. New hardware comes out which makes existing software useless. New algorithms or paradigm shifts make existing software obsolete. Half finished projects get archived on media that is never looked at again.

Whatever it is you choose to do, place major emphasis on your freedom. Not freedom from your work, but freedom to pursue your career in a way which exploits your talents in a rewarding and satisfying environment. I''m not sure if the typical game programming environment provides this. I''m sure some do and many don''t.

I discovered a long time ago and am continuing to discover everyday that your success depends significantly on the freedom you are able to emply to exploit your talents and resources. And don''t make the mistake of lying to yourself regarding what you like to do.

Share this post


Link to post
Share on other sites
Game programming is simply another form of art to me. The old ''feel'' of video games seems to have been lost since the 3D accelerator-boom over the past years.

Just today I finished playing through Castlevania for SNES. The graphics were good, but not incredible, the actual programming of the game was good, but the controls weren''t that great, but ok once you get the hang of it, it was hard and frustrating at times, but the feeling put into it made it a masterpiece. The worlds were all very memorable, especially that treasure-filled place. You can just tell that the developers were doing it for the love of the art rather than the money. And of course, the excitement of the the SNES''s power^_^

It seems to me that that old passion has almost vanished with the rush of people making games, and it becoming more of a ''respectable carreer'' than a rare few people who did it even when they were considered to be worthless nerds who couldn''t do anything else.

There are still great games being made. Xenogears, Zelda: Ocarina of Time, Super Smash Bros, those are some of my favorites, but there aren''t many others made since the death of SNES that have that amount of feeling put into them.

I think it''s about time for a revival of 2D. With the power of today''s computers, and the same determination as those people who started it all, there''s potential for a true realization of the creator''s vision, no longer limited by the speed of the processor, but only human imagination, and the coder''s spirit^^



*whew* that felt good. A bit over-dramatized, but it''s more fun to write that way^_^



-Deku-chan

DK Art (my site, which has little programming-related stuff on it, but you should go anyway^_^)

Share this post


Link to post
Share on other sites
University courses: math, and lots of it. Being self-taught this has been my biggest weakness and I''m now having to backfill on a lot of stuff I thought I''d never need to know! Some physics will also be useful especially if you end up working on anything that needs to act like real life. Learn some basic software design and engineering skills as well, being able to do a good design will save your butt down the road.

Dropping out: don''t do it. The games business is tough to break into and you''re going to need to be employable outside The Biz while you try to kick the door down. A degree will get you a job that''ll keep you in rent and beer money if nothing else. While it''s not a 100% necessity to have the paper to get in (heck, it didn''t stop me for the titles I''ve worked on) the competition is tough enough that it can under most circumstances make a Difference.

Games in general: yeah, it''s a sucky business to be in. My day gig is doing embedded systems work for a consumer electronics company and my stint working game development for someone else (childrens games, gaah) was both fun and painful. I''d have to take at least a $20K cut in pay to work for a game company right now - and it isn''t going to happen. I''m taking my extra time and money and Doing It Myself, starting with the engine and then either licensing it out or taking it into a title.

Just a rant...

Share this post


Link to post
Share on other sites
Hey everyone,

thanks for the replies. You guy''s have been really helpful answering my question(s), and have also opened up my eyes. I knew game development isn''t the best of jobs, however I am completely self taugh in all computer fields (that i know). I''m 19 in a few months, working as a computer tech for a school board, and I hate my job. Tech job (for me) is the worst. Especially fixing teachers mistakes.

Game Development on the other hand is something that I started doing quite a few years ago, and I love it. I push most girls aside (with few exceptions to program. It''s something that I enjoy enough that I want to do it for a living... I''d love to be paid to create art, entertainment, and pretty much anything to make life easy for everyone.

As for University, I''m going to take as much math as I can without burning myself out. Definitely general programming courses to brush up my OOP skills (dont really have any), and I''d really like to take some assembly. I''ve always been interested in it, but have never set aside time to learn it. I really don''t even understand it much as to why it''s much faster than other programming languages.

Anywho... Thanks a lot for the replies.
Who know.. maybe i''ll see some of ya around

Scott

Email
Website

"If you try and don''t succeed, destroy all evidence that you tried."

Share this post


Link to post
Share on other sites
About that hobby versus career thing: There are other careers that pay poorly and are hard work, but if you have a passion for something you can''t settle for keeping it a hobby. I''ve been studying game development for a long time as a hobby but my passion is music. Just like many of you are spending hours a day coding your asses off, I''m spending every waking moment creating and recording music, gigging with a couple bands, etc. If I ever make the leap to playing music full time I''m probably in for years of very little money, sleeping in a different city every night, living out of a suitcase, eating lots of ramen and bologna, playing my ass off, lugging gear around, sleeping in a van or a bus... but I don''t care. I love writing, performing and recording music and I''m not satisfied with playing gigs on weekends and recording whenever I have time while spending 8 hours a day during the week at an office doing things I don''t enjoy nearly as much (programming mostly uninteresting stuff).

I think everyone should ask themselves this question; "if you were rich, didn''t have to work, and could do anything you want with your time, what would you do?" Now what would you sacrifice or suffer through to actually do that as your job? The point of my rambling above is this: if you have to ask why people put up with such horrible working conditions to be a game developer, then you just don''t belong there.

Share this post


Link to post
Share on other sites