Astrophysicist turned video game programmer?

In summary: I'm not sure I want to do video games full-time, but I would be interested in learning more about the industry and the various roles that exist.In summary, the author is considering a career in video game programming. They have a degree in physics, but are interested in learning more about the industry. They are concerned about the working conditions and whether or not it is a feasible career.
  • #1
Uranian
5
0
Hi all,

I'm at a bit of a crossroads - I'm in a direct PhD program (in Astrophysics) right now, with the option of walking away with my Master's in September. In all of my research projects I've focused heavily on simulations (I know Python and Fortran, but not anything from the C family, though looking to take a C++ course next semester, and they have been fluids codes mainly) and I found that I love coding - so much that it even overshadows my love of learning about topics in astronomy and astrophysics! It's a bit alarming, and so I'm looking for a bit of insight - I was thinking of maybe graduating with my Master's and going into the industry, and in particular I would love to start programming for video games.

I realize this profession is nothing like how it is to actually play video games - I expect mounds of complex code and lots of debugging, and days that are boring and frustrating as a result of this, and general stressfulness due to deadlines. I realize it's not all roses on the other side! But, I think it would be fun, also partially because I'm artistic and damnit, I want to be part of a team of people that brings these fantastic, beautifully-rendered games to fruition. Ubisoft is literally a couple blocks from where I live!

