Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Bizarro Buddha
Feb 11, 2007

berenzen posted:

I have a few questions for you industry veterans from a person trying to get into it:

Aside from C++ and C#, what other languages should I try to learn to increase my hiring prospects as a gameplay coder/designer? I know python, java and html, and the basics of a few other languages, I'm just wondering which ones I should be focusing on.

As someone who is totally inept at drawing/3d rendering, what should I be doing to try and build up my portfolio? My strengths mostly lie in the realm of coding, logic and algorithms.

I can speak to the programming perspective, and leave design to someone else, except to say that how you pitch yourself for either/both of those roles will differ depending on the size of the studio you're trying to get hired at. My experience is only in large studios and the level of specialization there means you'll be better off you would be picking only one of those things to focus on for your resume and interview prep. As a programmer you should be expecting to implement other people's designs, and as a designer you should expect only to make the implementation of a prototype and then hand it off to other people for hardening and expansion.

In most AAA shops, C++ is the only language you would need as a gameplay coder, to work with UE4 or an in-house engine. Smaller studios or AAA-skunkworks stuff might use Unity and therefore C#. Other languages are used in gamedev, but they're likely to be tools (python is used to script Maya, for example) or engine (writing Objective C/Swift for iOS-specific platform layers, for example).

I have personally never sent a portfolio in with a programming application, or looked at one from an applicant when I was doing interviews. That being said, working on one could help you with design applications, or with topics to talk about in interview. I'd recommend downloading UE4 or Unity and putting together a collection of minigames, specifically looking to practice vector math. In any gameplay coding interview, you should expect lots of questions on vectors, transforms and geometry. If you don't know several uses for the dot and cross products in video games, do some reading.

As an example of something that could work as either a small portfolio piece or practice for your math skills, a coworker of mine likes the open-ended question, "How would you design and implement a turret to shoot at the player?" This should get the interviewee talking about all sorts of things like what kind of game this enemy has to fit into, 'fairness' with AI, hitscan vs projectile weapons, and then once you've worked out a spec with the interviewer, the math & code that goes into aiming and firing.

Adbot
ADBOT LOVES YOU

Bizarro Buddha
Feb 11, 2007

eshock posted:

I haven't done any real UE dev since 3, but is modern UE4 actually a good platform for dicking around with vector math now? At my last shop we required designers to be pretty decent coders, and the candidates who fell over at the vector math questions were invariably those with an Unreal background. I left there before 4 became widespread though so maybe it's changed.

All the 'real' vector math functions are there in both imo, it's just that they both also provide a lot of shortcuts that can lead to not really understanding the fundamentals, like their 'rotator' class.

Bizarro Buddha
Feb 11, 2007

leper khan posted:

UE4 has physics substepping. Unity has separate update functions for fixed time. A lot of proprietary engines also implement some sort of decoupling physics updates from frame update. :shrug:

UE4 can run the physics engine in substeps to avoid problems with large delta times causing unexpected behaviour in physx. This is not the same thing as separating the update rate from the render rate. At an architectural level UE4 has almost nothing that separates the game-logic update rate from the render update rate. Objects move, particle systems update, material parameters are changed all on the game thread which sends instantaneous updates to the render thread. And as far as I am aware the render thread has no ability to interpolate between past states.

As people have said, the problem of 'frame pacing' is that the average framerate from second to second remains fairly solid while individual frames take longer or shorter times to produce. In my experience the simple reason this happens is that game performance is hard to budget for, and some frames just take longer than other frames. A frame where you spawn a new object or particle system, or have to rebalance some data structure, or where many entities panic and run an instant pathfind or behaviour tree search, takes longer and causes a microstutter.

Bizarro Buddha
Feb 11, 2007
When I moved from the UK to Canada I got a cash bonus for relocation, they hired layers to do all my visa stuff for me (as well as later renewals and PR applications), and they put me up in an apartment for a month while I found a permanent place. They also paid to ship all my stuff, and for consultation with accountants for the first tax year. I wasn't headhunted, but I was referred by a friend at the studio.

Other people I know here got similar arrangements give or take, e.g. they might have had to actually tally up relocation expenses and submit them, rather than just get a cash bonus. A friend of mine also got access to a consultant-type person who helped them find an apartment, I just got left to my own devices.

Bizarro Buddha
Feb 11, 2007

j.peeba posted:

It comes from TVs. In the NTSC/PAL/SECAM era most developers were based in NTSC countries with 29.97fps. Nowadays HDTVs pretty universally support 30/60fps.

And this itself was driven by the standard frequency of AC power being 60 Hz in those countries.

Adbot
ADBOT LOVES YOU

Bizarro Buddha
Feb 11, 2007
We were still fighting to fit in memory on Xbox One, which meant we usually didn't have to worry at all about fitting into memory on Xbox One X, outside of stuff like memory leaks.

But presumably when Xbox One X or Series X becomes the baseline for your game, everything will expand do fill the space, you'll get less strict with streaming, and you'll be right at the borderline again.

Especially if 4k rendering becomes the new baseline, people will want to increase texture resolution so we're not sampling low frequency textures at high frequency in screen space... and every time you double the dimensions of your texture it'll quadruple in memory usage.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply