3 ms·
I'm a linux developer who's had an internship at a game company a few years ago. I had the opposite experience. During my internship, there were problems with
by green7ea 14y ago
I'm a linux developer who's had an internship at a game company a
few years ago. I had the opposite experience.
During my internship, there were problems with visual studio.
Intelisense made everything so slow we had to disable it. VS was
pretty slow and was hard to use without being fullscreen on a big
monitor.
I use emacs and the gdb intergration is excellent. It's never
slowed me down. I've customized it and find it painful to use
another debugger (or an unconfigured gdb) so please don't have it
nuked. When I develop under windows (without cygwin), I miss many
tools I use when programming: valgrind, objdump, grep, sed. I
also miss having more control over the compiler and
linker. Makefiles seem to be much more powerful and flexible
although more complicated then most IDE's projects. SVN and git
are more complicated to use without the command line.
The game I worked on (deus ex human revolution) was being
developed for PC, xbox360 and ps3. Developping for ps3 means that
the code goes through gcc. This caused a few headaches for my
colleagues as it is more rigorous with standards (new line at end
of file gives a warning, templates need to have class or
typename, etc). I was used to it and actually like the fact that
it respects standards.
I've had to install windows 7 on a computer recently and was
baffled by the fact the realtek ethernet, USB3, video drivers
weren't included in the base windows 7 CD. Had I used the
manufacturer's recovery option it might have helped but my
computer would have been loaded with crapware. Ubuntu longterm
support works like a charm on that computer.
From what I've written so far you might conclude that I'm a FOSS
fanboy and dismiss everything windows has to offer. That's not
it, I'm used to my tools and everything else seems slightly
quirky to me. My tools aren't terrible and don't need to be
nuked.
Most game developers have had many years experience developing
for windows and use windows as their primary
platform. Programming for linux is different, strange and
possibly frustrating. I don't think the biggest issue with linux
game developement is the quality of the tools available under
linux but the fact that most game developers are used to using
tools only available for windows.
The one thing I think is lacking for linux to be a viable game
platform is quality graphics drivers but this seems to be
improving with Valve's recent efforts.
TLDR: Using windows is just as quirky as using linux. The biggest
difference is that you are used to your quirks as I am to
mine. Most game developers are used to windows and switching to
linux is hard and uncomfortable.
- Taylorious 14y agoThanks for giving your insight, I found this post really interesting. Without going too far off topic, I was just curious, what kind of work did they have you do there? It just seems like the game industry doesn't get a lot of interns due to the complexity, cost, and time constraints of making major game like Deus Ex Human Revolution.
- green7ea 14y agoGlad you found the post insightful. As an intern I was basically treated as a junior programmer. I had a senior programmer mentor me and usually ended up doing little, usually week long, tasks for him. He was a great guy and really made this enjoyable. His main task was the cover system. I helped him with this as an introduction to the game engine. Once I had a grasp of the existing code and demonstrated that I was competent, he offloaded some of his simpler tasks on me. This usually involved modifying the game editor for the artists. The modification I remember most clearly was enabling the artists to control the camera's FOV and the depth of field effect. The game engine didn't support this so I had to use a hidden bone in the models to control these values. Working at Eidos Montreal as an intern was a great experience. It enabled me to work in video games (childhood dream) before realizing that it wasn't quite for me (I'm now trying my hand at entrepreneurship, it's all the rage).
- revelation 14y agoGCC doesn't "respect standards"; it has lots of own features and extensions that will make you stumble when actually writing code for a fully compliant compiler (not that there is one). You can still have makefiles on Windows; it uses the same toolchain setup internally that we are so used from the Unix world. And frankly, the debuggers on Windows are just completely.. ahead. The Visual Studio debugger can step from managed code, into C++/CLI semi managed code, into native code. It automatically downloads symbols for all system APIs you are ever going to encounter, providing symbols for internal functions, too. It has expression evaluation on all these layers. Theres also the standalone WinDbg debugger that most importantly does kernel mode debugging but is designed similarly to gdb. Also, of course - edit and continue. The way that GDB is decoupled from the compiler means that they probably won't ever be able to do that without major pains. Its a great design decision for when you need to debug unknown or hostile programs, but thats not the use case for most developers.