Skip to main content
GameDev.net gamedev.net
🔒 Locked 🎮 Unity

A Potential Game Programmer's Guide to a Future in the Industy: Degree Mappings

Started by Daerax May 5, 2005 at 4:42 AM 42 replies 19.3k views
Original Post
Daerax
Daerax
This guide has been read and commented on by actual, respected developers - New Comment by a Digipen Professor. Comments quoted below (with permission) A Potential Game Programmer's Guide to a Future in the Industy: Degree to Skill Mappings Videogames are becoming progressively more complicated, indeed, the level of complexity of these gameworlds is arguably among the highest when ranked with other fields of work. This shows especially in the field of game programming which is amazing in the amount of seemingly unrelated fields it dips and stretches it fingers into. In fact the term game programmer can no longer be assumed to mean the one who handles all the details of making a game concept a digital reality. There are many people with highly contrasting skill areas who work together to make such. I see many posts made asking on which game university is best and often the replies are along the lines of the avoidance of such and the studying of a traditional degree. These replies are correct, not because of any lack of teaching in these trade schools (in fact one may argue a higher quality of teaching in these) but rather, the certainty with which they pave into or require of one's future. For reasons I shall address later careful thought is suggested before entry into such pathways are taken. However, for now, more important is the fact that people rarely point out which degrees map best to the area of programming the questioner is most interested in. This is what I have attempted to do, any corrections of errors and suggestions are most welcome. Myself, I am not in the game industry and so my terminology may be incorrect and there are probably more levels of division of game programmer than I gave. I do not read extensively on the game industry or even the software one, much of what I say is based on thought and logical inferences; the post may reflect that. Any corrections as to these would be most apreciated. Also in the spirit of an enlightened discussion I ask that all those who disagree with my mappings give reasons, many, including me, would be able to learn from the differing reasonings. Also, iff you can spare the time please PM me telling me how I did, this will be most appreciated, especially if you have direct experience in this stuff. I plan to obtain a PHD in some area of theoretical physics after I recieve my regular degree [now in Mathematics :)]. Being able to extrapolate on area I have little first hand experience in with indirect reasoning and come to remarkably accurate conclusions is a skill I need to have a lot of points in. [grin] Most Appropriate Degrees:
(1)	Electronic/Computer Engineering
(2)	Mechanical Engineering
(3)	Software Engineering
(4)	Mathematics – with Emphasis on: 

	 (a)	Computational Geometry
	 (b)	Dynamics
	 (c)	Nonlinear Dynamics
	 (d)	Number Theory - This is retained due to the fact that a good grasp of Number Theory allows for the creation of Good Algorithims
	 (e)	Other Higher Level Math - Graph Theory,Topology,Logic, Statistics and Probability Theory and Discrete Maths
         (f)    Traditional High Level Mathematics - Linear Algebra, Vector and Differential Calculus etc.
         (g) Computational Mathematics<Sup>1</sup>
	
