Please answer my interview

Started by
8 comments, last by Digitalfragment 17 years, 11 months ago
I need 3D programmers to help me answer a few questions for my interview, it's for my degree project fact finding phase, if you feel you can answer these questions, please help me, thanks in advance : 1. When did you start 3D programming? 2. How long does it take for you to fully master 3D programming to a satisfying level? 3. What is your programming language and API of choice for 3D programming? 4. What function and features do you think should be in a basic 3D engine? 5. What do you think of Python programming language? 6. Do you recommend 3D programming in Python programming language?
Advertisement
Quote:Original post by Valkyrie4896
I need 3D programmers to help me answer a few questions for my interview, it's for my degree project fact finding phase, if you feel you can answer these questions, please help me, thanks in advance :

1. When did you start 3D programming?

I started in 2000 with a oh-so-popular 3d starfield effect, extending to a software rasterizer.

Quote:
2. How long does it take for you to fully master 3D programming to a satisfying level?

Well I don't think I'm at satisfying level yet.. Of course the APIs have become very familiar and the basic maths stuff and I've been able to create a primitive engine system. There are so many advanced topics I'd like to do to prove myself, something like HDR, PRT, physics, soft shadows etc..

Quote:
3. What is your programming language and API of choice for 3D programming?

My development has been almost 100% C++ and DirectX, in the early years I did software rasterizing with DJGPP and later on with SDL.

Quote:
4. What function and features do you think should be in a basic 3D engine?

Well the basics, of course. Loading & saving images and meshes, rendering basic objects, animations. Resource management, some kind of optimization for large sceneries(i.e. culling &visisibility testing), timing and profiling. These kinds of things..

Quote:
5. What do you think of Python programming language?

Well I haven't written a single line in Python, but from what I've looked at it, it seems to be pretty flexible and capable.

Quote:
6. Do you recommend 3D programming in Python programming language?

3D programming - why not? 3D game engine programming - sure. Commercial game development - that would require some feasibility study depending on the game.




Mmm, do I now get my free coffee voucher? ;)
First off, I'd like to state my rather limited credentials. I've been a hobyist game maker for about a year, year and a half now. The vast majority of this time I have spent using C++. I have been using OpenGL to do 3D(and sometimes 3D made to look 2D) for about 4 months now. I have been using Python for under a month. So, this is more so that you can compare a relative begginer to more experienced replies. As such, I will only answer the questions that I can.

Quote:1. When did you start 3D programming?


About 4 months ago using OpenGL in C++.

Quote:3. What is your programming language and API of choice for 3D programming?


C++ is my favorite, mainly due to having much more experience in it than any other language. OpenGL for similiar reasons. I haven't tried Direct3D, but from what I gather, there isn't a vast difference in ability.

Quote:4. What function and features do you think should be in a basic 3D engine?


Other than what CLB said, if people other than you are using it, you'll want complete documentation. Many a time I have found a new library only to be turned away due to its complete lack of documentation.

Quote:5. What do you think of Python programming language?


Python seems to be a perfect language for rapid learning and developement. It has nice support for features like strings and lists that can be a hassle in C++(especially to beginners). Its syntax is more consistent than C++ with far fewer exceptions and oddities to memorize, making it easier to learn and takes less time to debug.

Quote:6. Do you recommend 3D programming in Python programming language?


As compared to what? If its over 3D programming in, say, C++, then I'd say it depends on what you're doing. PyOpenGL has a very few changes from the C implementation of OpenGL, so the learning curve of the API is identical from one language to another. This also means that the language does not add to or subtract from the ability of the API. The main reason not to use Python over other languages is speed. So you'll largely have to base you're decision on speed.

If you're asking whether I recommend 3D over 2D in Python, then I would have to say that I do. You can do 2D in 3D fairly easily and the experience will more directly relate to future use.

Hopefully answers from a beginner are helpful to you! Good luck with the project.


Quote:1. When did you start 3D programming?

In my second year at uni. 2 years ago
Quote:2. How long does it take for you to fully master 3D programming to a satisfying level?

Isn't that a contradiction in terms?
Quote:3. What is your programming language and API of choice for 3D programming?

C C++ OpenGL SDL DirectX
Quote:4. What function and features do you think should be in a basic 3D engine?

I'm not sure what you mean by basic? no physic's and such? but with collision detection,image library,sound library,network library?maths lib.
Quote:5. What do you think of Python programming language?

never used it.
Quote:6. Do you recommend 3D programming in Python programming language?

You really want to use Python don't you lol.
Quote:Original post by Valkyrie4896
I need 3D programmers to help me answer a few questions for my interview, it's for my degree project fact finding phase, if you feel you can answer these questions, please help me, thanks in advance :

1. When did you start 3D programming?
2. How long does it take for you to fully master 3D programming to a satisfying level?
3. What is your programming language and API of choice for 3D programming?
4. What function and features do you think should be in a basic 3D engine?
5. What do you think of Python programming language?
6. Do you recommend 3D programming in Python programming language?


1. Many years ago. At least 8.
2. New techniques become available all the time. You never stop learning. Start with the basics (vector maths, linear algebra). Software is like building a house; you need firm foundations.
3. C++ would be my choice. C is often forced upon me by work situation. Custom engines from in-house development (with little documentation, sadly)
4. Extensibiltiy. If you can't do something with the API, do it yourself and integrate it.
5. I like it. Too busy to check it out fully though.
6. Speed might be a problem with python. It depends upon what you are doing (i.e. "is it fast enough (for my needs)?"). Ignore people who LOL you for Python. If that's what you are comfortable with or required to use, stick with it. Learn more languages to get different perspectives on things though.
"Most people think, great God will come from the sky, take away everything, and make everybody feel high" - Bob Marley
Quote:Original post by Valkyrie4896
1. When did you start 3D programming?
2. How long does it take for you to fully master 3D programming to a satisfying level?
3. What is your programming language and API of choice for 3D programming?
4. What function and features do you think should be in a basic 3D engine?
5. What do you think of Python programming language?
6. Do you recommend 3D programming in Python programming language?


1. 2,5 years ago, it seems. I downloaded SDK for DirectDraw documentation, and I incidentally looked into D3D tutorials, and wanted more ;)

2. To me, 'satisfactory' means that I'm shifting from 'learning' phase, to 'making' phase (and learning the newest stuff on-the-fly). I guess I was learning fast, since I'd already got strong math background. So half a year I think.

3. Language - C++. Api - D3D. I was also using GL for quite some time, but I liked D3D more because... it had better documentation. Honestly, there are more samples, tutorials, and pages of docs for GL, but after a year of fiddling with those I was left with confusion only. Docs in DX SDK are more consistent and that's what such pedant as I really needs.

4. Good documentation (see point 3).

5. Never used it. But - see below.

6. For a 3rd year team project at our Uni, students are often making games. Two years ago, one team decided to use Python. It was like, OMGLOL! The professor told them, that if after first semester their game would be running at at least 1 FPS (which he didn't believe would be the case), he will give the an A, and make them rewrite the project in C++.

In the end the game was running smoothly, and there was virtually no need for the C++ version. It was a racing game, polished and full of features. In 2D, but AFAIK it makes no difference in terms of performance.

They described the whole experience as amazing, like a breeze. I (with my team) was writing a game in C++ a year later, and we were able to implement a lot less in such amount of time, it seems to me.
They recommended Python for anyone.

Cheers.
~def
Hey guys, thanks for answering! And omg I got my rating deducted for requesting for interviews and questionnaire... If I cant ask in game development forum, Im not sure where I can ask these.

Clb, here's your virtual coffee voucher lol, *hands out a virtual coffee voucher*, thanks a lot for your help, you're really helpful =)

Anyway, one of my project supervisor strongly recommended me to keep my engine as simple as possible, too many functions are overkill and may not be feasible since Im working alone and need to complete in 6 months. One of my project objective is to see how far i can go with 3D Engine.

Anonymous, yes, one of my project objective is to promote the use of Python programming language, so I REALLY want to use Python, hahaha. The questionnaire I conducted in my class reflects that out of 30+ classmates (besides me ofcoz), only 1 ever HEARD of it... I hope I can make Python slightly more popular by using it in my project.

Anyway, thanks again for answering, 4 interviews are more than enough, now I just need to collect more questionnaires in my other topic.
Why'd you get rated down for this post?? Some people are weird with their rating habits... Well, there's a little bit of it back. :)

Only one person had heard of Python? I thought it was more common than that!

And about Deffer's #6, I just have to say that the teacher has obviously never programmed in Python before. A complete beginner like me was able to get a (very simple) game running in 3D fast enough that it was only limited by the monitor refresh rate. And that's with no optimizations and using the notoriously slow glBegin() and glEnd()s.
[hijack]

Ruby is way better than Python. Just as easy to develop for, more powerful, and doesn't constrain the way you write the code (required tabs LOL).

[/hijack]

And yes, I have developed a basic 3D engine in Ruby, it's quite feasible.
1. When did you start 3D programming?
5 or 6 years ago?

2. How long does it take for you to fully master 3D programming to a satisfying level?
you cant master it. although a good 6 months of intense focus and you will blow yourself away. Or beat yourself to death, depending on how good/bad you are at math.

3. What is your programming language and API of choice for 3D programming?
C++ & OpenGL. DirectX should be taken a look at though, soley because of XNA (Xbox/PC cross platform dev)

4. What function and features do you think should be in a basic 3D engine?
Good memory management
Good scene graphing
Optimized static geometry rendering
Skeletal and Vertex tweened animation
Easy and reliable model & material loading (lmfao)

5. What do you think of Python programming language?
Its a nightmare to debug. Its a nightmare to code a large project with.

6. Do you recommend 3D programming in Python programming language?
Refer to #5. 3D Engines require alot of debugging, and a very large projects. Besides which, the Python OpenGL implementation can run terribly terribly slow.

This topic is closed to new replies.

Advertisement