Programming Forums
User Name Password Register
 

RSS Feed
FORUM INDEX | TODAY'S POSTS | UNANSWERED THREADS | ADVANCED SEARCH

Reply
 
Thread Tools Display Modes
Old Jul 9th, 2008, 4:20 PM   #1
MrFroho
Newbie
 
Join Date: Jul 2008
Posts: 2
Rep Power: 0 MrFroho is on a distinguished road
Need College Help/Advice

Hey guys, I have a few questions about programming in general so I just joined this forum right now to get some opinions, any help is appreciated.

So I just got out of highschool and im getting ready to goto university of houston. In my spare time im a pc gamer, i play games a lot. I'm generally pretty computer savvy, I figured of all things I'd like to be, I would want to be the one developing or programming games in the future. So I'd like to ask you guys for advice on what kind of skills and in which programs (like C++, do i need to learn COBOL?) or what courses should I take if I for example wanted to be a programmer for Blizzard, or work on programming the next unreal graphics engine or something.

any advice is greatly appreciated
MrFroho is offline   Reply With Quote
Old Jul 9th, 2008, 4:39 PM   #2
lectricpharaoh
Caffeinated Neural Net
 
lectricpharaoh's Avatar
 
Join Date: Jun 2005
Location: Wet west coast of Canada
Posts: 1,120
Rep Power: 5 lectricpharaoh will become famous soon enough
Re: Need College Help/Advice

Quote:
Originally Posted by MrFroho
like C++, do i need to learn COBOL?
Forget C++. Nobody uses that for serious game development. COBOL is definitely a good choice, as many cutting-edge games are written in COBOL, but if you really want to be the best, use FORTRAN. It's what all the pros use these days!

Seriously, though. C++ is a good choice, as is C#, but don't go trying to make the latest, greatest 3D game, as you'll only get discouraged. Start small. Learn the basics, and try something very basic like a guessing game, move on to (simple) graphics later on like Tetris, and progress from there.

As for what you need, many schools don't offer a 'game development' program, so what you will be looking for are computer science courses coupled with a lot of learning on your own. Learn about matrix math, data structures, and algorithms.
__________________
And once again, Probability proves itself willing to sneak into a back alley and service Drama as would a copper-piece harlot.
- Vaarsuvius, Order of the Stick
lectricpharaoh is offline   Reply With Quote
Old Jul 9th, 2008, 4:40 PM   #3
Wizard1988
Professional Programmer
 
Wizard1988's Avatar
 
Join Date: Oct 2005
Location: Chitown
Posts: 422
Rep Power: 4 Wizard1988 is on a distinguished road
Re: Need College Help/Advice

If you are looking into game/engine development then I don't think you will need to learn COBOL. C,C++ and some scripting languages is where its at.

You might want to check out www.gamedev.net
__________________

Wizard1988 is offline   Reply With Quote
Old Jul 9th, 2008, 5:40 PM   #4
Klarre
Game engine designer
 
Klarre's Avatar
 
Join Date: May 2005
Location: Sweden
Posts: 310
Rep Power: 4 Klarre is on a distinguished road
Re: Need College Help/Advice

Game programming on larger projects are divided into two parts: engine coding and gameplay coding. The engine powers the game and provides functionality like graphics rendering, network support, sound support, input and so on. The game engine is often not created for a specific game. Therefor you can see that the Unreal engine powers many kinds of games. The gameplay coding part is where all game related stuff comes in, like how the main character should act and how the GUI elements are positioned on the screen. Almost all bigger game engines are written in C or C++. Many of them also supports some kind of scripting language to power the gameplay code. Unreal uses their UnrealScript while the WoW engine uses Lua, I think? Python is also pretty common as a gameplay language.

You must learn C++ if you want to be a programmer in the game industry. Especially if you want to code game engines. Look at the jobs section on different kinds of game companies to see what they want. For engine coders they usually wants you to master C++ and be familiar with assembly coding. On the gameplay side they usually wants you to master C++, and Python or Lua is an advantage.

You should take courses in the following areas
* Linear algebra, discreet math and physics
* Software engineering
* C++
* Assembly programming
* Graphics and shader programming
* AI symbol systems
* Network
* And probably some more I have forgot to mention now...

And remember that game programming is very hard. You have to master a lot of different areas while having a feeling about what makes games fun! Stay dedicated and you will succeed!
__________________
http://www.klarre.se
Klarre is online now   Reply With Quote
Old Jul 9th, 2008, 11:28 PM   #5
Jabo
Not a user?
 