(5)	Physics - Focus on classical phenomena , also has 4.f,4.b, 4.e and 4.f.
(6)	Computer Science
Jobs and Mappings A note on notation: I asterisk the areas in which I am most unqualified to speak on. Where one asterisk signifies passing familiarity and 3 signifies pure speculation. The Degrees It is important to realize that a degree only shows you the tip of the iceberg, most of what you learn will be after you graduate and you learn the various methodologies more specifically and how to actually get things done Electronic/Computer Engineering Electronic Engineering is the study and use of various steady state electrical components such as diodes and transistors; the behaviour of capacitors and inductors are also studied. The creation of circuits that perform various task (i.e. signal filters) are learned. Digital logic operations and digital circuit creation is also learned. Most of these seem useless to game programming and indeed are. The useful portion is that as an electrical engineer you will be doing a lot of waveform analysis and digital signal processing (you won't be doing the actual processing of course), the Fourier transform (among others, Z, Laplace) will become your good friend. Various programming languages for embedded devices are taught, the word microcontroller will have much meaning in your life and you will realize that there are far more 8 bit processors with 4K of RAM total available than 2ghz Pentiums. These techniques and the closeness to hardware lend themselves well to a Low level audio programmer: the guys who write directsound. Al is also a good field where such techniques may prove useful. Mechanical Engineering* In mechanical engineering one learns about the mechanics and nature of various objects and materials. Statics, rigid body dynamics, fluid mechanics, kinematics and dynamics in general etc. are all studied. The mechanical engineer learns about the stresses and tensions and how they apply to the materials they use to design cars, planes, and pipes. Mechanical engineering lends itself most to Physics engine programming. Computer Science vs. Software Engineering* The difference between Computer Science and Software Engineering is relatively unknown and misunderstood. This is not surprising when one realizes that even among practitioners of the subject the differences are still unknown, this can be seen in that there are still conference papers being written to establish a difference in said areas. One can say the fields software engineering and computer science are having identity crises so to speak. Nonetheless there is a distinction that is emerging or perhaps already crystallized within the practitioners of the field. The general conception is that computer science relates to the study of algorithms and the usage of different languages and programming models to create software. Software engineering is viewed as some esoteric black art. This is very much not the case the definitions given for computer science should in principle relate most to what is software engineering. Computer Science is a general area of study and is the science of computation. Indeed it is safe to say that much of computer science does not even need computers. Many abstract and discrete mathematics are studied, the linguistics of language and the axioms of mathematics are looked at. One studies theoretical possibilities of the computability of certain problems and the design for the design of compiler systems are laid down here. Computer science is a very abstract area of study and relates more to mathematics than software engineering or even science. I see software engineering as being to computer science as Electrical Engineering is to Physics. In engineering one has a task and the completion of this task is more important than the elegance with which the task is approached. I see often people complaining that fresh computer science graduates placed in a programming job perform very poorly at it. They know not where to start and the designs when done are not implementable on any machine for the next decade or two due to their complexity and brittle design. An engineer must build things that are durable, tested to resist various stimuli and environmental stresses. The distinct lack of software engineers speaks greatly on the seeming problem in the software industry. A mathematician would certainly not be able to design bridges with the same level of practicality as a civil engineer. Why expect the same of a computer scientist? A software engineer would study and apply the various results obtained by the computer scientist to practical purposes. The design of efficient infrastructure through the study of useful algorithms and software techniques and practices to create the most durable software is emphasized. This is what most people have in mind when they say programmer and not the computer scientist. Emphasis on language is less important than the application and understanding of a set of proven paradigms and techniques. The importance of the use of established tools to increase productivity vs. reinventing the wheel is emphasized. This degree lends itself well to game (mechanics) programming, tools and general programming. Mathematics This is arguably the most versatile degree one can study. It has applicability in many fields, including areas as diverse as physics, cryptology, economics, psychology and Computer Science. In mathematics one learns how to create, study and argue about extremely abstract concepts that have no applicability whatsoever in the real world, at least not for hundreds of years. The occurrence [of applicability] of which upsets them greatly. In math you study such areas as number theory and the pattern and behaviour of numbers. The words fields, rings, space and manifolds mean something completely different to you as compared to the world views. Any one who asks you what a number is in for a long 2 day talk that ends inconclusively. You learn about the rate of change and the rate of change of that, you also note how steep that rate of change is. In computational Geometry the most relevant portion to video games after linear algebra you learn how to represent object and surfaces with various polygons and perform effects and various deformations on them. The degree in mathematics is most beneficial to the physics researcher. The 3D graphics researcher will also benefit from the degree. Physics Quite surprisingly the degree in physics does not by necessity lend it self well to the physics programmer. In fact it does a vary bad job of mapping, mechanical engineering does a far better job of preparing a physics programmer. The field of physics is a vast one indeed and covers a great many topics. Even the computational physics, with exceptions on standard tools such as methods of integration, differential equations, approximations of curves etc. have little to do with what one would call physics programming. A student who focuses most on classical mechanics would be most prepared knowledge-wise in terms of physics. Quantum mechanics, electrodynamics, nuclear physics and high energy physics do not prepare one well for a job as physics programmer. Much of what is learned however is of applicability to the 3d graphics programmer, especially the study of perturbations, scatterings and the Monte Carlo approach in computation. Indeed the mathematical tool spherical harmonics dates back at least 200 years and was (and is still) used in physics before graphics programmers [mis]appropriated the word and buzzed it about for a while. Computational Mathematics Since I know little of Computationl Mathematics I will simply quote a respected industry member: "This involves creating algorithms that are inherently mathematical, but paying attention to the problems that arise when computing with floating-point arithmetic. A note on Specific Degrees: Game Programming, Computer Graphics and AI, Good for Masters, Unadvisable for Bachelors. Most universities offer a masters in Computer Graphics and AI. In such you are able to extend your undergraduate studies and also raise your level of expertise to another height; coupled with work experience such an attainment will raise you a good bit over the competition. While there are a few universities which offer dedicated undergraduate degrees for AI and graphics these are advised agaisnt for their narrowness of focus and a risk/problem of overspecalization, indeed there is little chance that there does not exist some combination of established degrees which address such. For example, in AI depending of the type of job wished, a combination of Mathematics and Computer Science or Software Engineering, where there is focus on AI related subjects throughout the undergraduate years is more than good. In computer graphics or game programming Mathematics and Software Engineering with focus in such areas as Computational Geometry and Numerical Analysis will leave anyone more than able to implement all modern techniques. Further Education: PHD vs Masters A PHD is not advised or even for everyone. A doctorate is usually advised to people who intend to teach at the university level or persue intensive research. The problem is that many regular hirers will see someone with a doctorate as overqualified and sometimes (probably wrongly so) as far too specialized. While this may sometimes be the case not all people with a doctorate have so focused theirs study as to seemingly know a great deal about a little bit. Nonetheless a masters is advised as it shows the holder is capable of basic research and motivation and also posessed of a goodly amount of knowledge. A masters typically takes one to two years versus the inordinate amount of time for a doctorate. Field experience is paramount and so getting out and gaining experience is quite important if you wish to work as a programmer. 1 Inclusion suggested by a prominent industry member who was kind enough to review this work.
The Engine Programmers 3D Graphics Programmer - Software Engineering (3) with a minor in Physics (5) or Mathematics (4.a, 4,e, 4.f and 4.d ) suggested A 3D graphics programmer is the person who allows the visualization of the worlds to be as close to reality as technologically possible. There are many methods to achieve this the most popular of which are ray based and triangle based techniques. Currently the method where triangles are projected onto a scene with various techniques (lighting, transformations etc.) performed on them to make them represent the real world. People often feel this methods are hackish (especially in areas related to illumination) in nature and much prefer the less real time raytraced visualizations. As technology progresses the combination of both techniques will begin to be more common. 2D Graphics Programmer - Software Engineering (3) These people used to be the people in charge of the visualization process until the 3D revolution. The job more or less involved displaying images held as arrays of bits and performing various tricks on them to achieve effects. They are no longer common and such is often now relegated to UI etc. programming. Even the 2D techniques used there are different being triangle based and not pixel tossing. With the growth of the mobile gaming industry however the return of the 2D Graphics Programmer is eminent. Standard Software Engineering should prove sufficient for this job area. Game Audio Programmer*** - Software Engineering (3) with a suggested minor in physics (5) I know little on audio programming but feel that there are at least two levels of audio programming. The game audio programmer often makes use of various API to play sounds. Various techniques are used for the creation of the effect of position and the location of sound. The various sound effects are attached to objects and tied together to give a more natural feel to the environment. Audio programming is often overlooked and there is a movement to make audio more than just stuff that is triggered by graphics, i.e. the creation of a more natural environment vs. the effect of click or walking into an object. Understanding of the various file formats and audio hardware is a requirement. Software Engineering is the most relevant degree although a bit of physics may prove useful for the proper emulation of the physical behaviour of sound. Low level Audio Programmer ** - Electronic Engineering (1) The low level audio programmer deals with the signals coming into the sound card and how they the hardware handles and translates them. They often write drivers and interfaces to the sound hardware and are quite hardcore. The most relevant degree would most likely be Computer and Electronic Engineering. Network Programmer *** - Communications/Computer Engineering, Mathematics The network programmer writes and designs the structure and communications framework by which multiple applications can communicate through over a network. The programs communicate with packets of a certain size and the topic of synchronization is a most important one, especially when dealing with physics. A degree in software engineering or maybe computer/communications engineering is useful. A minor in mathematics is suggested. Physics Programmer - Software Engineering (3) Mathematics (4.a, 4.b, 4.e and 4.f) or Mechanical Engineering with a focus on CAD The physics programmer's job is to add another level of realism to the game programming world. This is focused in making things fall properly and also move realistically. After the rigid body dynamics where the concept of a set of rigid points are studied when a velocities and forces are applied to the them the idea of springs is very important to the physics programmer. Cloth, ropes, jelly are all modelled using springs (actually the use of springs as a representational tool is not limited to game physics and finds much employment in various areas of general physics as well). Using a numeric integrator such as the Runge Kutta Integrator to solve a set of differential equations (i.e. non driven case: ma = -kx - bv) which describe how the spring(s) behave(s). The topic of Computational Geometry in mathematics also finds use in the area of dynamics , representation of objects and collision detection. AI ** - Mathematics (4) or Computer Science (6) with a minor in AI or neurology, if such a combination is possible for Researcher and Software Engineering (3) with a Mathematics (4.c , 4.e and 4.f) minor for programmer The field of AI involves the attempt to create technologies that gives various computational devices a semblance of intelligence. It generalizes to the goal of creating general thinking devices that are able to solve various problems without prebuilt responses. Or at least give an image of expertise and thought without a database of stimuli responses. This is also generalized to the recognition and various scenarios of objects and reacting within a general framework. The idea of a system which learns and evolves on its own is most important. With games the focus is in an attempt to create seemingly realistic behaviour in the actors cheaply. The esoteric and costly methods of proper AI are often eschewed for a more mathematically simple approximations. Mathematics is important for this degree and although some universities have pure AI degrees these are advised to only those who wish to do intensive research. A software engineering + AI minor (specfically, a set of classes with emphasis in the Artificial Intelligence branch of study) combination should do for most cases. The Game Architects Lead Game Programmer*** - Software Engineering (3), maybe Computer Science (6); While not necessary Mathematics (4.e) may prove useful The lead programmer's task is as a driving force and the maintenance of a cohesive structure between the various programming groups. The lead programmer designs the generic framework and guidelines all the groups must adhere to. There is much skill required and when done correctly should prove to be highly stressful. Tool and Misc. - Software Engineering(3) The tools programmer is the hidden part of the development process that is often overlooked because of its vital but transparent necessity in the creation process. The tools programmer serves as a go between the various areas by creating various tools and formats for the use by the game. Various tools would include a world editing tool, character editor, scripting language and editor, sound graphics and many other tools that are required for the making of a game than can be mentioned in a single page or ten. Gameplay etc. Programmer/Architect(s)* Software Engineering (3) The gameplay programmer is the traditional programmer that comes to mind when one envisions a game programmer. These were the days when 95% of the programming work was involved in gameplay. The gameplay programmer no longer holds a monopoly on game development but nonetheless still arguably has the most important job of properly conveying the imagined feel to the player. The game play programmer does all the things that affect how the game is played and experienced. Things such as battle mechanics, health and its representation puzzles etc are all handled by the gameplay programmer. A degree in software engineering is most important.
Why a Degree in Game Programming is suggested for only those with the Strongest of Hearts - In other words: Be sure in your Certainty It is unfortunate that the greater populace considers game programming a fake job, one composed of directionless individuals who need to grow up and do some real work. This is far from the case. Game programming is one of the most complex fields out there. A degree in game programming is highly advised against unless you are most certain of your path for the following reasons: (1) It is similar to a tattoo in that it locks you into a future that will be difficult to change if your interests ever shift. (2) It is new and so the methods are untested and still in the experimental stage. There is a distinct lack of structure in the method of knowledge transfer that can be seen in the more time tested degrees. (3) The experts of the field are largely self taught and so are more likely to teach their methods than generic ones useful to different modes of thought. (4) The working conditions of the game industry is reminiscent of those of factories in the late 1800s and early 1900s. The structure, at least from the outside seems very un-cohesive and the publishers seem most abusive. The job is stressful and relatively low paying for the amount of work done and expertise required. It leaves you drained and unable to do anything else. To really make it you will have to live for games and little else. Consequence of Listed Points Quite often in the middle of a degree you will find often that it is not all you wished it to be. If you are in a Games Based University such a switch would be most difficult and so if you are set on such a degree consider doing so from an accredited or more established university. Studying for a general degree is suggested and probably more respected even in the games industry as the people know what more to expect from a person who has attained such due to the age and standardizations achieved in these programs. Also the game industry is it seems, quite saturated and you will probably need a few tide over jobs till you can find a position in that industry. A general degree leaves you with a greater range of options and a higher pay of jobs to select from. Indeed, quite often you will find yourself taking a pay cut to follow your dreams as you change industries. Also, because of (4) you may burn yourself out in the game industry. The dedication, constant immersion and lack of time for other more relaxing activities may prove to be too much for some. With a more well known degree it should prove easier to exit the game industry. (2) will make it so that one with a games degree will need an incredibly impressive portfolio to switch into a well paying job in another industry, the level or nature of complexity of your various undertakings will be over the head for the recruiters of those in another industry. Your accomplishment in the game industry most be very visible. Such a focused degree places a great deal of pressure on you and narrowlines your path. Also, Ill emphasize, it is not that game development is especially stressful (it is, but arguably not overwhelmingly so) , rather it is that most people enter it with wrong preconceptions as to how things are. This disillusionment is the worst aspect and the true killer. These reasons outline, more or less, why a generic degree should be attained. I hope this has proven useful and plan to extend this to the more artsy portions of game development. Suggestions and comments welcome. Well firstly I agree with your conclusion that game development degrees should be avoided unless you really don't want to do any other subject. I don't think they offer you any advantage of getting into the games industry than any other degree, and would hinder you in finding work outside the industry. That said, I wouldn't rule out a game development degree completely. My advice would be for the person to take whatever degree they feel they would enjoy most. There is surely nothing worse than spending at least 3 years learning about a subject that you couldn't really care less about. Plus you are far less likely to do well in it if you don't enjoy it. I think doing a degree is a bit like working in the games industry, you have to really enjoy it if you want to do well. Both require you to study and work in your spare time, and if you aren’t committed, you wont get very far.
Comments from those in the industry: - 3 comments, Left Anonymous for respect of Privacy Comment 1 of 2 "I think your post is correct in the degree mappings, and certainly highlights the fact that you can pretty much fill any game development position with one of 5-10 traditional degrees. Personally I am a Physics Programmer with a degree in physics, and I find I use about 5-10% of the material I learnt during my degree. I don't really think it’s the material that you are taught that is most important though, it is the skills that you acquire during a degree. Skills like the ability to sit down and solve a problem, and research a topic on your own. All of these are important in the games industry, as you will be doing most of your learning in your own time. I think the main thing employers look for in the games industry is, in the words of the guy who interviewed me for my current job, people who "give a shit". This generally means people who have done game development in their spare time. They also want people who wont need their hands held all the time, they want people who can solve problems and learn for themselves. Most companies can't afford to have another programmer train up a new graduate, they just don't have the resources to do it. A solid degree in a traditional subject pretty much guarantees the graduate has these skills." ---------------------- Comment 2 of 3 "Generally, I agree that folks wanting to get into the games industry should get a standard university education, not a degree from a "game university". I'd prefer to see regular universities provide general training with the option to major in some field in the games industry. What I look for when interviewing job candidates are skills in analytical reasoning, knowledge of software engineering, and experience working on a large code base with a team of people. Regarding mathematics training, Number Theory is one field I have used nothing from in the games industry (and I started out in graduate school in this field). Probability and Statistics, although important, are not something you see on the graphics/physics side. Maybe you do in AI, but I am not an AI person and cannot comment about this. What is missing from the list, and is usually not separated out as a separate topic from the general topics covered in Computer Science is what I call "Computational Mathematics". This involves creating algorithms that are inherently mathematical, but paying attention to the problems that arise when computing with floating-point arithmetic." ---------------------------- Comment 3 of 3 "It annoys me to see so much disinformation circulating on these boards. Before I even start, I think it is important to recognize my bias: I am a scientist, a researcher, a coder, and a professor at Digipen. I feel personally motivated to write down a few words about the program. I'm not doing this for job security as I could work teaching my subject at any number of small private schools. I am doing this for the students currently in the program that will someday look for a job at a company or a position in a graduate school. I owe it to them for the pain I put them through. Digipen has a difficult curriculum. It would be substantially easier to study computer science at most big-name universities. The graduation rate at Digipen is low, hovering just above 50%. Most private schools graduate just over 60%. The median (50th percentile) incoming freshman at Digipen scored 1310 on the SAT last year (2004). Combine this fact with the previous paragraph, and you'll see that the caliber of the outgoing student is going to be high. Digipen has even had graduates from other prestigious universities (Oxford, Princeton, others) come to Digipen for a second *undergraduate* degree (before the master's program was offered). The education at Digipen is not a standard trade-school education. The goal at dP is to drive the industry by educating the game creators of tomorrow, not to provide brainless monkey labor for the code mills. Look at the curriculum and compare it to other 4-year bachelor's degrees (UW, MIT, Stanford...). http://www.digipen.edu/programs/degrees/rtisbs.html That's a minimum of 7 (semesters of) Math classes, 18 Computer Science, 4 English, 2 Physics, 2 Art, and many electives. That averages to almost 1 math class per semeseter for all 4 years, and over 2 CS classes every semeseter. Add to that math-heavy CS curriculum 8 semesters of game projects, and you have Digipen. In these classes, we don't pull punches. We only pass the students that we feel have truly learned the material. Comparing teaching classes here to other large universities, the students here work harder, learn more, and complain less. They tend to be unabashed geeks who are interested in the material because they know they will have to use it. I don't get any whiny premeds complaining to the dean about their (*&^(! B that they got. Those students that graduate from Digipen, most of them (more than 70%) get jobs in the game industry *within 3 months*. There are a number who decide not to program games and take up coding jobs at Microsoft or other companies. Some graduates decide to take a vacation after graduation. Some go to graduate school for CS (NYU and others) after graduation. I personally have had non-game software developers request lists of students. This year (Class of 2005), Digipen had more than 50% of its senior class signing contracts *before* they graduated. Even today, Digipen had an employer calling and asking for more graduates (arenanet looking for more like the six dP graduates they already have). There are a few graduates, particularly some of the ones with the AS (2-year degree) that we used to offer (before we started the Master's Program), that are not ideal candidates. You will find this from any school. If you represent a game company trying to hire a Digipen graduate, and you wait until well after graduation, you will be missing some of the best students. Take a look at some of the games that Digipen students have won awards with in the past: http://www.digipen.edu/programs/gallery/games/award.html This next year, there will be even more award-winning games (they will be up on the website in the next few months). These are games built up from scratch by students, using tools that they write themselves. Even the graphics are done by students as well (although some have art student teams working with them). For the students-- Digipen is NOT for everyone. I would only recommend Digipen RTIS if the candidate: 1- is determined to make it in the games industry. 2- has excellent logic skills 3- is able to handle a low-female cross-section for years 4- is able to table obsessive playing of games 5- is ready for 4 years of 12 hour+ workdays 6- can work in a team as a team member 7- realizes that education is about your knowledge, and not what peice of paper you earn. 8- is an unabashed geek 9- can tolerate the 'freshman funk' of a few too many unbathed students If you can make yourself write your own games from scratch, or have a reliable team, and you either go to a well-known institution or can self-educate (Gates), then you can save money from not going to Digipen. An informative anecdote: One of the soph. projects this year required the team to apply methods of integration at a higher level than they had learned (there are some junior-level classes on that here). The team overcame a series of problems to make their game (Ivar's Adieu) successful and gave a talk at the University of Washington to the juniors and seniors at the applied computer and mathematics department there. They will be giving a talk at the northwest regional mathematics conference in the fall. To game companies that toss Digipen's applications aside: do so at your own loss. Right now, Digipen is not hurting for placing candidates in good jobs. I hope that, in the future, all companies will take a fair look over the resume and portfolio of Digipen students. Even better, I would invite those companies that are tempted to ignore dP applications to come out to Digipen and take a look. You won't see flashy neon lights or beautiful brick and glass. The campus doesn't look fancy-- that would be a waste of student money and it would attract the wrong crowd. Digipen isn't about the looks, it's about the performance. Digipen doesn't exist to make a profit on the game industry. Digipen is here to support the industry and give it direction. If you are part of the industry, and you have comments for Digipen, they want to hear your opinion."
Related and Interesting Threads: (1) A thread on "Employee Rights in the Gaming Industry" (2) Discussion on the difference between Software Engineering and Computer Science and Obtaining a Masters vs. Gaining Experience (3) A thread on what to learn to enter the graphics programming area of the industry Highlight Post
Quote:
Original post by hplus0603 I help hiring at the place I work, and here's my take on what would help you: College won't teach you the skills you need in gaming, by and large -- and the colleges that do (Full Sail, etc) don't really teach you much else that would be useful in life. I suggest taking all the math you can. It also helps to take signal processing, and classic "hard" CS subjects like systems architecture, operating systems, etc. An understanding of the other sciences (physics, etc) as well as EE will also come in handy -- especially if you take signal processing. Then, spend your off time working on gaming projects, and learning real-life programming on your own. Join an opensource project, and help out. It doesn't matter if it's games or not; it matters more that it's active and has a developer community that discusses the code. The best way of learning is to read other people's code. Get in under the hood wherever you can. In the final year, write a demo of some sort. Don't go overboard; pick something simple like an Asteroids clone. Don't over-design it, but also don't hack it up. Make SURE it runs well on a variety of hardware, because someone looking at it will give it a double-click from a CD or downloaded ZIP; if it doesn't work, it's in the trash.
(4) A thread on Universities vs. Tech Schools Highlight Posts
Quote:
Original post by lukeyes Hi, This question comes up a lot. And I don't really know the answer. BUT, I work for a medium-sized developer, so hopefully I can give you some information, and let you decide how it weighs into your career path. Where I work, almost all the artists have gone to an art school. Mainly the Art Institute of Seattle, as companies tend to hire artists locally. Also, referrals are a BIG thing in the game industry. So when one person comes to a company, when openings come up, they tend to get filled by friends and acquaintances. However, I will warn you that having a friend in the industry is not a free ticket to a job. You MUST be talented and hard-working. Now, personally, I'm a programmer. And programmers at my company run the whole gamut of life experiences. There is a large percentage of people who never even went to college, or if they did, did not finish college. There are also a few people from the game-specific tech schools. I work with people who came from both Digipen and Full Sail. Out of those two, even the guy from Full Sail even says that Digipen is a better school. Both of these guys are pretty knowledgeable about what they are doing. However, the guy from Digipen is a PHENOMENAL coder when it comes to coding under a deadline. Part of it is the guy's talent, but from asking around, Digipen really trains people for the industry. I, on the other hand, am one of a few who went to university. Actually, I went to both a tech school and university. Tech school really trained me to easily get an IT job straight out of school, but it did NOT train me in anything gearing towards games. Also, I found the quality of education lacking at tech schools. I would skip class, get A's on tests and assignments, but get B's overall because attendance was worth 40% of your grade. This meant, that you could get a 60% on everything, and only do slightly worse than someone who showed up half the time but knew what they were doing. Also, it meant that you could show up and pass, basically. Their excuse is that they were training you for working in the real world. But from what I've seen, this is BS. Money is a much better factor in getting somebody to show up to work on time. And the games industry is much more lax on hours. They are much more about what you can do, not how you do it. University did not teach me much about games, BUT, it gave me broad skills towards problem solving, analysis, and ability to learn new things. I feel that these skills are ESSENTIAL when doing professional game development. When I first came to the industry, I had some good homemade demos under my belt, PC and GBA stuff, but I quickly learned how much of a n00b I really was. I am challenged and learning every day. And I feel my university education brought me to that. Believe it or not, I believe that the non-CS courses, such as music, art, history, and language, developed those skills much better than my CS courses. I think that if you have to learn to do well in the things you are not good at, you become that much better in doing the things you ARE good at. I hope that made sense. I hope this helps. The most I can say, is that the industry is much more about what you can do. Don't expect a degree to give you smooth sailing. Breaking into the industry is a mixture of hard work and luck. If you want to make games, make games. Whether it be making mods, programming homebrew on the PC or console (Dreamcast and GBA), etc. Good demos speak wonders. And get involved. Join the IGDA, volunteer at the GDC, stay active on boards. We've all been there, so when one of us actually makes it, most of the time, we want to bring our friends along too. Good luck man, and I hope to be seeing you on the other side someday.
Quote:
Original post by Ikana As someone who is about to get a degree from a tech school, I strongly recommend that you take the university approach. There are a number of problems that I've had with the tech school that I am attending. The credits are, in my experiences, completely non transferrable to non tech colleges. The overall quality of education is poor. I had never considered the possibility that the class book and final exam could directly contradict each other on several questions. The books contained innumerable errors, (mostly factual) very poor indexes, and blocks of text written in a bizarre and irrelevant style. Our English book was called Carry On Writing. What does that even mean? I certainly never read it. All of this combined to make earning good grades an exercise of searching the books so you can figure out which particular wrong answer would earn you points on the test. The grading system quickly devolves into a matter of who wants an A so bad that they'll read those books for hours and hours to do well on the tests. But even if you aren't, it's ridiculously easy to get good grades at this school anyway. The person with the worst grades in my class has a 3.0. You can have a 4.0, though, if you're willing to put a lot of time into learning things that aren't even true. Obviously the teachers are very important. I'd say about half of the teachers I've had are very good, and half of them are very bad. The very good ones deserve mention, they shared career experiences and supplemented the lectures with their own thoughts, and I've learned good things from them. The ones that are bad though, are very much so. One of them would start casual conversation during the final exams, several of them condoned and participated in pornographic discussions in the classroom, sometimes they just read the book for hours because they have no clue what they are talking about, and during the lab portion of the class they would disappear for hours. Like I said, there are very good teachers and very bad. Not a lot of middle ground. The equipment was often in poor condition and the network was often down. I did learn some things, but I suspect that everything that I've learned there could be compressed into a month or so of quality studying. One thing that really deserves compliment is career services. I've had very good experiences with them and I've learned a lot. They did an excellent job preparing us for things like interviewing and things like that. I suspect that the purpose of these schools is to train people who are already working adults for a different career. I think that the whole system is designed to churn out drone workers that have no desire or curiosity to really learn something. And at this it comes close to succeeding, if not for the very bad half of the teachers and the books. I would certainly not recommend this route for learning game development. If they can't teach simpler things, I have no idea how they would be able to teach game development. I doubt you'd learn much, and if I were hiring for a game company, I wouldn't hire anyone that has a game development degree from a tech school unless they are just incredibly talented, but perhaps that opinion is uninformed. Well, while I'm at it, here's another uninformed opinion: I think that you should pursue something like computer science or art instead of a game development degree. You're probably going to need to learn a lot of things that aren't game development specific anyway, things like math, algorithms and data structures if you are a programmer. I think that these game development courses are becoming popular because a lot of people want to make games but they are unwilling to do a lot of work for it. They want to do the bear minimum. Maybe that's not true at the dedicated game development schools, I don't know. And besides that, if you get a more general degree at a university, you can do a lot more with it. What happens if you find out that you don't want to make games for a living after all? A completely different type of software company probably wont take a game development degree as seriously as, say, a computer science degree, especially if the game development degree is from a tech school.
[Edited by - Daerax on January 13, 2006 10:07:19 AM]
violetann
violetann
you've left off computer games programming degrees :) computer science is a bit lame unless you can stand mother loads of hardware and networking. Learning the difference between typologies in networking and why a rooter and a switch are different and other stuff like that is far more than I really want to know. since I’m doing a btec national diploma in IT at the moment it's a lot better than A-levels it's equivalent to 3 a-levels and you do it on one area i.e. IT which means you get more in-depth in one subject unlike A-levels where you might do IT, history and something else. Etc.
personally I’ve learn just as much as I want to about hardware and have got enough electric shocks from them (never where jewellery when fixing a pc even if it is off and unplugged >.<)

Stafford uni - computer games programming degree
http://www.staffs.ac.uk/courses/undergrad/computingandit/tcm11012864.php

Wolverhampton uni:
http://asp.wlv.ac.uk/CourseFinder.asp?id=11118&type=1

These are ones I applied for, yet data scope’s gateway to games has a list of uni's doing degrees towards game's.
http://www.datascope.co.uk/gateway.html under game courses
overflowed_
overflowed_
Then again, it never hurts to know different network topologies and the difference between routers and switches. An IT degree you say? Hm...
-----BEGIN GEEK CODE BLOCK-----Version: 3.12GCS/M/S d->+(++) s+: a19? C++++ UL++ P+++ L+ !E W+++ N+ o++ K? w!O M-- V? !PS PE Y+ PGP t++ 5+++ X R tv+> b+(++)>+++ DI+++>+++++ D++G e>++++ h! r y?------END GEEK CODE BLOCK------
WillC
WillC
Quote:
Original post by violetann
you've left off computer games programming degrees


I think the last section entitled 'Why a Degree in Game Programming is suggested for only those with the Strongest of Hearts', covers this very well.


Great post Daerax BTW.
violetann
violetann
Quote:
Original post by overflowed_
Then again, it never hurts to know different network topologies and the difference between routers and switches. An IT degree you say? Hm...



give me a brake i'm not a very good speller... since i'm dylexic. and who realy want's to know what level of the layours of the OSI model they work at anyway since are teacher said none uses it out side of collages and uni so why they teach it you i dunno. yep i know that as well they work diffrenly depending on the network one my work better since the one only transmits to the chosen computer it needs to go to when the other sends it to all and that pc works out if it's needed.. anyway i'm not on my degree yet i'm going to do in september.. still at collage at the moment.
violetann
violetann
Quote:
Original post by WillC
Quote:
Original post by violetann
you've left off computer games programming degrees


I think the last section entitled 'Why a Degree in Game Programming is suggested for only those with the Strongest of Hearts', covers this very well.


Great post Daerax BTW.


strong hearts? you think i have put up with sexist remarks, sat though people saying i'm dumb i can't do it cuse i'm dylexic and yet it got a distiction in my IVA.. which is incredably hard to do, and i'm on my way to get a DDD in my btec which is like getting all A's at A-levels (well if theirs *A's then its that but i don't know if they have A's or *A's) and i'm learning C++ in my spare time when most people my age don't even know what a complier is? and yet i am trying to join volenteer groups like girlsingames and yet your coming and saying i don't have stong heart? i might not like hardware i can do it and get good grades at it but i get board if i have a choice you might as well do a degree which intrests you.
no affence but i was just stating that their was those degrees you shouldn't judge people by what you think that have done and how much you think they are stonge of heart.
intrest86
intrest86
...

Calm down, this thread was not made with the express purpose of insulting you. Daerax makes it very clear that the major problem with Game Programming degrees is that they have little respect, meaning that if you ver need to get a normal job like Web Programming you might be turned away for a "fake" degree.
Turring Machines are better than C++ any day ^_~
violetann
violetann
Quote:
Original post by intrest86
...

Calm down, this thread was not made with the express purpose of insulting you. Daerax makes it very clear that the major problem with Game Programming degrees is that they have little respect, meaning that if you ver need to get a normal job like Web Programming you might be turned away for a "fake" degree.

i know he got me a bit anoyed by saying i don't have a 'stronge heart'.

as for the whole not going for a game programming degree i chose it since as well theirs no other ones which refer towards user input and programming, the media ones are too arty for me not enough programming and the computer scince ones are not enough programming or user interaction anayalis.
also it is why i am going for a good and long standing uni and a degree which is why you go for a repected uni so they know it's not a 'fake' degree.
BobV
BobV
Quote:
Original post by violetann
Quote:
Original post by WillC
Quote:
Original post by violetann
you've left off computer games programming degrees


I think the last section entitled 'Why a Degree in Game Programming is suggested for only those with the Strongest of Hearts', covers this very well.


Great post Daerax BTW.


strong hearts? you think i have put up with sexist remarks, sat though people saying i'm dumb i can't do it cuse i'm dylexic and yet it got a distiction in my IVA.. which is incredably hard to do, and i'm on my way to get a DDD in my btec which is like getting all A's at A-levels (well if theirs *A's then its that but i don't know if they have A's or *A's) and i'm learning C++ in my spare time when most people my age don't even know what a complier is? and yet i am trying to join volenteer groups like girlsingames and yet your coming and saying i don't have stong heart? i might not like hardware i can do it and get good grades at it but i get board if i have a choice you might as well do a degree which intrests you.
no affence but i was just stating that their was those degrees you shouldn't judge people by what you think that have done and how much you think they are stonge of heart.


I don't think that's what he ment. I think he was talking about an actual article and discounting game degrees as being a valid option.

The degree you describe sounds more like an info systems rather than CS. My CS degree had mostly software engineering and math. The only times I've run into OSI model and other networking related concepts was when I was studying for my MCSE. Which brings up another point that degrees range between universities.
violetann
violetann
i'm not on a degree yet the OSI model is in the btec skema its at collage level not degree i'm studying it at.
Welshy
Welshy
Quote:
Original post by violetann
Stafford uni - computer games programming degree
http://www.staffs.ac.uk/courses/undergrad/computingandit/tcm11012864.php

I should be going there :D

Anyway I think this thread is wrong tbh, if you choose the right modules in your degree then you can get a good understanding in programming in general, in graphics, animation, my degree even has some modules on how to set up your own business.

So if you have done some reading and broadened your horizons then i think a games programming degree is just as good as any other.
Ging
Ging
I think the main point behind the Games Degree section was that you become tightly focused towards games while not having the backing of a solid, traditional degree. He makes completely fair points about being sure that the games programming route is the one you want.

I'm in the final weeks of a Games Computing course in Lincoln and I appreciate the struggle I'll face to find employment, not only inside the industry but also in other programming positions because of my lack of a more traditional degree.

It's the main reason I'm going down the route of starting up an indy dev company with some people from the course - it won't earn us big bucks, but it's all experience in the end!
scott_l_smith
scott_l_smith
The original post mentions that game programming is a new science, but people were programming games before there were monitors! I am a Senior at DigiPen, and I question your reasoning when you suggest that a degree in game programming locks you into a field. It seems that a programmer with a strong background in math (we take every course in your list at DigiPen) and physics (mechanics, statics, dynamics, optics, audio, etc.) and real-time simulation experience isn't locked in, they are well qualified to do anything programming related. The Professors at DigiPen are also well qualified professionals with Masters degrees and PhD's in Electrical Engineering and Computer Science. I am also curious how you developed this list if you have no relation to the industry. Come on...neurology for AI? Have you ever written AI for a complicated game like an RTS? I know a little bit about the brain from family medical history, and it sure doesn't have anything to do with artificial intelligence methods in today's gaming space. Sorry for the rant, but some Game Programming colleges have been around for over a decade...they are not all just fad schools.
intrest86
intrest86
Quote:
Original post by scott_l_smith
The original post mentions that game programming is a new science, but people were programming games before there were monitors! I am a Senior at DigiPen, and I question your reasoning when you suggest that a degree in game programming locks you into a field. It seems that a programmer with a strong background in math (we take every course in your list at DigiPen) and physics (mechanics, statics, dynamics, optics, audio, etc.) and real-time simulation experience isn't locked in, they are well qualified to do anything programming related. The Professors at DigiPen are also well qualified professionals with Masters degrees and PhD's in Electrical Engineering and Computer Science. I am also curious how you developed this list if you have no relation to the industry. Come on...neurology for AI? Have you ever written AI for a complicated game like an RTS? I know a little bit about the brain from family medical history, and it sure doesn't have anything to do with artificial intelligence methods in today's gaming space. Sorry for the rant, but some Game Programming colleges have been around for over a decade...they are not all just fad schools.

Sigh...

Almost all neurology degrees include massive chunks of cognitive science, which is about the processes humans use to process information, and also to relate to other people. Since the goal of game AI is to link up with the player and be believable, this information can be invaluable.

The problem with a Game Degree is nor mainly whether or not the graduates are qualified. Its that the degrees have little respect in the general job environment. When you go to Generic Megacorp to get a job, you will not be reviewed by programmers, you have to get by Human Resources first. The average human resources person is going to not understand what is involved in a "Game Programming Degree", and will most likely assume it involved playing lotsa of games.

Turring Machines are better than C++ any day ^_~
scott_l_smith
scott_l_smith
Intrest86,
I suppose that is why it is important to have a solid resume with the things HR is looking for, and to represent yourself well. I think that in many cases with game programming jobs, your skills and experience should come before your education on your resume anyway. You are right though, HR is just looking for keywords...they don't know what we do. As for the Neurology topic...perhaps you have a point with the cognitive science part. I think psychology would be better with the argument you make. As a side note, if I had a degree as a neurologist, I probably wouldn't be applying for a game programming postion ;) You make a good point, though.
Daerax
Daerax
Quote:
Original post by WillC
Quote:
Original post by violetann
you've left off computer games programming degrees


