JIRA Interview Questions

JIRA Interview Questions

1. Explain What Is Jira?

JIRA is an issue tracking product or a software tool developed by Atlassian, commonly used for bug tracking, project management and issue tracking; it is entirely based on this three aspects.

2. Explain What Is A Workflow?

Workflow is defined as a movement of the bug/issue through various stages during its life-cycle


WIP (Work In Progress)


3. What Can Be Referred As An Issue In Jira?

In JIRA, an issue can be anything like a

Software bug

The project task

A help-desk ticket

The leave request form

4. List out The Source Control Programs With Which It Integrates?

It integrates with source control programs such as CVS, Git, Subversion, Clearcase, Visual SourceSafe, Mercurial, and Perforce.

5. Why Use Jira?

The reason behind using JIRA is

Upfront and fair licensing policy

Features that is not available elsewhere

Get latest update on the progress of projects

It run anywhere and recognized with many famous companies

Easily extensible and customizable

6. Is It Possible To Access Jira Cloud Site Via A Mobile Device?

Yes, it is possible to access JIRA cloud site via a mobile device. You have to just use the URL of the JIRA cloud site in your mobile web browser.

7. Can You Disable Jira Mobile For The Site?

You can disable JIRA mobile for the site, so that users can be unable to operate the desktop view of JIRA on their mobile device.  JIRA mobile comes as a system add-on and can be disabled any time.

8. Explain Labelling And Linking Issue In Jira?

Labelling Issue: It enables you to categorize an issue in a more informal way than assigning it to a component or version. You can then search issues according to label.

Linking Issue: This feature enables you to link an association between two issues on either on the same or different JIRA servers.

9. Mention The Types Of Reports Generated In Jira?

JIRA offer reports that show statistics for projects, versions, people or other fields within issues.  Various reports included with JIRA are

Average Age Report

Pie Chart Report

Resolution Time Report

Recently Created Issues Report

Resolved vs. Created Issues Report

Single Level Group by Report

Time Tracking Report

User Workload Report

Workload Pie Chart Report, etc.

10. Explain What Is Cloning An Issue?


Cloning as issue allows you to create a duplicate of the original issue so that many employees can work on a single issue within a single project. The clone issue can be connected to the original issue.  A clone issue holds following the information






Issue Type



Components, etc.

11. Mention What Things Are Not Included In Cloned Issue In Jira?

Time tracking

Issue history


12. Explain What Is The Use Of “move Issue” Wizard In Jira?

The move issue wizard enables you to specify another project in your JIRA instance. Move wizard permit you to change certain attributes of an issue like

Issue Type: If your issue is a custom issue type and does not occur in your target project, you must choose a new issue type for your issue

Issue Status: If you have assigned your issue as a custom issue status and it does not exist in your project, you must select a new issue status for your issue

Custom Fields: If you have determined required custom fields for your issue, which do not occur in the target project, you must set values for them.

13. How Security Setting Is Helpful In Jira?

JIRA’S security setting restricts the access to the issue to only those person who is allowed to work on the issue or a member of the chosen security level. Security level of an issue can be set either when the issue is created or when the issue is being edited

14. Explain How You Can Share An Issue With Other Users?

You can email an issue by using the share option in JIRA. You can also email other JIRA users a link to the issue by sharing the issue with them or by mentioning them in an issue’s Description or Comment field.

15. Explain How You Can Modify Multiple Bulk Issues?

To modify multiple bulk issues, you can use Bulk Change option from the “Tools” menu of the navigator.  All the issues on the current page can be selected for the bulk operation. 

The following list details the available bulk operations like:

Workflow Transition




16. Explain How You Can Disable Mail Notification For Bulk Operations?

To disable mail notification for a particular Bulk Operations, you have to de-select the “Send Notification” checkbox in the bulk operation wizard.

17. What Does An Issue Change History Include?

Issue change history includes

Deletion of a comment

Deletion of a worklog

Creation or deletion of an issue link

Attachment of a file

Changes to an issue field

18. Explain What Does The Three Color Indicates Tracking Times Or Duration For An Issue?

Three color will be displayed representing the amount of time spent behind the issue:

Original Estimate (Blue): The amount of time originally estimated to resolve the issue

Remaining Estimate(Orange): The remaining amount of time left to resolve the issue

Time Spen or Logged (Green): The amount of time spent so far while resolving the issue

19. Mention Some Of The Popular Add-ons For Jira?

Some popular add-ons for JIRA include,

Suites utilities for JIRA

ScriptRunner for JIRA

Zephyr for JIRA – Test Management

JIRA Toolkit Plugin

Atlassian REST API Browser

Portfolio for JIRA

JIRA Misc Workflow Extensions

Tempo Timesheets for JIRA

JIRA Charting Plugin

20. Mention What Is Schemes In Jira?

Schemes are a major part of JIRA configuration. It is a collection of configured values that can be used by one or more JIRA project. For instance, Notification Schemes, Permission Scheme, Issue Type Scheme, and so on. There are total seven types of schemes.

21. Mention What Can Be Configured For Jira Project And Issue Type?

You can configure following things for each pair of an issue type and JIRA project.


The order of custom fields appears on an issue screen.

Workflow of an issue including the statuses.

Which custom fields and system an issue can use?

Project accessibility.

Permissions for what a user can do with an issue.

Versions and components available for an issue.

22. Mention Is It Possible To Get Back Up Your Jira Cloud Data?

In JIRA, you can take backup of your JIRA cloud data using Backup Manager. But only one backup file is stored at a time. The existing backup is overwritten by new ones.

23. Mention What Data Can Be Backed Up?

The backup data includes:

Attachments if selected

Users and their group settings



24. Mention Some Useful Tips On Jira Workflow?

As such Statuses are global objects in JIRA. Changing the name of the status on one workflow will change the status on all workflows that use that status

Hover over a status or transition to see the relevant transition labels

One cannot clone transitions in the workflow designer

In the workflow designer, one cannot create annotations

Directly you cannot set the issue.editable property.

25. Mention What Are The Limitations When Editing An Active Workflow?

If a workflow is active, you cannot edit the workflow name (only the description)


You cannot delete the workflow steps

A step associated status cannot be edited

You cannot add any new outgoing transition if a step has no outgoing transitions (Global transitions are not considered).

A step’s Step ID cannot be changed.

26. In Jira Workflow, Is It Possible To Transition An Issue Back To Its Previous Status?

Practically, it is not possible to transition an issue back to its previous status.  However, you can use “onhold” feature to transition an issue back to its previous status. Here are the steps,

In workflow, Create a global transition to the ‘On Hold’ status.

Now from ‘On Hold’ status create another transition to every other status you want to come back to

Since the transition names cannot be the same, just add a blank space at the end of it.

Now you don’t want the status transition from the ‘On Hold’ and ‘Done’ to ‘On Hold’ So you will hide the other status “On Hold” by adding the value field condition on the global transition.

27. Mention What Is The Role Of Validators In Jira?

The Validators in JIRA checks that any input made to the transition is valid before the transition is performed. If a validator fails, the issue will not progress to the destination status of the transition.

28. Mention What Types Of Post Functions Are Carried Out After The Transition Is Executed?

Types of Post functions carried out after transition is executed includes

Adding a comment to an issue

Generating change history for an issue

Updating an issue’s fields

Generating an event to trigger email notifications

29. What Is An Event In Jira?

The events are classified in two a System event (JIRA defined events) and Custom event (User defined events). An event describes the status, the default template and the notification scheme and workflow transition post function associations for the event.

30. What Is Audit Log?

Under Audit Log, you can see all the details about the issue created, and the changes made in the issues.

31. For A Agile Project, How User Stories In Jira Are Created?

For Agile project to create user stories in JIRA, follow below steps:

Issue type -Epic and Issue type – Story linked to it. In order to do so, in the ‘Create Issue’ page, go to “Configure Fields” and select “Epic link” field to be included in the issue creation screen.

Or you can have a product backlog by creating a main User story and having various sub-tasks under it.

32. Mention What Is An “issue Collector”?

An “issue collector” enables you to easily embed a JIRA feedback form into your own web site.This helps website visitors to log issues into JIRA through our website. To use JIRA feedback form, visitors to our website do not need a user account in JIRA.

33. Mention The Difference Between Bugzilla And Jira?


It is an Open Source

Using Bugzilla might be little complicated for few due to grouping users and granting permissions

Bugzilla allows you to show/hide the whole custom field or specific values based on the value of some other field

Bugzilla’s has a powerful advanced search option

Unlike JIRA, Bugzilla allows users select the initial status of a new issue.

Bugzilla has only one link type: Blocks/depends and a Bug ID custom field


It is a commercial tool.

For some using JIRA would be more convenient than Bugzilla

JIRA enables conditional configuration based only on Type fields and Project.

JIRA lacks advance-level search options. JIRA has flexible JQL language (JIRA Query Language). It enables you to build arbitrary boolean expressions.

Unlike Bugzilla, JIRA enables you to define multiple workflows which are applied based on the issue’s Project and Type.

JIRA has configurable link types with user-defined semantics. JIRA enables to link an issue to any other entity outside JIRA.

34. What Comes Under Jira Schema?

JIRA Schema consists of the following:


Issue types

Custom fields


Field configurations



35. How Is Security Setting Helpful In Jira?

Security setting for any issue is defined or say set either at the time of creation of the issue or while editing the issue. The basic reason for security setting is to restrict the user access to the issue so that not all users are able to work on that issue. Security setting also allows the access of the issue to the member of chosen security level.

 36. When you log a defect using TestDirector or JIRA what fields do you see?

When we log a defect, we see Defect ID (it shows later in TestDirector), Summary (where we write short description of the defect), Description (long description of the defect), Detected by (Person who found the defect, (it’s you), Severity (meaning-is the defect critical? High? Medium? Or Low?), Date, Detected in Version, Priority, Project, Status, Assigned to and so on. Click the link below to see the fields when you report defects in JIRA or TestDirector:

Defect Fields in JIRA

 37.List out the source control programs with which it integrates?

It integrates with source control programs such as CVS, Git, Subversion, Clearcase, Visual SourceSafe, Mercurial, and Perforce.

38.What does an issue change history include?

Issue change history includes

Deletion of a comment

Deletion of a worklog

Creation or deletion of an issue link

Attachment of a file

Changes to an issue field

39.Explain how you can disable mail notification for Bulk Operations?

To disable mail notification for a particular Bulk Operations, you have to de-select the “Send Notification” checkbox in the bulk operation wizard.

40. Explain how you can modify multiple bulk issues?

To modify multiple bulk issues, you can use Bulk Change option from the “Tools” menu of the navigator. All the issues on the current page can be selected for the bulk operation. The following list details the available bulk operations like


low Transition




41.Explain how you can share an issue with other users?

You can email an issue by using the share option in JIRA. You can also email other JIRA users a link to the issue by sharing the issue with them or by mentioning them in an issue’s Description or Comment field.

Learn  JIRA by Tekslate - Fastest growing sector in the industry.

Explore  JIRA Training Online and course is aligned with industry needs & developed by industry veterans.

Tekslate will turn you into  JIRA Expert.

42.Mention the types of reports generated in JIRA?

JIRA offer reports that show statistics for projects, versions, people or other fields within issues. Various reports included with JIRA are

Average Age Report

Pie Chart Report

Resolution Time Report

Recently Created Issues Report

Resolved vs. Created Issues Report

Single Level Group by Report

Time Tracking Report

User Workload Report

Workload Pie Chart Report, etc.

For in-depth understanding of JIRA click on JIRA Tutorials

43. Why is JIRA used?

Atlassian JIRA is basically an issue and project tracking tool which allows us to track any project related work by following a proper workflow. Enlisted below are few reasons which determine the usage of JIRA:

Able to track project progress from time to time.

JIRA use-cases include project management, feature implementation, bug tracking, etc.

Work-flow can be easily customized as per our requirement.

Along with issue tracking, history of the work done on issues, when, what and by whom can also be tracked.

JIRA is platform independent and can run anywhere.

44. Enlist report types generated by JIRA.

There are multiple reports available in JIRA which are used to show the project statistics throughout the project life cycle. There are general reports available for analyzing issues as well as different reports for Scrum projects and Kanban projects.

Following are the general reports generated as and when required for analyzing issues:

Average Age Report

Created vs Resolved issue Report

Pie Chart Report

Recently created Issue Report

Resolution Time Report

Time Tracking Report

User Work load Report

Version Work load Report

Workload Pie chart Report

Following are the examples of reports generated for Scrum projects:

Sprint Report

Control chart

Burndown chart

Cumulative Flow diagram

Epic Report

Release Burndown

Velocity chart

Version Report

Following are the examples of reports generated for Kanban projects:

Control chart

Cumulative Flow diagram.

For generating reports for your project, follow the below steps;

Navigated to desired project dashboard.

Click on Reports tab from left-hand side to view different reports.

Click on Switch report to view the different report.

(Note: Click on the image for enlarged view)

45. Explain step by step how an issue is created in JIRA.

Whenever an issue or defect is encountered while testing, it needs to be reported so that the developers can work on it and take the necessary action to fix it. We will see step by step how an issue is created in Atlassian JIRA.

1) Log in to your JIRA account by using valid credentials and get directed to the dashboard.
2) Click on ‘Create’ button displayed and you will be navigated to a window for creating an issue.
3) Enter all the necessary details as required to create an issue. As you can see in the below image:

In Project field, project for which we are creating an issue is selected. In this example: STH_Learning(STHL) is selected from the dropdown containing all the available projects.

In Issue type field, the nature of the issue is selected from the dropdown which contains option like Bug, Task, Improvement, Story, New Feature, etc. In this example, ‘Bug’ is the nature of the issue.

Summary field contains the one line title of the issue which imparts the critical information about the issue in a summarized way. The more effective the issue headline, the more you can show the criticality of the issue. Of course, the headline should be easily understood without any chances of misinterpretation. The example I have taken here, however is not much critical.

The Reporter is the one who reports the issue. In most of the cases, the name of the Project manager is selected in this field.

In Description field, the detailed description of the issue is written. As you can see in the below example screenshot, Steps to reproduce the issue, Actual result, Expected result are included in the description.

In Affect Version field, the current build version the project is selected in which the issue has been encountered.

Fix version field is basically selected by the concerned developer people, who choose the version as and when the work for the particular issue has been finished and the issue has been fixed.

Priority field defines which issue should be considered first to be fixed. Tester selects the priority of the issue from the dropdown based on its effect on the application. This example issue is basically of a Medium priority.

In Attachment field, any video or screenshot related to the issue is being uploaded.

In Environment field, operating system and browser details are mentioned on which issue has been encountered.

4) After all the details have been completed, Click on ‘Create’ button displayed on the window to create the new issue.

5) Issue id is generated which can be used in future reference for tracking the progress of the issue.

 5) Explain the three color indicators and their significance.

: For any particular issue in JIRA, 3 colors like Blue, Green and Orange is used to denote the amount of time spent on any particular issue. This information is displayed under ‘Time Tracking’ section. Each colour has its own significance like;

Blue: This color is to denote the ‘Original Estimate’ i.e. the time estimate to be invested in resolving the issue. This field has been labeled as ‘Estimated’.

Orange: This color determines the time left for resolving the issue. This field has been labeled as ‘Remaining’.

Green: This color defines the actual time that has been used or say spent in resolving the issue so far. This field has been labeled as ‘logged’.

46. For any particular issue, what all are included under change history?

Change history section displays the activities of changing any records with information regarding the person who has made the change as well as the time at which the changes have been made. The change history also displays the information about the old and new field values in the case of the change in any field. Basically,  change history includes the following records of the changes:

Creation and deletion of a comment.

Creation and deletion of an issue link.

Deletion of a worklog.

File attachment changes

Issue field changes

The change history for any issue can be viewed in JIRA by following steps:

Open any particular issue.

Click on ‘History’ tab present in the ‘Activity’ section.

47. Mention a way with which an issue can be shared with other users in JIRA.

An issue can be shared with other users in JIRA by using the share option available on the issue description page.

When share option for any particular issue is clicked, it contains the link to the issue to be shared along with ‘Username or Email’ and ‘Note’ field that has to be filled.

48. What is the importance of labeling issue?

Labeling an issue is basically done to categorize an issue within a particular section which in turn can be easily searched with the help of labels. Label for a particular issue can be initially set at the time of creating the issue, while it can edit also within the issue. Label field is displayed under the ‘Details’ section as shown below in the figure:

49. How is an issue linked in JIRA?

As the name itself defines, Linking means the association between the two. In the same way, in JIRA issue is linked with any other issue in cases like:

Relate to another issue

Duplicate to another issue

Block another issue.

For displaying the details of the Linked issues, there are two fields available in JIRA: ‘Linked issues’ and ‘Issues’.

Linked issue section contains the dropdown for the options to be selected as the reason for linking the issue. As per the selected option, the suggestion of the issues to be linked in displayed in ‘Issue’ dropdown.

Linking of issues can be done either on the same or different JIRA servers.

50. What is the purpose of JIRA dashboard?

The first page which is displayed whenever we get logged in to JIRA application is ‘Dashboard’ which is basically the default or system dashboard. A personal dashboard can also be created and designed by adding different gadgets and can be edited also as and when required. These gadgets are the means to display the project progress in terms of issues, etc. Let us understand in steps how a personal dashboard can be created:

1) Enter valid credentials and get navigated to JIRA dashboard.
2) Click on “…” displayed on the upper right hand side and choose option ‘Create dashboard’. You can also choose ‘Copy dashboard’ in the case of copying the currently viewed dashboard.

3) ‘Create Dashboard’ page is displayed.
4) Enter all mandatory information and click on ‘Create’ button.

5) After creating a dashboard, you get navigated to a page where there are multiple options to select and add gadgets to your dashboard.

6) There is also an option available to choose and edit the layout of your dashboard.

Any particular Dashboard can be edited, copied, shared, delete from the Manage dashboard section.

51. What do you mean by Scheduling an issue?

Scheduling the issue means scheduling the work of issue for a particular ‘due date’. For this function to work, one must have ‘Schedule issue permission’ by JIRA Administrator. In this case, a field with ‘Due Date’ is being populated.

52. Explain how particular project details are listed in JIRA.

Every project has some main attributes which have to be displayed in the project summary. This attributes include:

Name of the project



Versions (if present)

Please refer below screenshot of Project ‘STH_L’ summary page as your reference. Although not much activity has been done in this project but this image will give you a clear idea.

As you can see from the image, the middle display area of the page shows the ‘Activity’ screen containing details on the activities done on issues or project.

The right hand side section displays the basic information about the Project like Project Lead, Key, Issue Status, etc.

The left hand side contains various options like Components, issues, Reports, Active Sprints, etc. The related information is displayed as per the selection from the option. For Example: If I select the ‘Issue’ option, the below displayed screen will appear.

53. What are issues types that are created and tracked via JIRA?

JIRA has some defined set of default issue types which are displayed under ‘Issue Type’ section. Other issue types can be added, edited and deleted as per requirement of the project. Some of the common issue types are Bug, Task, Sub-task, Epic, Story, etc. Their details can also be seen under Issue type section as shown below in the figure.

As the definition of ‘Issue Type Schema’ mentioned in JIRA application,

An issue type scheme determines which issue types will be available to a set of projects. It also allows specifying the order in which the issue types are presented in the user interface. There are two types of issue type schema:

Default Issue type schema

Scrum Issue type schema

54. How is a sub-task created in JIRA?

Sub-task is the way of splitting up of parent issue into a number of small tasks which are tracked and worked on separately. The parent issue contains the information of all its sub-tasks which can be only of the same project. A parent issue cannot be closed unless and until all its sub-tasks are closed. A sub-task has the same fields as that of any standard issue but their issue types are different. Now, let us see step by step how a sub-task is created. I have created an issue in the below example for the understanding creation of sub-task.

1) Open a parent issue by searching with an issue id or create any new issue id.
2) On the right hand side of the issue description screen, you will see “…” . Click on it and options are displayed.
3) Click on Create Sub-task from the displayed dropdown option.

4) Create sub-task window is displayed.
5) Enter all the mandatory details and click on ‘Create’ button.

6) Now the created sub task gets added to the parent issue under sub-task section as shown below in the figure:

7) There are also options available to convert an issue into a sub task as well as sub task into an issue.

55. Explain the term Cloning an issue.

Cloning an issue means copying an issue. In this condition, a clone of the original issue is created which consist of same information as is present for the original issue. Cloning of the issue is done so that multiple users can work on the same issue, however, the operation done either on the original issue or clone issue has no effect on each other. All the information of the original issue are cloned expect few as mentioned below:

Time tracking


Issue history

Status and Resolution

Let us see how to create a clone of an issue:

1) Open any issue by searching with an issue id or create any new issue id.
2) On the right hand side of the issue description screen, you will see “…” . Click on it and options are displayed.
3) Click on Clone from the displayed dropdown option.

4) Clone issue window is displayed.
5) If required, you can edit the summary of the issue and click on ‘Create’ button.

6) Another issue is created with ‘CLONE’ added in the summary.

56. Explain Kanban board.

Kanban boards are created for the projects where the team has their prime focus on visualizing the workflow and managing the project’s work in progress. The most important feature of Kanban board is that it is found in work mode because the projects do not have their work as planned. Let us see how Kanban board is created in JIRA step by step.

1) Log In to the JIRA application using valid credentials and get navigated to the dashboard.
2) Click on Project dropdown and select option ‘Create Project’.
3) Select ‘Kanban Software development’ and click on Next button.

4) Enter all the necessary details and click on Create button.
5) Kanban board is created as shown in below example.

Note: I have just taken a basic example of creati

In the case of Kanban, the incoming task is given more priority and hence it is considered as the best methodology for cases like bug fixing and maintenance release.

57. Mention one similarity and one difference between JIRA Scrum and JIRA Kanban.

Similarity: Both JIRA Scrum and Kanban is considered as the most powerful process tool for optimization of work and the processes as both processes focus is on continuous optimization and visualizing the workflow. In these cases, large and the complex tasks are broken down and each individual tasks are worked on and completed efficiently.

Difference: Scrum board is the work mode where progress of sprints and tracking of its work is done. Here the team determines the list of issues that has become backlog and then these issues are moved to sprints as per team plan.

In the case of Kanban board, the work in progress activities is being maintained and their process flow is tracked. Here the team decides the increase and decrease of the number of issues that is to be displayed in each status of the workflow.

58. What are most useful JIRA add-ons.

Some of the most useful JIRA add-ons are listed below:







Tempo Timesheets

59. What comes under JIRA Schema?

JIRA Schema consists of the following:


Issue types

Custom fields


Field configurations



60. How is security setting helpful in JIRA?

Security setting for any issue is defined or say set either at the time of creation of the issue or while editing the issue. The basic reason for security setting is to restrict the user access to the issue so that not all users are able to work on that issue. Security setting also allows the access of the issue to the member of chosen security level.

61. 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.

62. 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.

63. 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.

64. 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.

65. 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.

Garbage collector. As others have stated, non-deterministic memory management is a problem, and you need to code that in mind.

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.

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.

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.

66. 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:

You can't really commercialize an HTML5 game without a strong server-side and micro transactions

The code can be easily copied

HTML5 is simply new, and things need time to get their own portals somewhere...

67. 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.

68. 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.

69. 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)

70. 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

71. 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.

72. What Popular/famous Games Are Written In C?

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

73. 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  since I would like to know the "strength" difference of C++, C# and Java for 3d game programming.

74. 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).

75. 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.

76. 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.

77. 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

78. 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.

79. 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

80. 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

81. 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”.

82. 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’.

83. 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.

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.

85. Name Some Of The Html5 Framework Game Engines?

Some of the HTML 5 framework game engines are

a) Construct 2

b) Turbulence


d) Phaser etc.

86. 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

87. 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.

88. 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.

89. 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

90. 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.

91. 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.

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.

93. 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

94. 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.

95. 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.

96. 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.

97. When An “onsurfacechange” Can Occur?


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

98. 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

99. 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


100. 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

101. 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

102. Explain Some Assembly Controls?

BRA Branch; Motorola 680x0, Motorola 68300; short (16 bit) unconditional branch relative to the current program counter

JMP Jump; Motorola 680x0, Motorola 68300; unconditional jump (any valid effective addressing mode other than data register)

JMP Jump; Intel 80x86; unconditional jump (near [relative displacement from PC] or far; direct or indirect [based on contents of general purpose register, memory location, or indexed])

JMP Jump; MIX; unconditional jump to location M; J-register loaded with the address of the instruction which would have been next if the jump had not been taken

JSJ Jump, Save J-register; MIX; unconditional jump to location M; J-register unchanged

Jcc Jump Conditionally; Intel 80x86; conditional jump (near [relative displacement from PC] or far; direct or indirect [based on contents of general purpose register, memory location, or indexed]) based on a tested condition: JA/JNBE, JAE/JNB, JB/JNAE, JBE/JNA, JC, JE/JZ, JNC, JNE/JNZ, JNP/JPO, JP/JPE, JG/JNLE, JGE/JNL, JL/JNGE, JLE/JNG, JNO, JNS, JO, JS

Bcc Branch Conditionally; Motorola 680x0, Motorola 68300; short (16 bit) conditional branch relative to the current program counter based on a tested condition: BCC, BCS, BEQ, BGE, BGT, BHI, BLE, BLS, BLT, BMI, BNE, BPL, BVC, BVS

JOV Jump on Overflow; MIX; conditional jump to location M if overflow toggle is on; if jump occurs, J-register loaded with the address of the instruction which would have been next if the jump had not been taken

103. What Is Assembly Condition Codes?

Condition codes are the list of possible conditions that can be tested during conditional instructions. Typical conditional instructions include: conditional branches, conditional jumps, and conditional subroutine calls. Some processors have a few additional data related conditional instructions, and some processors make every instruction conditional. Not all condition codes available for a processor will be implemented for every conditional instruction.

104. What Is Data Movement?

Data movement instructions move data from one location to another. The source and destination locations are determined by the addressing modes, and can be registers or memory. Some processors have different instructions for loading registers and storing to memory, while other processors have a single instruction with flexible addressing modes.

105. What Are Kinds Of Processors?

Processors can broadly be divided into the categories of: CISC, RISC, hybrid, and special purpose.

106. What Are Assembly Attributes?

Attributes are declarative tags in code that insert additional metadata into an assembly.

107. What Are The Types Of Assemblies?

Assemblies are of two types:

Private Assemblies

Shared Assemblies

108. Explain An Intermediate Language?

Assemblies are made up of IL code modules and the metadata that describes them. Although programs may be compiled via an IDE or the command line, in fact, they are simply translated into IL, not machine code. The actual machine code is not generated until the function that requires it is called.

109. What Is Assembly Language?

Each personal computer has a microprocessor that manages the computer's arithmetical, logical, and control activities.

Each family of processors has its own set of instructions for handling various operations such as getting input from keyboard, displaying information on screen and performing various other jobs. These set of instructions are called 'machine language instructions'.

A processor understands only machine language instructions, which are strings of 1's and 0's. However, machine language is too obscure and complex for using in software development. So, the low-level assembly language is designed for a specific family of processors that represents various instructions in symbolic code and a more understandable form.

110. What Are The Advantages Of Assembly Language?

Having an understanding of assembly language makes one aware of:

How programs interface with OS, processor, and BIOS;

How data is represented in memory and other external devices;

How the processor accesses and executes instruction;

How instructions access and process data;

How a program accesses external devices.

Other advantages of using assembly language are:

It requires less memory and execution time;

It allows hardware-specific complex jobs in an easier way;

It is suitable for time-critical jobs;

It is most suitable for writing interrupt service routines and other memory resident programs.

111. What Are The Basic Features Of Pc Hardware?

The main internal hardware of a PC consists of processor, memory, and registers. Registers are processor components that hold data and address. To execute a program, the system copies it from the external device into the internal memory. The processor executes the program instructions.

The fundamental unit of computer storage is a bit; it could be ON (1) or OFF (0). A group of nine related bits makes a byte, out of which eight bits are used for data and the last one is used for parity. According to the rule of parity, the number of bits that are ON (1) in each byte should always be odd.

So, the parity bit is used to make the number of bits in a byte odd. If the parity is even, the system assumes that there had been a parity error (though rare), which might have been caused due to hardware fault or electrical disturbance.

The processor supports the following data sizes −

Word: a 2-byte data item

Doubleword: a 4-byte (32 bit) data item

Quadword: an 8-byte (64 bit) data item

Paragraph: a 16-byte (128 bit) area

Kilobyte: 1024 bytes

Megabyte: 1,048,576 bytes

112. What Is Binary Number System?

Every number system uses positional notation, i.e., each position in which a digit is written has a different positional value. Each position is power of the base, which is 2 for binary number system, and these powers begin at 0 and increase by 1.

The value of a binary number is based on the presence of 1 bits and their positional value. So, the value of a given binary number is:

1 + 2 + 4 + 8 +16 + 32 + 64 + 128 = 255

which is same as 28 - 1.

113. What Is Hexadecimal Number System?

Hexadecimal number system uses base 16. The digits in this system range from 0 to 15. By convention, the letters A through F is used to represent the hexadecimal digits corresponding to decimal values 10 through 15.

Hexadecimal numbers in computing is used for abbreviating lengthy binary representations. Basically, hexadecimal number system represents a binary data by dividing each byte in half and expressing the value of each half-byte.

114. What Is Local Environment Setup?


Assembly language is dependent upon the instruction set and the architecture of the processor. In this tutorial, we focus on Intel-32 processors like Pentium. To follow this tutorial, you will need

An IBM PC or any equivalent compatible computer

A copy of Linux operating system

A copy of NASM assembler program

There are many good assembler programs, such as

Microsoft Assembler (MASM)

Borland Turbo Assembler (TASM)

The GNU assembler (GAS)

We will use the NASM assembler, as it is

Free. You can download it from various web sources.

Well documented and you will get lots of information on net.

Could be used on both Linux and Windows.

115. How To Installing Nasm?

If you select "Development Tools" while installing Linux, you may get NASM installed along with the Linux operating system and you do not need to download and install it separately. For checking whether you already have NASM installed, take the following steps −

Open a Linux terminal.

Type whereis nasm and press ENTER.

If it is already installed, then a line like, nasm: /usr/bin/nasm appears. Otherwise, you will see just nasm:, then you need to install NASM.

To install NASM, take the following steps

Check The netwide assembler (NASM) website for the latest version.

Download the Linux source archive nasm-X.XX.ta.gz, where X.XX is the NASM version number in the archive.

Unpack the archive into a directory which creates a subdirectory nasm-X. XX.

cd to nasm-X.XX and type ./configure. This shell script will find the best C compiler to use and set up Makefiles accordingly.

Type make to build the nasm and ndisasm binaries.

Type make install to install nasm and ndisasm in /usr/local/bin and to install the man pages.

This should install NASM on your system. Alternatively, you can use an RPM distribution for the Fedora Linux. This version is simpler to install, just double-click the RPM file.

116. What Are The Assembly Program Sections?

An assembly program can be divided into three sections −

The data section,

The bss section, and

The text section.

116. What Is The Data Section?

The data section is used for declaring initialized data or constants. This data does not change at runtime. You can declare various constant values, file names, or buffer size, etc., in this section.

The syntax for declaring data section is:


117. What Is The Bss Section?

The bss section is used for declaring variables. The syntax for declaring bss section is


118. What Is The Text Section?

The text section is used for keeping the actual code. This section must begin with the declaration global _start, which tells the kernel where the program execution begins.

The syntax for declaring text section is:


   global _start


119. What Are The Assembly Language Statements?

Assembly language programs consist of three types of statements −

Executable instructions or instructions,

Assembler directives or pseudo-ops, and


The executable instructions or simply instructions tell the processor what to do. Each instruction consists of an operation code (opcode). Each executable instruction generates one machine language instruction.

The assembler directives or pseudo-ops tell the assembler about the various aspects of the assembly process. These are non-executable and do not generate machine language instructions.

Macros are basically a text substitution mechanism.

120. What Is The Syntax Of Assembly Language Statements

Assembly language statements are entered one statement per line. Each statement follows the following format −

[label]   mnemonic   [operands]   [;comment]

The fields in the square brackets are optional. A basic instruction has two parts, the first one is the name of the instruction (or the mnemonic), which is to be executed, and the second are the operands or the parameters of the command.

121. What Are Memory Segments?

A segmented memory model divides the system memory into groups of independent segments referenced by pointers located in the segment registers. Each segment is used to contain a specific type of data. One segment is used to contain instruction codes, another segment stores the data elements, and a third segment keeps the program stack.

In the light of the above discussion, we can specify various memory segments as −

Data segment − It is represented by .data section and the .bss. The .data section is used to declare the memory region, where data elements are stored for the program. This section cannot be expanded after the data elements are declared, and it remains static throughout the program.

The .bss section is also a static memory section that contains buffers for data to be declared later in the program. This buffer memory is zero-filled.

Code segment − It is represented by .text section. This defines an area in memory that stores the instruction codes. This is also a fixed area.

Stack − This segment contains data values passed to functions and procedures within the program.

122. What Are The Processor Registers?

There are ten 32-bit and six 16-bit processor registers in IA-32 architecture. The registers are grouped into three categories −

General registers,

Control registers, and

Segment registers.

The general registers are further divided into the following groups −

Data registers,

Pointer registers, and

Index registers.

123. What Linux System Calls?

You can make use of Linux system calls in your assembly programs. You need to take the following steps for using Linux system calls in your program −

Put the system call number in the EAX register.

Store the arguments to the system call in the registers EBX, ECX, etc.

Call the relevant interrupt (80h).

The result is usually returned in the EAX register.

There are six registers that store the arguments of the system call used. These are the EBX, ECX, EDX, ESI, EDI, and EBP. These registers take the consecutive arguments, starting with the EBX register. If there are more than six arguments, then the memory location of the first argument is stored in the EBX register.

Most assembly language instructions require operands to be processed. An operand address provides the location, where the data to be processed is stored. Some instructions do not require an operand, whereas some other instructions may require one, two, or three operands.

When an instruction requires two operands, the first operand is generally the destination, which contains data in a register or memory location and the second operand is the source. Source contains either the data to be delivered (immediate addressing) or the address (in register or memory) of the data. Generally, the source data remains unaltered after the operation.

124. What Are The Basic Modes Of Addressing ?

The three basic modes of addressing are −

Register addressing

Immediate addressing

Memory addressing

Register Addressing

In this addressing mode, a register contains the operand. Depending upon the instruction, the register may be the first operand, the second operand or both.

For example,

MOV DX, TAX_RATE ; Register in first operand

MOV COUNT, CX  ; Register in second operand

MOV EAX, EBX  ; Both the operands are in registers

As processing data between registers does not involve memory, it provides fastest processing of data.

Immediate Addressing

An immediate operand has a constant value or an expression. When an instruction with two operands uses immediate addressing, the first operand may be a register or memory location, and the second operand is an immediate constant. The first operand defines the length of the data.

For example,

BYTE_VALUE  DB  150 ; A byte value is defined

WORD_VALUE  DW  300 ; A word value is defined

ADD  BYTE_VALUE, 65 ; An immediate operand 65 is added

MOV AX, 45H; Immediate constant 45H is transferred to AX

Direct Memory Addressing

When operands are specified in memory addressing mode, direct access to main memory, usually to the data segment, is required. This way of addressing results in slower processing of data. To locate the exact location of data in memory, we need the segment start address, which is typically found in the DS register and an offset value. This offset value is also called effective address.

In direct addressing mode, the offset value is specified directly as part of the instruction, usually indicated by the variable name. The assembler calculates the offset value and maintains a symbol table, which stores the offset values of all the variables used in the program.

In direct memory addressing, one of the operands refers to a memory location and the other operand references a register.

125. What Is The Equ Directive?

The EQU directive is used for defining constants. The syntax of the EQU directive is as follows −


For example: TOTAL_STUDENTS equ 50

You can then use this constant value in your code, like −



The operand of an EQU statement can be an expression −

LENGTH equ 20

WIDTH  equ 10

ARA   equ length * width


Above code segment would define AREA as 200.