registration
Are you an Employer?

Game Developing interview questions & Answers

Game Developing Related links

List of Topics
Game Developing Interview Questions

Game Developing Interview questions

  • Why Is It Important To Have More Than One Person Creating A Game?

    Every game design needs play testing by many different players. Usually each player tries a different strategy, and so the designer can see which strategies pay off best. A good game design permits many different strategies, balanced so they offer equal chances of success.

  • How To Program To Make Video Games?

    There are software applications that will allow you to make fully functional video games without any programming. But, keep in mind if you want to be really good you need to learn how to program.

  • How To Be An Artist To Design Video Games?

    There is plenty of prepackaged images and art that you can use either for free or by purchasing that you can use in your video games. But if you want to get really good then you have to put in the time to develop your artistic skills.

  • Is Game Development Subcontracted?

    I was having a conversation with someone who believed that components of a games code where subcontracted out to programmers in different countries where it would be cheaper, then assembled by the local company. I understand that people often use pre-built engines but I would think that making the actual game would require people to work closely in the same studio.

  • Is Java Viable For Serious Game Development?

    Yes it is, check this list for a proof. Those are some games made with Java using The Lightweight Java Game Library (LWJGL). It is a low-level framework, which provides OpenGL for high quality graphics and OpenAL for sounds. It also provides input API. With these you can quite easily get started to serious game development in Java.

    I am currently writing my second 3D game as a hobby project in Java, and I just love it. In the past I used to write my games with C++, but after switching to Java there is no going back. Supporting multiple operating systems with Java can be very easy, for example my previous Java game, which I developed in Windows for a year, worked in Linux right away and in OS X with only one bug without any need to compile anything on those platforms.

    On the other hand, with Java you have couple of problems.

    1. Garbage collector. As others have stated, non-deterministic memory management is a problem, and you need to code that in mind.
    2. Lack of 3rd party libraries. Most of the available libraries do not support Java. On the other hand you always have the option to call these native libraries from Java also, but it's more work to do so. There are also Java ports or ready-made wrappers available for popular libraries, for example I'm using JBullet - Java port of Bullet Physics Library. On the other hand Java has a huge class library built-in, which reduces the need for third party libraries that are not game related. The lack of libraries has not been a problem for me, but I can imagine that it can be for others.
    3. Java is not supported by popular game consoles and there is no easy switch to those from Java as far as I know. On the other hand Android, which is a popular mobile platform, uses some form of Java. This is an option also, but don't except the same Java code to work both on a PC and Android device.
    4. Smaller community. Most game programmers use C++ and in my experience often dislike Java. Don't expect to get as much help from others. Don't expect to get a job in game development without C++ skills.
  • Is There A Portal Dedicated To Html5 Games?

    Just to get something straight; by "portal", I mean a website that frequently publishes a certain type of games, has a blog, some articles, maybe some tutorials and so on. All of these things are not required (except the game publishing part, of course), for example, I consider Miniclip to be a flash game portal. The reason for defining this term is because I'm not sure if other people use it in this context.

    I recently (less than a year ago) got into HTML5 game development, nothing serious, just my own small projects that I didn't really show to a lot of people, and that certainly didn't end up somewhere on the web (although, I am planning to make a website for my next game). I am interested in the existence of an online portal where indie devs (or non-indie ones, doesn't really matter that much) can publish their own games, sort of like "by devs for devs", also a place where you can find some simple tutorials on basic HTML5 game development and so on... I doubt something like this exists for several reasons:

    1. You can't really commercialize an HTML5 game without a strong server-side and micro transactions
    2. The code can be easily copied
    3. HTML5 is simply new, and things need time to get their own portals somewhere...
  • What Is The Difference Between A Game Director And Game Producer?

    It really varies from shop to shop and even project to project as shops refine their own particular job descriptions and organization.

    In general if there is a game director listed this position would be involved with creative decisions and communicating them to the team while the game producer would be more involved with schedule and business decisions and dealing with investors / publishers. In some shops what they call a producer is also driving creative direction and works close with the discipline leads on creative decisions much like a game director. In other shops the game design lead is effectively the game director.

    Sometimes the design lead and producer attempt to split the duties of a game director, often with mixed results.

  • Is There A Centralized Database Of Game Names And Ids?

    Alien Shooter II - Vengeance
    Alien Shooter: Vengeance

    Is there some place that I can go to get an ID or the 'canonical' name for these games? I suspect that they are the same game, but it's very hard to say for certain.

  • Do Playfish And Zynga Use Flash Game Engines?

    Briefly, yes. Zynga's Café World and PlayFish's Restaurant City uses Away3D.

    I think developers might use more of 3d engines because 3d is not everyone's cup of tea - they can just focus on implementing game logic and mechanics instead of meddling with math. However they would shy away from game engines like Flixel, for reasons that Nick Wiggill has mentioned. (eg. risk of middleware)

  • What's The Url Of The Video Showing An Ea Representative Talking About Game Programming?

    The video shows an EA representative talking about how a programmer can get into the industry by showing some demos (in fact, he shows a physics demo presented by a candidate who wanted a job at EA). The demo shown depicts kind of a ragtime doll made of yellow cobblestones.

    I don't remember if I watched on YouTube or Vimeo and I frankly cannot find it after a few hours of work. I just remember the fact that it was taken at a GDC or a SIGGRAPH convention. Thanks in advance. I'm really frustrated because I'd love to show this video to some fellow developers

  • How Can I Measure The "creative/entertainment Value" Of Video-game Requirements?

    The only real way we have to test such things is with, well, testing. Professional game developers will tell you all the time that the single most effective way to know if certain gameplay is working and fun is to give it to players and observe.

    Indeed, one of the reasons that achievements are everywhere these days in games is because they give invaluable information to the developer. If you want to know where players stopped playing your game, make an achievement for completing each level. If you want to know how many players aren't playing a certain race in Civilization, look at how many people got the achievement for playing that race. And so on.

  • What Popular/famous Games Are Written In C?

    Doom, Quake, pretty much all id games up until id Tech 4.

  • What Is The Average Job Length In The Game Industry?

    Since the industry is project based job length tends to be directly associated with product cycles.

    The is often the result of the post ship layoff. Companies tend to dump staff once a project ships since they don't need a full production team for pre-production on the next project. Now the nicer companies tend to use temporary contract hires for short term production staffing needs. This lets the employee know that they likely don't have a paycheck when the project ends. However the big publishers regularly cut even full time staff once the xmas games are sent to manufacturing.

    The other piece is that when finishing up a title employees are more likely to look around at other options. If you've just shipped your third football title and are burned out on the genre you tend to wait until the game is done and then find another job somewhere else.

    While there are some devices that have spent an entire career at a single company, what is far more common is finishing 1-2 games at a developer and then moving off to another one.

    I am a 2D Game Programmer.Some programming languages which I am good at are C,Java ,C#. I also know Actionscript 2.0,3.0 and some javascript. I'm interested in learning 3D Game programming. So far from the research I have accumulated by googling and reading different game development forums and articles. I've noticed that most programmers tend to prefer C++.Also in an online game programming teaching course I noticed they prefer to teach C++ and Visual C++ as the starting course. The reason I am asking this question since I would like to know the "strength" difference of C++, C# and Java for 3d game programming.

  • Is C++ "still" Preferred In Game Development?

    Yes, C++ is the language used most often (though some people do still use C).

    There are numerous reasons for this. Sheer momentum is one - it's simply the language that has been used for years, a lot of tech already exists and people are comfortable with it, so changing is not going to happen overnight.

    Then there is the issue of control. Game developers are control freaks, and we like to know everything that is going on in our code. C++ gives us that control, C# and Java (to pick on the two alternatives you mention) take control away. In many ways that might be a good thing, but game coders don't like it :) Finally there's the simple practical issue that the SDKs for various platforms are very C++ centric. Using another language inevitably involves writing wrappers, cross-compiling down to VMs, and possibly (in the case of some console development) it's not allowed by the platform holder (they really don't like people doing JIT compiling, for a start).

  • What Is "pixel Art"?

    As a quick search will tell you, pixel art is digital artwork that is created by drawing individual pixels in an image rather than say, rendering a 3D model. It commonly refers to clean, cartoonish graphics reminiscent of old 2D video games.

  • Any Good Web Frameworks For Asynchronous Multiplayer Games?

    Service Stack for services and serves up XML, JSON etc. Amazing in general for setting up the services. Also cross platform.

    As far as 'DB communication', if you are able to use Windows Server for hosting, Entity Framework works well, however is code gen but very easy to use and code against. There might be alternatives like DbLinq (Linq To SQL for Mono), but haven't tried it so not sure on how easy it is to use.

    Obviously, this is only really an option if you don't mind coding all this in C# and doesn't take care of all the database design you'll have to do, but that kinda goes with game logic.

  • What Is The Basic Structure For Developing A Game?

    The basic structure for developing game is
    a) The game interface
    b) The implementation of the interface
    c) The game source code

  • What Are The Problems You Might Face While Developing Game With Java?

    a) Garbage Collector : Non-deterministic memory management could be a problem
    b) Lack of third party libraries: Most of the available libraries do not support Java. Java has huge class library built in but they are not game related
    c) Not supported by game Console: Java is not supported by popular game consoles.
    d) Smaller Community: Most game programmers use C++ , so if you are developing games on Java, you can expect least help from others as very few programmers can give you the solution for your query.

  • What Are The Models Used To Make Money In Gaming Business?

    a) Charge Per Copy
    b) Monthly Subscription
    c) Micro-transactions
    d) Pay-per-Play
    e) Ad-based
    f) Provider billing
    g) Merchandising
    h) Code Licensing
    i) Sponsorship

  • Why C++ Language Is More Preferred For Game Development?

    a) Game developer are more comfortable with C++ language as it is used for years
    b) SDKs for various platforms are C++ centric
    c) C++ gives more control than C and Java

  • What Is “pixel Art”?

    A digital art which is created by drawing individual pixels in an image rather than rendering a 3D model is known as “Pixel Art”.

  • What Do You Mean By “lag” ?

    In online gaming, the delay between the action of players and the response time of the server is known as ‘Lag’.

  • How Can You Reduce Game Lag?

    To reduce game lag you can either lower the performance setting for the game or by upgrading certain parts on your computer.

  • What Is Cloud Gaming?

    In Cloud gaming, the game is hosted on a game server in a data center, and the user is only running a client locally which forwards game controller actions upstream to the game server.

  • Name Some Of The Html5 Framework Game Engines?

    Some of the HTML 5 framework game engines are
    a) Construct 2
    b) Turbulence
    c) CAAT
    d) Phaser etc.

  • How Good Bitbucket/github Is For Game Development?

    Bitbucket is a code hosting service and not a file sharing service. It is compatible for small size game development, but if you are handling extremely large files or frequently changing binary files Github would not be useful. Bitbucket can’t display differences on binaries

  • What Is Punkbuster? How Does It Work?

    To prevent and detect the software for cheating in online games, a computer program is designed known as ‘PunkBuster’. It scans the memory contents of the local machine and prevents other software’s from doing malfunctioning. In most modern games PunkBuster is used to keep out hackers or cheaters online.

  • In Java Game Development What Does The Animation Thread Class Holds?

    The animation thread class updates the DrawablePanel for game logic and forces a redraw of the panel. It holds a reference to the Drawable Panel.

  • What Are The Android Tools Used For Developing Games?

    Various tools required for developing games are
    a) Eclispse: Integrated Development Environment (IDE)
    b) ADT- Android’s Eclipse Plugin
    c) Android SDK-includes ADB
    d) Hudson- Automatic build tool

  • In Android, How You Can Use Load Texture Method To Load The Image?

    The load texture method will take in an image pointer and then load the image into a stream. The stream will then be loaded as a texture into OpenGL.

  • What Is Vertex Buffer Object?

    Vertex Buffer Object is a method for uploading vertex data to the video device for non-immediate mode rendering. Vertex Buffer Object is an OpenGL feature.

  • Point Down The Advantages And Disadvantages Of Using Packed Buffers?

    The advantage of using packed buffers is that it is more efficient for the GPU to render, since all of the information needed to render is located within the same block of memory. The drawback of packed buffer is that it would be difficult and slower to update if you are using dynamic data.

  • List Out Different Methods Used For Storage In Android?

    The storage methods used in android are
    a) Shared Preferences: Store private primitive data in key value pairs Internal Storage: Storage of private data on device memory
    b) External Storage: Storage of public data on shared external storage
    c) Network Connection: With your own network server you store data on the web
    d) SQLite Databases: In private database it stores structured data

  • What Is A Game Loop?

    For any game development game loop acts as a central component. To make necessary updates and to check the changes in the game, loop is useful. Graphics, movement, controls etc. all rely on the game loop.

  • What Is Fps?

    FPS means frames per second, which tells about how much information is used to store and display motion video. Each frame is a still image, and the illusion of motion is created by displaying these frames in quick succession.

  • What Is “onsurfacecreated” In Android Game Development?

    “OnsurfaceCreated” is called every time the drawing surface is created. This can happen when the application starts or when it becomes active after being sent to the background or when the orientation changes. After a context loss, all these events are triggered, so every asset will be lost and have to be recreated. All assets and application objects should be recreated at this place.

  • When An “onsurfacechange” Can Occur?

    When the screen size changes the “onsurfacechange” occurs, and this can happen when the device orientation changes.

  • What Are The Common Errors Done By Programmer While Programming?

    The common errors done by programmer while programming is
    a) Undeclared Variables
    b) Uninitialized Variables
    c) Setting a variable to an uninitialized value
    d) Checking equality using single equal sign
    e) Undeclared functions
    f) Extra Semicolons
    g) Overstepping array boundaries
    h) Misusing the && and l l Operators

  • What Are The Gaming Engines You Can Use For Developing Games?

    The different gaming engines you can use for developing games are:
    1) AndEngine
    2) Rokon
    3) Libgdx
    4) Android-2D-Engine
    5) jMonkey Engine
    6) Cocos2D-Android

  • What Are The Main Features Of Andengine?

    The main features of AndEngine includes:
    a) Android-Optimized
    b) Android 1.6 Compatability
    c) SplitScreen
    d) Network Multiplaye
    e) Live-Wallpapers
    f) MultiTouch
    g) Physics-Engine

  • Explain About Objects In Blender?

    Blender is a 3D computer graphics software program for developing visual effects, 3D games, animated movies, and software.  It is an open source program.

    In Blender to manipulate objects, when you push “space” tab it will open a menu bar, from there, you can select the object of whatever size you want as a sphere, cube, etc. You can do many activities like add, delete, move, scale and even rotating the objects, once you select an object.

    •To merge two objects into one in Blender, you have to follow the following steps
    •Select both object in object mode
    •Now to join the object into one Press Ctrl+J
    •Enter edit mode and change it to face manipulation mode
    •Remove the surface or faces that will be joined with each other by pressing X
    •Switch back to Vertex Manipulation mode

    Join the objects by selecting the corresponding vertices from each object and using F to create a new face After pressing F, the two object will merge as a single object