Top Game Development Interview Questions & Answers
Here are Game Development interview questions and answers for freshers as well as experienced Game Developer candidates to get their dream job.
1) What is the basic structure for developing a game?
The basic structure for developing game is
- The game interface
- The implementation of the interface
- The game source code
2) What are the problems you might face while developing game with Java?
- Garbage Collector : Non-deterministic memory management could be a problem
- 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
- Not supported by game Console: Java is not supported by popular game consoles.
- 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.
3) 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
4) 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
5) 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”.
6) 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’.
7) 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.
8) 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.
9) 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.
10) 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
11) 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.
12) 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.
13) 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
14) 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.
15) 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.
16) List down the steps to create a Vertex Buffer Object?
You can create a Vertex Buffer Object in three simple steps
- a) Generate a new buffer object with glGenBuffers()
- b) Bind the buffer object with glBindBuffer ()
- c) Copy the vertex data to the buffer object
17) 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.
18) 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
19) 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.
20) 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.
21) 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.
22) When an “onsurfacechange” can occur?
When the screen size changes the “onsurfacechange” occurs, and this can happen when the device orientation changes.
23) 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
24) What are the gaming engines you can use for developing games?
The different gaming engines you can use for developing games are:
- jMonkey Engine
25) 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 Multiplayer
- e) Live-Wallpapers
- f) MultiTouch
- g) Physics-Engine
26) 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
You can also transform object using properties panel, you can use this method if your need is very specific. To edit the properties of your object you have to
- Go to properties panel
- Click the object icon
You can transform the object by changing its properties in the rotation, location and scale tables To copy an object you have to be in Object mode, and then
- Right click on the object that you want to copy
- Press shift+D to duplicate it first
- Right click on object to get out of grab mode without changing its location
- After that press M to bring up the layer move popup menu
- Click the button for the layer that you want to move it
27) Mention what is the difference between Blender Game Engine (BGE) and Unity3D?
The difference between BGE and Unity3D is
|Platforms||With blender you can export files to Windows, Linux, Mac, Web||With Unity you can make games for Windows, Mac, iOS, X-box, PS3, Wii etc.|
|Graphics||BGE is based in OpenGL but with default GLSL pipeline and only have spot light shadows||It is also based in OpenGL and you can use Deferred Render and Omni/Directional/Spotlights shadows|
|Performance||BGE has issue with optimization in GLSL code and physics||Unity is high in performance and the shaders are optimized|
|Cost||It is an open source||Unity Pro is a paid version and it is expensive|
These interview questions will also help in your viva(orals)