I think the last section entitled 'Why a Degree in Game Programming is suggested for only those with the Strongest of Hearts', covers this very well.


Great post Daerax BTW.


Thank you, WillC, intrest86, it was not a very easy post to write.

Quote:
Original post by Kazgoroth
Quote:
Original post by violetann
i know he got me a bit anoyed by saying i don't have a 'stronge heart'.


At what point did anyone say you don't have a strong heart. Stop trying to find things to be offended at, there isn't anything here (excepting perhaps the correction of your spelling, which isn't anything major and you apparently have a valid excuse for in any case).


Very nice post Daerax, nothing immediately leaps to mind to improve (excepting perhaps a few typos, but that's a trivial issue - you can always clean it up later), but I'm planning on going through it more carefully before making any further comments.


Thank you, I am looking forward to your suggestions.

Quote:
Original post by violetann
Quote:
Original post by intrest86
...

Calm down, this thread was not made with the express purpose of insulting you. Daerax makes it very clear that the major problem with Game Programming degrees is that they have little respect, meaning that if you ver need to get a normal job like Web Programming you might be turned away for a "fake" degree.

i know he got me a bit anoyed by saying i don't have a 'stronge heart'.

as for the whole not going for a game programming degree i chose it since as well theirs no other ones which refer towards user input and programming, the media ones are too arty for me not enough programming and the computer scince ones are not enough programming or user interaction anayalis.
also it is why i am going for a good and long standing uni and a degree which is why you go for a repected uni so they know it's not a 'fake' degree.


I apologize most sincerely that it seemed that I was acussing you of being posessed of a weak heart violetann. Such was by no means my intention. I assumed that those like yourselves, set on the industry, enduring the various difficulties and persevering in this young and maturing industry would be the ones with the strong hearts. By my logic you have a strong heart. Good luck at your university! My university (of portsmouth) actually has a games only degree as well.

Quote:
Original post by scott_l_smith
The original post mentions that game programming is a new science, but people were programming games before there were monitors! I am a Senior at DigiPen, and I question your reasoning when you suggest that a degree in game programming locks you into a field. It seems that a programmer with a strong background in math (we take every course in your list at DigiPen) and physics (mechanics, statics, dynamics, optics, audio, etc.) and real-time simulation experience isn't locked in, they are well qualified to do anything programming related. The Professors at DigiPen are also well qualified professionals with Masters degrees and PhD's in Electrical Engineering and Computer Science. I am also curious how you developed this list if you have no relation to the industry. Come on...neurology for AI? Have you ever written AI for a complicated game like an RTS? I know a little bit about the brain from family medical history, and it sure doesn't have anything to do with artificial intelligence methods in today's gaming space. Sorry for the rant, but some Game Programming colleges have been around for over a decade...they are not all just fad schools.


The game industry is new, in the older days it was controlled mainly by very motivated and talented individuals. It is only recently that the massive Mega-corporations have evolved. The formal education of techniques in a structured manner is younger even and many universities are floundering in their attempts to get the proper teaching of this most difficulties of fields off the ground. DigiPen is an exception: looking at my university where most people are very dissatisfied with the degree and where the classes are run by the more talented of the students, there seems a distinct lack of cohesiveness that is evident in anything new. I would think most universites just testing out the concept would also suffer from such. Most have not been doing this for 10 years, which even, when compared to those degrees which have existed for centuries, is small indeed. I came to this university to obtain a games degree but had a change of heart within the first month, I did not have what it takes to be one. I am now studying Electronic Engineering and Physics. I assumed that there would be those like me who also would have a change of heart and find themselves in a very akward position if say attending Full Sail. Not impossible but certainlty not the easiest.

With regards to neurology, I meant it to AI in general, especially the research field and as a minor. I imagined that knowing the workings of the brain would prove beneficial when attempting to model it. Such a skill repetoire allows for the creation of more solid and creative solution than those with a programming only degree. As I pointed:
Quote:
Original post by me
...
Mathematics (4) or Computer Science (6) with a minor in AI or neurology, if such a combination is possible for Researcher and Software Engineering (3) with a Mathematics (4.c , 4.e and 4.f) minor for programmer
...
A software engineering + AI minor combination should do for most cases.


Game programming is most unique in that it is a blend of science and art, it will prove to be quite difficult to teach the skills that currently are only attained by the self. I do not know how well Electronic Engineers are teaching at Digipen, they have had a decade to improve their techniques but I am certain that even among the game industry the reception of Digipen graduates varies, at least they hold no greater weight. Considering my degree, would you think me qualified to teach game programming ? [grin] In the wider world, though unfortunate, game programming is considered to be very un-professional. A fun profession that is only fun and games. How amusing, it is anything but such.

I presume that with the young state of things, those wishing to become physicists or mathematicians or Engineers (especially when considering the requirement of being chartered) will find it most difficult to find jobs based on their game development degree. As I pointed out earlier, in such cases the strength of the portfolio is paramount.

This is not meant as a deterence but as suggestion to be confident in your path. By going forward with it it infers your strength.

[Edited by - Daerax on May 5, 2005 11:58:51 AM]
WillC
WillC
violetann, apologies if my post caused any misunderstanding. I wasn't trying to suggest you don't have a strong heart; I was simply quoting the title of the last section of Dearax's post which talks about Game programming degrees, and which (very wisely) points out the pitfalls and dangers of taking that approach to entering into game development.

The games industry, especially in the UK at the moment, is extremely difficult to get into. At the end of your Game degree you will be amongst hundreds of graduates all competing for just a handful of jobs, and only the very best will get them. The rest will be forced to look for jobs elsewhere, where a Game degree is not valued as highly (if at all). This is the harsh reality of life at the moment, and is why (perhaps) more traditional degrees are a much safer route to take.

Hopefully this situation will change in the future.


Daerax
Daerax
Quote:
Original post by Ging
I think the main point behind the Games Degree section was that you become tightly focused towards games while not having the backing of a solid, traditional degree. He makes completely fair points about being sure that the games programming route is the one you want.

I'm in the final weeks of a Games Computing course in Lincoln and I appreciate the struggle I'll face to find employment, not only inside the industry but also in other programming positions because of my lack of a more traditional degree.

It's the main reason I'm going down the route of starting up an indy dev company with some people from the course - it won't earn us big bucks, but it's all experience in the end!


Good luck in your endeavours! It is my hope, considering the state of the indy scene, espcially in the UK, that you suceed. The game industry requries independent developers. I argue that without them it would collapse. Good luck again!
violetann
violetann
daerax, I didn't think you were saying that I didn’t have a stronger heart I misinterpret what willc said,
I though they referring what I said that it was a stupid choice and that I didn't have a strong hearth in it. But I got mistook it by it.
Willc didn’t realise that what you meant, I though you were saying it was a stupid idea.
:)
Alpha_ProgDes
Alpha_ProgDes
That was very informative and this will be bookmarked. I also call on the staff to StickyTM this in the Beginner's FAQ and the School section of the site. Though what you've written is not set in stone, it is still very useful and very doubtful far from the truth.
Beginner in Game Development?  Read here. And read here.  

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.