Join Date: Sep 2007
Posts: 292
Rep Power: 2 Jabo is on a distinguished road
Re: Need College Help/Advice

Quote:
Originally Posted by Klarre View Post
You should take courses in the following areas
* Linear algebra, discreet math and physics
* Software engineering
* C++
* Assembly programming
* Graphics and shader programming
* AI symbol systems
* Network
* And probably some more I have forgot to mention now...
Trig and Calculus are essential to 3D gaming.

Just an FYI, ITT Tech offers (or used to) a gaming degree. I can't wholly recommend it, as ITT is expensive, and when I went, there were many issues, such as books not being there when class started, lack of teachers, inflexible scheduling, accreditation, etc. Some of these issues may have improved since then, though.
Jabo is offline   Reply With Quote
Old Jul 10th, 2008, 3:29 AM   #6
MrFroho
Newbie
 
Join Date: Jul 2008
Posts: 2
Rep Power: 0 MrFroho is on a distinguished road
Re: Need College Help/Advice

I appreciate all your fast replies (thx klarre for list of courses, that helped alot)

what lectricpharaoh says is contrary to everyone else as far as C++ (tho your other advice is very helpful). also ive looked at a few gaming job apps, and they do put emphasis on having knowledge in C++.

about python and lua programs, you call them scripting languages. are those just C++ based languages modified by companies to make things easier? or are they complex things that i should learn in my spare time and will be useful for all game coding?

and jabo you mention calc and trig, are u certain those are necessary courses? id rather not take those, they are quite a pain, lol. the two example job sites i visited didnt make mention of it. let me show u:

http://www.blizzard.com/us/jobopp/un...ogrammers.html

http://www.epicgames.com/jobs/engine_programmer.html

http://www.epicgames.com/jobs/gameplay_programmer.html

a quote from blizzard "Candidates must have a deep understanding of data structures and algorithms and a strong math background (logic, linear algebra, geometry, statistics, and probability are pluses)."

im guessing these must be quite important right? as i mentioned im just fresh into university now, im wondering, do i need to take classes for statistics, logic, probability, and data structures? like are there classes for these things (if so what would they be called?) and even if there are, would i need to take them or can you use your basic logic and math skills (i find that im pretty good at math) to get thru this stuff.

also is there any like basic coding tutorial or something i could learn to get an idea of what i will be learning?

thats all i can think of to ask right now. again thank you all for your previous and hopefully future responses

Last edited by MrFroho; Jul 10th, 2008 at 3:40 AM.
MrFroho is offline   Reply With Quote
Old Jul 10th, 2008, 3:35 AM   #7
Klarre
Game engine designer
 
Klarre's Avatar
 
Join Date: May 2005
Location: Sweden
Posts: 310
Rep Power: 4 Klarre is on a distinguished road
Re: Need College Help/Advice

Lua and Python are scripting languages, and used in various areas. Games are just one of these areas.
Calculus and trigonometry are good to have. Linear algebra is more important though, since it handles vector and matrix math which graphics coding is all about. But you should take a calculus course.
I read a course named "Algorithms and data structures" which is also very important.

Begin by reading some C++ tutorials. Just Google for it and you will get thousands of hits.
__________________
http://www.klarre.se
Klarre is online now   Reply With Quote
Old Jul 10th, 2008, 3:46 AM   #8
MiKuS
Hobbyist Programmer
 
Join Date: Jun 2007
Posts: 136
Rep Power: 2 MiKuS is on a distinguished road
Re: Need College Help/Advice

if you think trig and calc is a pain you'll love probability and statistics (do you know these subjects well?)
MiKuS is offline   Reply With Quote
Old Jul 10th, 2008, 3:49 AM   #9
Jabo
Not a user?
 
Join Date: Sep 2007
Posts: 292
Rep Power: 2 Jabo is on a distinguished road
Re: Need College Help/Advice

3D gaming heavily uses angles. What angle of fire to hit the target, what angle will make you hit the ground, etc. Also, calculus is very well suited for handling the geometrics involved in creating the objects that make up a 3D world, as well as derivatives which are very useful in facilitating abstract calculations (getting the known from the unknown).

According to wikipedia:
Quote:
Applications of trigonometry
Main article: Uses of trigonometry
There are an enormous number of applications of trigonometry and trigonometric functions. For instance, the technique of triangulation is used in astronomy to measure the distance to nearby stars, in geography to measure distances between landmarks, and in satellite navigation systems. The sine and cosine functions are fundamental to the theory of periodic functions such as those that describe sound and light waves.

Fields which make use of trigonometry or trigonometric functions include astronomy (especially, for locating the apparent positions of celestial objects, in which spherical trigonometry is essential) and hence navigation (on the oceans, in aircraft, and in space), music theory, acoustics, optics, analysis of financial markets, electronics, probability theory, statistics, biology, medical imaging (CAT scans and ultrasound), pharmacy, chemistry, number theory (and hence cryptology), seismology, meteorology, oceanography, many physical sciences, land surveying and geodesy, architecture, phonetics, economics, electrical engineering, mechanical engineering, civil engineering, computer graphics, cartography, crystallography and game development.
Quote:
Applications of calculus
Physics makes particular use of calculus; all concepts in classical mechanics are interrelated through calculus. The mass of an object of known density, the moment of inertia of objects, as well as the total energy of an object within a conservative field can be found by the use of calculus. In the subfields of electricity and magnetism calculus can be used to find the total flux of electromagnetic fields. A more historical example of the use of calculus in physics is Newton's second law of motion, it expressly uses the term "rate of change" which refers to the derivative: The rate of change of momentum of a body is equal to the resultant force acting on the body and is in the same direction. Even the common expression of Newton's second law as Force = Mass × Acceleration involves differential calculus because acceleration can be expressed as the derivative of velocity. Maxwell's theory of electromagnetism and Einstein's theory of general relativity are also expressed in the language of differential calculus. Chemistry also uses calculus in determining reaction rates and radioactive decay.

Calculus can be used in conjunction with other mathematical disciplines. For example, it can be used with linear algebra to find the "best fit" linear approximation for a set of points in a domain.

In the realm of medicine, calculus can be used to find the optimal branching angle of a blood vessel so as to maximize flow.

In analytic geometry, the study of graphs of functions, calculus is used to find high points and low points (maximums and minimums), slope, concavity and inflection points.

In economics, calculus allows for the determination of maximal profit by providing a way to easily calculate both marginal cost and marginal revenue.

Calculus can be used to find approximate solutions to equations, in methods such as Newton's method, fixed point iteration, and linear approximation. For instance, spacecraft use a variation of the Euler method to approximate curved courses within zero gravity environments.

Last edited by Jabo; Jul 10th, 2008 at 4:04 AM.
Jabo is offline   Reply With Quote
Old Jul 10th, 2008, 7:07 PM   #10
lectricpharaoh
Caffeinated Neural Net
 
lectricpharaoh's Avatar
 
Join Date: Jun 2005
Location: Wet west coast of Canada
Posts: 1,120
Rep Power: 5 lectricpharaoh will become famous soon enough
Re: Need College Help/Advice

Quote:
Originally Posted by MrFroho
what lectricpharaoh says is contrary to everyone else as far as C++ (tho your other advice is very helpful).
If you read my whole post, you should realize the first bit (about using COBOL and FORTRAN over C++) was entirely tongue-in-cheek. C++ happens to be what the vast majority of commercial games are written in these days.

I also suggested C# because it's a nice little language, and easier than C++ in many ways. If you want to use DirectX, you will probably find 'managed DirectX' (now XNA) to be easier than native DirectX, so you can still do some pretty impressive 3D stuff in C#. Granted, it might not be as high-performance as native C++ stuff, but unless you're really pushing the envelope (hard to imagine for a beginner), you're not likely to notice any difference. Developers are starting to use C# for game development more and more, simply because the development cycle can be significantly shorter (faster time-to-market == more money overall).

As far as people's suggestions for other languages, these have merit as well, because even if you pick a language that's regarded as 'slow' and not suitable for performance-intensive games, they can still be excellent teaching tools, and you need to learn to program before you can write something as major as a game.
__________________
And once again, Probability proves itself willing to sneak into a back alley and service Drama as would a copper-piece harlot.
- Vaarsuvius, Order of the Stick
lectricpharaoh is offline   Reply With Quote
Reply

Bookmarks

« Previous Thread in Forum | Next Thread in Forum »

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
College Prep ReggaetonKing Coder's Corner Lounge 20 Jan 2nd, 2007 12:34 AM
Need a notebook for college thechristelegacy Coder's Corner Lounge 12 Oct 18th, 2006 1:19 AM
whats the best college 4 me? crazykid48x Coder's Corner Lounge 9 Sep 22nd, 2005 8:48 PM
College level book recomendations/experiences massive-war C++ 18 May 18th, 2005 3:14 AM
got a ? about college Short_Stack Coder's Corner Lounge 6 Apr 27th, 2005 2:51 AM




DaniWeb IT Discussion Community
All times are GMT -5. The time now is 1:09 PM.

Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC