Game Programmer Question Part 2.
Thought of starting a new post.
Could you give me information concerning what a tools programmer is and what should he/she know and learn in building from game editor to tools like 3d studio max?
Tools programmers create the utilities that other programmers, artists, and designers use to create a game. Examples are:
1) Writing a command line application to batch convert bitmaps into a proprietary format used by the engine (small tool).
2) Writing a custom tool for desiging particles effects for the game (medium size tool).
3) Creating and maintain full-blown level editors (like mini-versions of 3DS Max) (big tool!).
Tools programmers do not (usually) create game content themselves, but their work is indispensable for completing the game.
As for their skill sets, tools programmers must have a firm grasp of the API used to communicate with the operating system. For instance, at my current company, we develop for PS2, XBox, and GameCube--but many of our tools run on Windows. Our tools programmers must understand how to write applications for both the PS2 and Windows. In particular, our primary tools programmer has a strong mastery of MFC and .NET.
If we were developing on Unix boxes, we would require someone who could write windowed applications under Unix, etc.
Tools programmers must also understand the fundamentals of 3D geometry, texturing, animation, etc. While they don't usually have to draw animated models in a real-time 3D scene, they need to understand how to write effecient lighting routines, tesselate polygons, maniuplate and compress textures, etc, so that the tools can efficiently (and correctly!) export game data.
That's a very "in the nutshell" explanation of tools programming as I've seen it. I haven't ever been a dedicated tools guy, so my knowledge is limited. Feel free to ask more questions if I've overlooked points you wanted covered.
: Thought of starting a new post.
: Could you give me information concerning what a tools programmer is and what should he/she know and learn in building from game editor to tools like 3d studio max?
So a rough estimate of knowledge would be:Mfc or .NET,OGL or DX and what else can you suggest?
: So a rough estimate of knowledge would be:Mfc or .NET,OGL or DX and what else can you suggest?
That's a good summary. Other helpful skills: knowledge of 3D graphics techniques: tessellation, lighting, data compression techniques, mip-mapping, etc.
Also, the more the tools programmer understands about topics like particle effects, texture effects, shaders, etc, the better his or her tools will be (i.e., more useful).
After carefully evaluating all the conversation we had thus far and taken under carefull consideration when you said that I should do what I love the most I decided the following:
I would either do effects with OGL or DX and Cg either build a physics engine which I love also doing.
As always I want your opinion and also some information on what I should learn for the physics engine.
The problem is that I want to choose between the two of them based on what will benefit me more in the long run.Which is going to teach me more and which is more likely to get me a job in the game industry I so long for.I know that I have tired you with all these questions but once again I hope for a reply.
I'm glad to hear that you're going to pursue a project that you love. Nothing else really matters...
Unfortunately, I've never written a full physics engine, so I don't know what to recommend. I can tell you that probably the most complex aspect of Physics involves efficient collision detection. A quick on-line search should provide several potential resources to help with this topic.
As for what will help you most in the long run--either path should yield good results. Probably, one of two scenarios will develop when you start looking for your first industry job. If your thesis project is exceptional and the company that hires you needs someone to do exactly what you did in your project, you may be hired directly into a "senior developer" role. On the other hand, if your project is good but the hiring company doesn't need someone with your exact expertise, you'll probably be hired into a regular (or junior) programming position and work on many different aspects of the game and/or engine--in which case, it doesn't much matter what your project was. In the end, it's sort of a crap shoot as to whether you'll get hired to work on the same type of code as you wrote in your thesis.
One caveat--I'm basing these scenarios off of my own experience and that of fellow industry people. However, that's a small sampling at best, and it's likely that there are many other scenarios that are equally likely. Take everything I say with a big grain of salt.
: After carefully evaluating all the conversation we had thus far and taken under carefull consideration when you said that I should do what I love the most I decided the following:
: I would either do effects with OGL or DX and Cg either build a physics engine which I love also doing.
: As always I want your opinion and also some information on what I should learn for the physics engine.
: The problem is that I want to choose between the two of them based on what will benefit me more in the long run.Which is going to teach me more and which is more likely to get me a job in the game industry I so long for.I know that I have tired you with all these questions but once again I hope for a reply.
[b][red]This message was edited by Antony at 2003-4-29 9:26:5[/red][/b][hr]
I just want a favor if you have the time of course.Could you have a look at the site www.quest3d.com ?They have a very interesting engine but also a new programming way that is more of a visual programming.Thanks and I am waiting your comments.
By the way,what does it takes to become a level designer?I mean,a computer science degree will help?
Sorry about the delay in my reply. We got swamped at work, and in the rush, I forgot that I owed you a post!
I checked out the website and had a look at their screenshots and testemonials. Their product looks like an adequate 3D engine, though I'm a little worried that the only testemonials came from non-game companies. There's a huge difference between being able to do good architectural visualizations and being able to run a good 3D game!
Honestly, the only way to tell if the tool is any good is to download some demos and try it for yourself. Their products look good enough to warrant that investigation.
As for being able to make games without writing code...this might be the wave of the future. I have some friends in the industry who are currently experimenting with VirTools (www.virtools.com). They have nothing but great things to say about the product--they got a fully 3D basketball player running around a court and dribbling the ball up and running in 5 minutes(!). Like Quest3D, VirTools' code interface is almost completely flow-chart driven (at least, from what I've heard), making it insanely easy to throw together impressive demos from existing objects. Be forewarned, though--there is no substitute for writing your own custom code, and I have no idea how Quest3D or VirTools handles such cases...
If you want to become a level designer, a CS degree won't hurt, but it probably won't help much, either. Level designers typically require a skill set only partially overlapping that of Programmers. Often, they need equally good (or better) art skills (to build the levels in 3DS Max, etc). By far, the most important factor in getting you hired as a designer is to have designed your own levels for *something*. Start making Quake 2 maps, work on a Half-Life mod, etc--but build a portfolio of levels that shows your ability to think creatively and use existing tools to do interesting (i.e., experimental and fun) things.
OK--so ends this post. As usual, I hope you found something useful in it. I'll try to reply more quickly, next time.
: [b][red]This message was edited by Antony at 2003-4-29 9:26:5[/red]Hi[/b][hr]
: I just want a favor if you have the time of course.Could you have a look at the site www.quest3d.com ?They have a very interesting engine but also a new programming way that is more of a visual programming.Thanks and I am waiting your comments.
: By the way,what does it takes to become a level designer?I mean,a computer science degree will help?
It looks like you're new here. If you want to get involved, click one of these buttons!
Assembly Code Share
Getting started in assembly
C and C++
C/C++ on Linux/Unix
C/C++ Windows API
C++ Game Development
Delphi and Kylix
Java Server Pages
Access databases and VB
Advance Visual Basic
DirectX Game dev
Newbie Game Programmers
Cooling & Overclocking
Database & SQL
Sound & Music
FreeLance Software City
C# & VB.NET School Support
Join the Team
Comments on this site
New programming languages
Off topic board
Mobile & Wireless
Operating Systems & Platforms
Witsbits Go Cloud
Embedded / RTOS
Windows CE & Pocket PC
Networking And Security
Windows 2003 Server
RUP & UML
Quality & Testing
Active Server Pages
HTML & WEB-Design
Mobile Internet & Messaging
WEB-Services / SOAP
In this Discussion