What side skills are essential / noteable plusses for becoming a game physics programmer?

Started by
15 comments, last by BrechtDebruyne 11 years, 5 months ago
I'm currently studying mathematics, eventually planning to do mathematical computer science, and planning to make my own game physics engine, as well as writing a game with it for my portfolio.

But I'd like to talk about side skills here.

How much should I know about graphics programming, and to what extent should I know DirectX/OpenGL?
What about networking?
What about other side-skills?

I would like to hear from people that actually have a job related to game physics, for the validity of the answers.

As on OT-question: Is there any site dedicated to game physics programming? I always find myself having a hard time finding help or existing solutions on the internet related to game physics (beyond the basics such as the 100+ articles on SAT)
Advertisement

job related to game physics

[s]Well, there aren't many jobs related to game physics to be honest. Game physics is continuously improving, but there aren't any major leaps , compared to e.g. rendering. There are some good, even some free, physics engine avaiable and creating a physics engine, a stable physics engine ,is incredible hard. Therefore most, if not all, studios uses one of this engines.

Mathematics is getting more and more important in rendering (but this market is already ruled by existing professional engines too).[/s]

Okaay... sorry for getting Off Topic blink.png


What about other side-skills?

Well, soft skills are useful.
Please stay On Topic.

Okaay... sorry for getting Off Topic blink.png

Well, soft skills are useful.


Haha. I'm sorry if you think I was being rude, but let's be honest here, everyone that did a little bit of research knows that making physics engines is hard, and it's also hard to find a job as game physics programmer. It's a danger to every similar thread to fall down to those discussions. To avoid these, I replied "please stay on topic"
How much should I know about graphics programming, and to what extent should I know DirectX/OpenGL?
What about networking?
What about other side-skills?
I'm a graphics programmer, but have worked with physics programmers.
Knowing enough of a graphics API (of any kind) so that you're comfortable with drawing debug shapes (e.g. visual versions of your physics capsules/boxes/spheres, or force lines, arrows, etc) would be handy. Also, knowing how to transfer object transform data (e.g. a 4x4 matrix) from your physics engine over to the visual objects.
You'd almost always be doing this via a higher-level graphics engine, not D3D/GL directly, so learning those APIs specifically isn't a strict requirement.
Perhaps if you were doing something more advanced, like soft-body simulation, or CFD/Navier–Stokes equations, etc, then you'd want to have a much better grasp on graphics and visualisation techniques.

If you knew enough about networking to be able to have a conversation about how to handle the network-replication of physics-driven objects, and different networking strategies, like dependent lock-stepping, authoritative servers, etc, then that would be a plus.

Being qualified in another role -- either general gameplay programming, and/or another speciality like animation systems, would be very useful.
As mentioned in the off-topic above, (almost) everyone uses existing physics engines, so the job of the physics programmer is to tame that existing code and make it do exactly what a specific game requires -- this might not keep you busy for a whole project, so being able to perform other roles might be required of you.

As for educational materials, I always see the same few books on people's desks.
Shell scripting. Whether that be bash script, powershell, or something a little more friendly like Python, is up to you. But either way, you need to know your way around the shell (find, grep, sed, etc.), and know how to write scripts to automate repetitive tasks.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]


Shell scripting. Whether that be bash script, powershell, or something a little more friendly like Python, is up to you. But either way, you need to know your way around the shell (find, grep, sed, etc.), and know how to write scripts to automate repetitive tasks.


Could you name an example specific to physics programming where shell scripting is used? I've heard of shell scripting before, but that's about it.

Could you name an example specific to physics programming where shell scripting is used? I've heard of shell scripting before, but that's about it.

I was more intending that as a general injunction towards any form of programming. A programmer who doesn't know their way around the shell, or can't automate simple tasks, is a pretty useless programmer in most environments.

Also, physicists love python.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

I can automate simple tasks easily, I just don't know my way around the shell... Is that a problem?
And I do know some python. Not exactly an expert on the language but I can make most tasks work with it :P

I just don't know my way around the shell... Is that a problem?

It's not necessarily a deal breaker, but it's definitely something I consider a deficiency in any serious developer.

What happens when you need to search for a specific pattern in 500 MB of build log files stored on a remote build server? For a someone familiar with the command line thats a one-line call to ssh+grep. If you are stuck in GUI-land, it's likely to present a stumbling block...

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

This topic is closed to new replies.

Advertisement