Game Programmer Question.

If you use an engine and not making the renderer the low stuff,not involving with OpenGL,DX etc. what position in a game company you occupy and what can you do?
«134

Comments

  • Hi Antony,
    Generally, game companies divide their people up into two groups: engine-side programmers and application-side programmers. The engine-side people use OpenGL, DirectX, etc, to implement low-level rendering, sound, and controller code. The application-side people use high-level data structures and algorithms to implement game physics, character AI, and object behaviors. They'll also often implement a scripting language that allows non-programming scripters to write even higher-level "special events" and game logic.

    Of course, this is all a generalization--different companies divide their people different ways, and almost all app-side programmers end up working on a piece of the engine at some point (and vice-versa). Also, having knowledge of OpenGL and/or DirectX helps the app-side programmers understand the engine code better, which is a major benefit.

    I hope that answered your question. Let me know if you need more info.

    Kreitler


    : If you use an engine and not making the renderer the low stuff,not involving with OpenGL,DX etc. what position in a game company you occupy and what can you do?
    :

  • First of all thank you for the reply.If however I dont want to get involved with the low stuff but with the ready made engine then what books should I read and will it be easy to find work in the game industry?Thanks again for all the help.

  • [b][red]This message was edited by kreitler at 2003-3-31 15:35:32[/red][/b][hr]
    Hi Antony,
    Most of the books I have seen take one of two approaches. One group teaches you how to write an engine and then builds a simple game on top of that. The other group describes a particular field of app-side programming (like physics or AI) without writing a complete game. Neither one of these is probably what you want right now. There might be other kinds of books out there, but I'm not sure what they are.

    I would recommend that you try to learn a high-level language and use it to program 2D games. Even if you have to write a simple engine, it will be quick and easy to do. Java might be a good choice. There are several books out there on writing Java games, as well as many good on-line tutorials. Java is a good choice for beginners because it's a lot like C++, but it's easier to learn and to use for simple games.

    Will it be easy to get into the games industry? That depends on many factors. If you don't know engine code, you can still get into the industry. I am an application-side game programmer and I got in. More important than whether you are an engine programmer or an application programmer are the following factors:

    1) Have you written any games before?
    2) Can you show people the games you have written?
    3) Do you have a degree in engineering, computer science, math, or physics?
    4) Are you a hard worker?
    5) Do you work well on a team?

    The single most important thing you can do if you want into the industry is write games. The next most important thing you can do is be willing to take *any* game-related job for a start. If you can't get hired as a programmer, start as a scripter and work your way into programming. If you can't get hired as a scripter, start as a tester, then becomre a scripter.

    Finally, whether you get hired will have a lot to do with what kind of games you want to write. If you want to work on a game like Doom III, you'll need to have a strong grasp of low-level programming, even if you're an app-side programmer. On the other hand, if you want to work for Hasbro writing on-line Java games, you won't need any OpenGL or DirectX experience.

    Sorry to write such a long letter. I hope some of the information helps you. Good luck,

    Kreitler


    : First of all thank you for the reply.If however I dont want to get involved with the low stuff but with the ready made engine then what books should I read and will it be easy to find work in the game industry?Thanks again for all the help.
    :
    :



  • I would like to better describe what I like so that you may advise me better.
    I want to be able to take a model for 3d studio and using a 3d engine tell it what to do in a scene.Meanwill I would also like to manipulate the graphics of the engine but in a high level.In other words buils the game.
  • Hi Antony,
    Ahh...it helps to know what you want to do.

    Try this link:

    http://conitec.net/a4info.htm

    It leads to a site for the product called "Game Studio". The "standard" edition costs about 50 dollars (U.S.). It provides a game engine, you provide the custom code to actually make the game. You can write code in their 'C'-like scripting language or in C++.

    Other books that might interest you:
    Game Programming Gems (there are at least 3 of these)
    AI Game Programming Wisdom

    I hope that's more useful for you.

    Kreitler


    : I would like to better describe what I like so that you may advise me better.
    : I want to be able to take a model for 3d studio and using a 3d engine tell it what to do in a scene.Meanwill I would also like to manipulate the graphics of the engine but in a high level.In other words buils the game.
    :

  • [b][red]This message was edited by Antony at 2003-4-1 16:48:10[/red][/b][hr]
    I was thinking of the "Cipher" game engine from the UK company Synaptic Soup, the "CodeCreatures" engine from the German company CodeCult and the "3DState" engine.If you have the time have a look at www.synapticsoup.com, www.codecult.com, www.3dstate.com and give me your opinion .Thanks again.


  • Hey Antony,
    I checked out the sites. The engines seem fine. Cipher looks very appropriate for the kind of game exprience you'd like to gain. It's hard to tell about "CodeCreatures"--it looks like it might be more of a Sim/visualization engine than a full-on 3D game engine.

    Either way, I expect the licensing fee could be a bit high. At 1000 pounds, Cipher doesn't come cheap. I would recommend that you *really* make sure it's the product for you before you invest. I think that's why GameStudio might be a good choice. For $50, you can get a good taste of the technology involved in making a full 3D game. I don't know how much programming experience you have, but if you're new to C/C++ programming, you might find that jumping straight into 3D is too much, too soon. If that's the case, it might be a mistake to pay 1000 pounds for a game engine you decide you don't want.

    Whatever you decide, I wish you the best of luck. Feel free to ask more questions and/or trade more links.

    Cheers!

    Kreitler


    : [b][red]This message was edited by Antony at 2003-4-1 16:48:10[/red][/b][hr]
    : I was thinking of the "Cipher" game engine from the UK company Synaptic Soup, the "CodeCreatures" engine from the German company CodeCult and the "3DState" engine.If you have the time have a look at www.synapticsoup.com, www.codecult.com, www.3dstate.com and give me your opinion .Thanks again.
    :
    :
    :

  • [b][red]This message was edited by Antony at 2003-4-2 5:54:42[/red][/b][hr]
    In one of your replies you said that if I decide to get involved with the app-side position,meaning that I will be the engine user,I should learn Ai,physics or object behavior.Since I decided to use the Cipher Engine--Synaptic Soup gives you the engine without money as long as you use it for non-commercial use and the download is only 26MB check it out--what would be best for me to learn to do with an engine and where,what books so to speak,should I read?
    If you have the time have a look at www.quest3d.com and www.virtools.com and give me your opinion.
    I dont know how to thank for finding the time to answer me all these questions.Thanks again.


  • Hey Antony,
    I haven't read that many game programming books, so I can't recommend any first-hand. However, I have heard of several good ones, and have seen other people in the industry use them. These are:

    Game Programming Gems
    Game Programming Gems II
    Game Programming Gems III
    AI Programming Wisdom

    I think these books assume you know some C/C++. If you're planning on using C++ but you don't have much experience with the language, you'll probably need a book on beginning C++ programming (there are many out there from which to choose). Also, if you're relatively new to C++, I strongly recommend "Effective C++:50 Specific Ways to Improve Your Programs and Design (2nd Edition)" by Scott Meyers. It's not a game programming book, but it will make your C++ coding much stronger.

    I hope these suggestions help.

    Kreitler

    : In one of your replies you said that if I decide to get involved with the app-side position,meaning that I will be the engine user,I should learn Ai,physics or object behavior.Since I decided to use the Cipher Engine--Synaptic Soup gives you the engine without money as long as you use it for non-commercial use and the download is only 26MB check it out--what would be best for me to learn to do with an engine and where,what books so to speak,should I read?
    : I dont know how to thank for finding the time to answer me all these questions.Thanks again.
    :

  • I was wondering what your views are on 3D Rad? I bought the lite version, but have not tried to develope a game with it as of yet. --JackC


  • Hey Jack,
    I don't know if you intended your question for anyone in particular, so I thought I'd throw in my 2 cents' worth.

    I have no experience with 3D Rad. I checked out their web site, and the engine looks fairly good (especially considering the widespread application). It looks like you interact with the game objects via a BASIC-like scripting language. If, like Antony, you're wondering how a package like this would figure into the professional gaming industry, I'd say it would be a suitable tool to teach a person level design and scripting. It's too high level to provide much practical programming experience--however, it's almost identical to the level at which game and level designers work.

    I hope that's the kind of information you were after.

    Cheers,
    Kreitler


    : I was wondering what your views are on 3D Rad? I bought the lite version, but have not tried to develope a game with it as of yet. --JackC
    :
    :
    :

  • Thank you! You were the one I had intended the message for. That's the info I was looking for.

    I appreciate your taking the time to enlighten me. Slowly but surely I'm learning the process. Thanks again! --- Jack

    : Hey Jack,
    : I don't know if you intended your question for anyone in particular, so I thought I'd throw in my 2 cents' worth.
    :
    : I have no experience with 3D Rad. I checked out their web site, and the engine looks fairly good (especially considering the widespread application). It looks like you interact with the game objects via a BASIC-like scripting language. If, like Antony, you're wondering how a package like this would figure into the professional gaming industry, I'd say it would be a suitable tool to teach a person level design and scripting. It's too high level to provide much practical programming experience--however, it's almost identical to the level at which game and level designers work.
    :
    : I hope that's the kind of information you were after.
    :
    : Cheers,
    : Kreitler
    :
    :
    : : I was wondering what your views are on 3D Rad? I bought the lite version, but have not tried to develope a game with it as of yet. --JackC
    : :
    : :
    : :
    :
    :



  • Sorry for the delay in replying.
    I would like to ask what are the app-side programmers jobs that you can do when you are using a 3d engine and not building one.Which is the most interesting?How much you should learn to use the 3d engine in the app-side point of view.Thanks.
  • Hi Antony,
    (I couldn't reply directly to your earlier message--the queue had gotten too deep.)

    The app-side jobs available will differ depending on the type of game you're writing and the company for which you work. However, there are some general categories you will find:

    Physics (managing collisions, moving objects in the world, etc).
    Character motion (coordinating animations with AI and user input).
    AI (artificial intelligence for game characters and objects).
    Script programmer (develop and support custom scripting languages).
    Camera AI (write the routines that drive the camera in the 3D world).
    GUI (create the game's graphical user interface).
    Effects programmer (design and implement particle systems, fog effects, etc).
    Other (miscellaneous tasks, like writing load/save routines and controller code).

    In all of these cases, you'll have to interact with the engine code at some level. Depending on the engine, you may have to directly manipulate very low-level code (like building lists of vertices to send to the Graphics Processing Unit).

    In all cases, you'll need to have very good 3D math skills (the more linear algebra you know, and the more comfortable you are with matrix math, the better).

    If you want to write Physics code, you'll want to have a firm grasp of Newtonian Mechanics. Knowing numerical methods for solving difficult equations will help a great deal. Understanding the basics of differntial equations will also be very useful.

    If you're writing the script language, it will help to have a Computer Science background (i.e., you'll want to understand compilers and lexical anaylsis).

    For character AI, it will help to understand algorithms like "a-star" and to have a good grasp of finite state machines.

    For camera AI, all I can say is, "study 3D math!"

    Finally, as to which is the most interesting--that depends on you. Each of these fields appeals to different parts of the brain, and every one can be fun.

    Sorry for the lengthy post. I hope you get some useful info out of it.

    Cheers,

    Kreitler

  • I am more interested with effects and Ai.What books should I read.Can I do effects and Ai with the 3d engine from Synaptic Soup?I mean their functions are going to be suitable for these two things?What programming languages are going to be the best,I favor C.Finally,is their an "engine user" type of job or you must specialize in a field?Thanks for all the replies to my questions.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories