I'll extend Lawrence's answer with my own experience because I've worked in a big video game company & also some startups.
Video game companies - I've worked in one of the biggest video game companies, because like many people, I love video games. I spend a year and half there and the way staff were treated disgusted me:
Firstly, you are underpaid. It's a popular field so you get many graduates wanting to create games, some even dream of it, so big video games companies are literally overrun with CVs, even though the salary is well below a normal graduate level. This means that if you want to get hired, you must accept an underpaid job. You are supposed to work because you love your job and not because of the salary.
Secondly, management doesn't care about you. due to the demand for roles, they see you as easily replaceable. Given the choice between giving a raise or hiring someone new, they'll choose new hire leaving you jobless. Only the more senior roles are valuable to them as they are much harder to fill.
As your job is your passion, your are supposed to be fully dedicated to it. This means not counting hours, and even working on weekends if required.
This is a very stressful job. Your game have to be perfect, and released on time because your team leader will have objectives he needs to reach (set by the management). If he doesn't reach them, the team will be disbanded and you'll be moved on another project until your contract finishes. This means that as the release deadline approaches, you'll be expected to do overtime as required. This is the same for every game no matter how much effort goes into the game the director will always want to add additional features.
Usually your ideas and opinions are ignored. The game's direction is decided by a few senior people (creative director, artistic director, etc) and they want to make their games, not yours.
Startups - During my degree, students had to make an internship (3 * 6 months over 5 year) and I did my time in 3 different startups.
An intern is usually considered similarly to a full employee and you'll do the same job. Companies will look at your experience (which languages you know, GPA...) and may hire you if you fit their specific needs. So you'll get some work experience here but don't expect to supervised very much. You'll have objectives set and may get some help from employees but usually startups don't have many resources, so they can't take care of you as much as in big companies.
A startup is dependant on their staff, far more than a corporate, so if there's a bug, a deadline or any kind of emergency, you'll be often be the only one capable of fixing it, and if you can't the effect to the company could be severe. When that happens (and it will), it is badly perceived to leave early. If it's a critical bug, you won't leave until the bug is fixed or when you cannot work anymore (which can be very late). However, if it's a deadline, you'll need to do overtime during the run up to it.
The context of a startup is that they don't have a lot of money. Once again, they'll try to hire you with the smallest salary possible. If the company starts making money however, you may get a nice raise, and over time you'll become irreplaceable so that even if the startup doesn't grow much, your salary will. This is usually down the the key knowledge that you alone have.
So to summarize, overtime is quite common in these programming fields, mostly because of :
- Wrong deadline estimation. If the person in charge is bad at estimating deadlines, you'll have a bad time working in the company. It happens very often because sometimes, a change can have significant impact on the software architecture.
- Obscure specification. If the project specifications are not well defined at the beginning, you cannot estimate the deadline correctly. This is what happens most in the video games companies because games are expected to be fun and it mostly depends on your personal point of view.
- Critical bugs/problems. You cannot predict it, it may be your fault and you'll need to fix it.