Why is the onus to change the industry on the inexperienced folk (who likely don't know any better) rather than the bosses/leadership who theoretically get paid the big bucks to figure out how to properly run their organizations?
Why is the onus to change the industry on the inexperienced folk (who likely don't know any better) rather than the bosses/leadership who theoretically get paid the big bucks to figure out how to properly run their organizations?
Very few studios are independent at this point so it's rare for any of them to have leverage. Since all the capital is organized around the big publishers unless you have a breakout success(which can be harder than the startup space) they can dictate terms and conditions.
There used to be a fun clause where upon studio bankruptcy the code/assets would revert to the publisher. Seems reasonable right?
Well what would happen is the publisher would start denying milestones for frivolous things, usually at peak headcount ~4mo from ship. This very quickly puts the studio in the red and they fold since they can't sustain a lawsuit and employ 100+ people while not getting paid. The publisher would then get source+assets, re-hire the team that was suddenly out of a job at 80% rate and ship the game with no royalty clause to the original studio + get IP. That's the kind of exploitation you see in that industry.
However, on the flip side, it is vital that we, as in, we programmers and people posting on HN, understand the problem properly so we can address it to the extent we can. I've done what I can on HN and places like /r/programming to discourage people from monomaniacally focusing on gaming, thinking that the only other thing anybody ever does in programming is relentlessly program useless CRUD apps for banks or something. The truth is that while not every programming job is good, there's a lot more interesting jobs out there than just gaming, and a lot of gaming jobs suuuuuuccccckkkk, and the truth that you need to tell young people thinking about getting into programming is that your odds of landing an interesting job are actually way better if they do not monomaniacally focus on being a "games programmer". The reality of the games industry is that not only are you likely to go on crunch time for months at a crack, you're likely to be doing it on some licensed Disney crap game, not even the AAA game you're dreaming of.
(I have no problem with people taking risks. If they insist on rolling the dice for the games industry, hoping they can make it, more power to them. But I want people to take risks with as much information as possible.)
So today I write games in my spare time while I turn one of the giant stone capstans on an enterprise Java installation to keep food and a roof. It's not sexy work by any means, but my team is great and I get to punch out after eight hours.
* Someone has to create the tools that the games and movie industry has to use. Companies like Adobe and Autodesk that create 3D rendering and modeling software need tons of programmers familiar in graphics programming at all levels. Office source software like Blender is actively developed.
* Vehicle manufacturing companies like Honda, Ford, Boeing, Airbus, BMW all use tons of visualization and engineering software when designing their vehicles.
* Architectural firms use all kinds of rendering packages to visualize their buildings. VR is becoming a part of this and perhaps a place to get in early and become an expert in.
* Companies like Sony and Samsung that create panels deal with so applying human perceptual models to get colors and contrast correctly.
* Nikon, Canon, Fuji all offer hardware and software to the medial field and have to process X-ray, MRI info etc. Even in their consumer-level cameras lots of graphics know how is needed to process imaging data in their video streams.
* All of the tools mentioned above will have a user interface that has to be carefully and creatively designed to be used by creative people, analytical people etc. This is interesting in and of itself to me.
Things like video codecs and digital signal processing tickle the parts of my brain as game programming did.
If performance constraints are your thing embedded systems are almost a drop-in as a engine dev.
> What is it about programming the visual stuff that you like?
I like that at the end of it, I get to see someone interact with my application. Your example of GFX tooling sounds like something I would like, but I probably lack the experience for. I feel like the math bar for being a game developer is a lot lower than being the implementor of tools for game developers. I don't have a very strong math background. Game development seems appealing because of all the tooling and resources for learning.
> * Vehicle manufacturing companies like Honda, Ford, Boeing, Airbus, BMW all use tons of visualization and engineering software when designing their vehicles.
I have a friend who works in vehicle UIs, maybe I should ask him if his company is hiring. That being said, I don't even know how to drive and I feel like that might be a problem.
> * Architectural firms use all kinds of rendering packages to visualize their buildings. VR is becoming a part of this and perhaps a place to get in early and become an expert in.
I applied for a job once with a start up working on an architectural design application. I didn't get the job, but it did seem very interesting. Unfortunately, VR makes me nauseous.
> * Companies like Sony and Samsung that create panels deal with so applying human perceptual models to get colors and contrast correctly.
That sounds interesting but like something I don't have the domain knowledge for.
> * All of the tools mentioned above will have a user interface that has to be carefully and creatively designed to be used by creative people, analytical people etc. This is interesting in and of itself to me.
That doesn't seem very different from working on CRUD, to be honest. Occasionally it's interesting but mostly you're just glueing together widgets from a toolkit.
I guess my problem isn't that I think gaming is the only interesting place to work, it's that I have only an undergrad degree in CS / digital art from a non-top tier university. When I interview for these super interesting jobs, I don't meet a lot of people like me. There are ton of people like me working on making CRUD though. Gaming seems like there isn't a terribly high barrier to entry. That, and I love games.
Then there are interfaces like this:
* http://www.musictech.net/wp-content/uploads/2016/07/Caption-...
Things used by creative people often don't have existing widgets toolkits to draw from and entire new UIs have to be created.
Domain knowledge can be acquired along the way. Not just for games, but in general you never want to be "Just a programmer". You want to be "X that can program" or a "a programmer that knows X". You need enough domain knowledge to be useful to experts.
For cars, I don't didn't mean the car's UI itself but rather that industrial manufacturing uses tons of software with large graphics components. Things like SolidWorks or other kinds of things that analyze the physical shapes of things have a lot of just straight hardcore programming in them.
Edit: as for education, go get some! MIT open courseware has tons of calculus and engineering classes for free. The text books can be found online often times for a few bucks. The digital signal processing course was actually fun.