I guess part of what I was wondering is, how feasible is this? Clearly I need to learn C++, and I might even need to have a portfolio of little games I've coded up - I'm up for that! (Although, should I use a game engine (I have Unity and it's very fun to play around with, also it's teaching me a bit of C#!), or should I make a simpler game but from scratch? I don't know what would look better)

I should note that I'm looking more at a generalist programmer career path - I have physics knowledge, of course, but I'm not hellbent of finding a role that specifically puts this to use.

Is there anything i should be doing right now while I work on finishing my degree, aside from learning C++? Or, is this a pipe dream that has little chance of happening for me without an extra year or more of dedicated computer science study? Any insight is much appreciated - I don't know many people I can talk to about this. Thanks in advance!
 
Physics news on Phys.org
  • #2
I'm not even sure that I know where to start...
  1. To get a job, you need experience programming in the language of interest. You don't necessarily need a CS degree, but if you are saying "I need to learn C++", you have a *lot* of work ahead of you.
  2. Video game companies have a reputation for treating workers like garbage. (Enough people want to work in the sector that they can be confident of easily finding replacements.)
  3. As a programmer, they are not going to let you anywhere *near* the art, so being artistic doesn't help you at all. Creating the art is a different job entirely.
I'm not saying anything is impossible... but at this point, I don't think you have a realistic view of what programming video games entails. Let me give you an analogy. I like looking at pictures from Hubble and using my backyard telescope. Do you think I have a future in astrophysics?
 
  • #3
Thanks for the reply. It's true that I don't have a realistic view - that's why I posted for some guidance.

1. Yes, I have a lot of work ahead of me! So long as I don't need to go back to undergrad that's fine (though I have access to auditing undergraduate courses, which may be of benefit - I'm exploring this option for winter semester...) I've started re-writing one of my hydrocodes in C++ this weekend and it's been a decent introduction to the syntax and using the libraries, but at some point I know I'll need to build actual, complete mini-games to show possible employers, so it would help to know the best way to do this (for example, Unity3d and aim higher, or C++ and Allegro, ditching the GUI interface and user-friendliness?)

2. Yeah, I've heard that - it's concerning.

3. I thought smaller studios required people to be flexible in their skills? Well, if not I was misinformed here.

I understand the analogy, but you're speaking to someone who dropped out of a psychology degree and went into physics on a hunch that I might like it better (though, I put in an extra year of work tutoring my math skills and getting the required math and physics high school credits to apply for my bachelor's...so it was a direct path but a lot of hard work!) So, to your hypothetical question I would say yes, if you're willing to put in the work.

I'm just looking for someone to give me some insight as to the road ahead and what path I would be better off taking, if I were to make the change.
 
  • #4
I don't think you have to go back to undergrad... but you need to gain a similar amount of experience coding.

And yes, you might have a better chance in getting involved in the art at a smaller studio, but I wouldn't call ubisoft a smaller studio! Even then... the art designers are a different breed than the programmers, and I'm not sure how much exposure you'd get even at a smaller studio.

If you are determined to get into the video game industry, work on learning how to code, first and foremost. Secondly, don't expect to get involved in game or art design as a programmer. And thirdly, good luck!
 
  • #5
Thanks for your advice and a bit of a reality check! C++ bootcamp it is. : )
 
  • #6
Uranian said:
Clearly I need to learn C++, and I might even need to have a portfolio of little games I've coded up

Or, a really good tech demo.

If you are going to put games in your portfolio then it's probably better to have one (or two) very polished games than six mediocre ones. Of course, you might make lots of little games for practice or fun, but they don't all need to go in your portfolio.

For the games, you should probably use an engine (otherwise they'll take forever to make). I'd suggest either Unity or the Unreal Engine, as they are widely used by companies that don't have their own engine, so familiarizing yourself with one of them would be useful.

If you want to do a tech demo then you should probably write that yourself from scratch, just using whatever APIs or libraries you need.

Other than that: learn C++ as well as you can, which means that you need to write lots of code, then debug it and optimise it.

Also, learn something about data structures and algorithms.

If you have time then some basic knowledge about SSE (SIMD) instructions, DirectX rendering (or OpenGL if you prefer), multithreading and quaternions (used to represent rotations) would be helpful.

TMFKAN64 said:
  • Video game companies have a reputation for treating workers like garbage. (Enough people want to work in the sector that they can be confident of easily finding replacements.)

There is some truth to this, but not all companies treat their staff badly, and some of the bigger ones have improved their practices in recent years.

Learning C++ takes a long time, so if you are still interested in physics you should at least consider the possibility of completing your PhD and learning to program in parallel.
 
  • #7
It depends on what you want to do. "Video games" is such a huge industry and there are so many different careers. There's the programming and development (which is a CS job through and through, if you don't even know C++ yet, you've got a long road ahead of you), then there's the artistic work which can be anything from playing music in an orchestra to designing the in-game artwork, and then there's the technical stuff like engine programming.

If you're already involved in your physics PhD and you're dead set on working in video games, I'd go for engine programming. Supposedly, there's a big push to hire more mathematicians and physicists to help design graphics engines or find ways to use tricks like procedural generation to make production more efficient.
 

1. What inspired you to transition from astrophysics to video game programming?

As an astrophysicist, I was always fascinated by the possibilities of technology and how it can be used to simulate and visualize the universe. This interest in technology and its applications eventually led me to explore the world of video game programming, where I could combine my passion for science and technology in a creative and interactive way.

2. How does your background in astrophysics help you in your role as a video game programmer?

My background in astrophysics has given me a strong foundation in mathematics, physics, and problem-solving skills, which are essential in developing complex and realistic simulations for video games. Additionally, my understanding of the physical world and how it works allows me to create more immersive and scientifically accurate game environments.

3. What are the biggest challenges you face as an astrophysicist turned video game programmer?

One of the biggest challenges I face is finding a balance between scientific accuracy and gameplay. While I strive to make my games as realistic as possible, I also have to consider the entertainment value and playability for the audience. Another challenge is keeping up with the constantly evolving technology and techniques in the video game industry.

4. How do you approach incorporating scientific concepts into video games?

I usually start by researching and understanding the scientific concept that I want to incorporate into the game. Then, I work closely with the game designers and developers to find creative ways to integrate it into the gameplay and make it engaging for the players. I also consult with other scientists and experts in the field to ensure the accuracy of the concepts.

5. What advice do you have for aspiring astrophysicists who are interested in pursuing a career in video game programming?

My advice would be to start by learning the fundamentals of both astrophysics and computer programming. Having a strong foundation in both fields will make it easier to understand and apply scientific concepts in video game development. Also, don't be afraid to explore different technologies and coding languages, as it will expand your skillset and make you a more versatile programmer. Most importantly, never stop learning and always be curious about new technologies and their applications.

Similar threads

  • Programming and Computer Science
Replies
16
Views
2K
  • STEM Career Guidance
Replies
4
Views
1K
Replies
18
Views
3K
  • STEM Career Guidance
Replies
29
Views
5K
  • New Member Introductions
Replies
2
Views
69
  • STEM Career Guidance
Replies
1
Views
2K
  • STEM Career Guidance
Replies
1
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
4
Views
1K
  • Programming and Computer Science
Replies
5
Views
948
  • Engineering and Comp Sci Homework Help
Replies
8
Views
1K
Back
Top