Advertisement

Turning a Physics degree into Game Development material

Started by September 28, 2016 02:26 PM
5 comments, last by Dirk Gregorius 8 years, 1 month ago

Excuse me if the question is too vague or unsuited for this part of the forums. Anyway, I'm a Physics student currently in my last year, and have chosen an electronics and computing tier of specialty (this isn't a Masters, more of a direction of studies so you can get in the appropriate Masters program). I also am a -for now- hobbyist game developer, working on an adventure game with the Unity game engine.

When I first started a couple of years ago, I thought that I would have to learn everything from scratch before I could use a game engine. Since then, I've found out that this isn't the case - I already have a 3D game prototype up and running with only about a year of experience and not-so-consistent practice. All in all, the game engine is letting me focus on just making the game. But this isn't all for me; I love programming as a whole, it's just this application of it that I find extremely attractive. All in all, I'd like to fine tune my studies in order to have my degree apply in that field; becoming a nuclear physicist or teaching in a high school is no longer that lucrative in my mind.

The courses that are offered in my tier are both about electronics and software. I have subjects ranging from Analog Circuit Design to Computer Architecture and Digital Design. The Masters program of my school is actually taught by the same professors and builds heavily upon those principles. In the end, I'd like to have a general knowledge of how computers and consoles work on the spectrum of games (hardware, low level graphics programming, memory management etc.) and gain enough knowledge in software engineering too.

Thank you!

The question is indeed vague! If you are asking which of the courses you should take to learn the things you mention, we can't answer without seeing the course syllabuses. Generally speaking you will want software engineering classes as a priority, with computer science as a secondary choice - electronics knowledge is less relevant in the industry. You may also want to opt for any courses that offer C++, if you're interested in the mainstream games industry, as knowledge of that language is almost mandatory. For mobile or web games however C# is a good choice.

Advertisement

Thank you for your quick reply. My mistake, that was not my question, which courses to take; instead, I wanted to know if the general electrical/computer engineering route was complementary to game dev as a whole. C++ is actually the language I was learning before I started using Unity and C#, and I'm glad for that as the too are extremely compatible with each other.

Generally speaking you will want software engineering classes as a priority, with computer science as a secondary choice - electronics knowledge is less relevant in the industry

You did shed some light here, to be honest. I mentioned hardware because I find low-level stuff (for example, graphics drivers) to be closely related to the hardware architecture, and I assumed that knowing how the device was laid out on a physical level is relevant to its software implementation.

If you can take programming classes then that is relevant to game development, sure. The electrical engineering side, not so much. And as the programmable pipeline has become more important the physical characteristics have become less significant to the end user.

Unless you're programming graphics card drivers then it's unlikely that knowing much about the physical hardware is going to help you make games. There's a lot of abstraction between the hardware and the game developer these days.

I see. Maybe I'm getting to anxious about things I'll never need to know anyway, or the scientific part of my brain starts kicking in wanting to know everything.

I'd advise you to just continue to study the things that interest you while in school. If there are elective courses you can take related to programming, software engineering, or game development, then take them if they seem neat. You likely won't get that kind of opportunity again in your lifetime.

Working on games on your own, as you've mentioned doing, is very important and you should keep doing that. You seem to be on a path that is reasonable for ultimately ending up in game development if that's where you want to go.

Advertisement

I actually took a very similar route. I studied constructional engineering in college and discovered my joy in programming when I was about half through my classes. Changing my major wasn't an option so I specialized in Computational Engineering and taught myself all about programming in my spare time myself. My first job in the industry was writing a physics engine for the PS3 so my specialization helped me actually a lot. So there are quite a few possibilities for you like Havok/MS or PhysX/nVidia to get a foot into the industry with you background. There are also quite a few game studios looking for people with background in physics.

For me personally I decided I wanted to become a physics/collision/animation specialist as this fitted my background well. I also got interested in tools programming recently. It seems popular to write 'an engine' as a student, but from my experience this is the least interesting problem to solve. It is better to take a more specialized (kind of unsolved) problem and add that to Unity or Unreal and show this in portfolio. On the other hand you say you want to make a game. So if you are more interested in the design process this would be a more orthogonal to your education, but I don't believe this would be a problem. I recommend to figure out in what part of the development process you are interested and then become good at it. Your education will not be the reason if you don't succeed in my opinion.

This topic is closed to new replies.

Advertisement