1. What is the ‘Platform independence ‘properties of java?

The very essence of the platform independence of Java lies in the way the code is stored, parsed and compiled – bytecode. Since these bytecodes run on any system irrespective of the underlying operating system, Java truly is a platform-independent programming language.

2. Tell us what will you bring to the team?

I will bring a large amount of support to the team, I endeavour to make sure my team reaches the goal they so desperately need. I feel that adding me to the team will bring our performance up a notch.

3. Tell us 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.

4. Tell me 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...

5. Explain me 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

6. Tell us 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).

7. Tell us 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

8. Tell us 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.

9. Explain me 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.

10. Tell us 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

Download Interview PDF

11. Tell me what is the difference between JVM, JDK, and JRE?

☛ JVM: JVM stands for ‘Java Virtual Machine' is an abstraction for a machine in Java. This is the necessary abstraction environment necessary for the Java bytecode to be executed in. A runtime instance of the virtual machine is incepted whenever the java command is executed on the command prompt.
☛ JRE or ‘JAVA Run-time Environment' is the very environment, which implements the JVM by providing class files and libraries it uses to run the bytecode at runtime. In essence, this is a software instance of the JVM, which unlike the JVM has a physical existence.
☛ JDK is the superset here, which engulfs and contains JRE and is really a framework where compilation and documentation of Java programs are performed into packages.

12. Do you know 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.

13. Do you know 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.

14. Tell us 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

15. Tell us 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.

16. Explain me 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.

17. Tell us 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

18. What is the meaning and the use of the static keyword in java?

Static is a commonly used keyword, which is associated with variables, methods and nested classes in java. The real use of the keyword is for memory management of these constructs, as detailed next.
1)Static variables in java
When a variable is created as static in Java, it gets memory allocated to it only once, and that too when the class in which it is declared gets loaded. This is the reason why these variables are used to declare properties of other variables which are shared amongst them and do not change.
2)Static methods in java
Methods in java can also be declared as static, and as such, these are then connected to the entire class, without being limited to any single object of the class. Invocation of such a method declared as static does not require the instance of the class and these methods can work on the static data of the class and can even make updates to the value of static constants and variables.
This is also the reason why the main function in java is by default static and hence no object is required to invoke it and this leads to a better memory management.

19. As you know video Game developing can be a tiring process, how will you refrain from burning out?

I like to think that I am a sort of quality assurance assistant. Know that I am helping to make the game better for everyone would keep me motivated.

20. Explain me 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.

21. Tell me 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.

22. Tell us when An “onsurfacechange” Can Occur?

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

23. Explain me 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.

24. Professional Java Game Developer Job Interview Questions:

☛ How do you know if a linked list has a cycle in it? As in, one of the nodes in the linked list points to a previous node in the list.
☛ Describe the characteristics of an ACID database system.
☛ Is Java a statically or dynamically typed language?
☛ What do we mean by polymorphism, inheritance and encapsulation?
☛ Do arguments in Java get passed by reference or by value?
☛ What is the difference between an abstract class and an interface and when would you use one over the other?
☛ Why use an object Factory and how would you implement the Singleton pattern?
☛ What is the difference between “==” and equals(…) method? What is the difference between shallow comparison and deep comparison of objects?
☛ How is Java EE related to Java SE?
☛ How are Runtime exceptions different from Checked exceptions?
☛ What is the difference between HashMap, ConcurrentHashMap and a Map returned by Collections.synchronizedMap?
☛ Servlets 3.0 introduced async support. Describe a use case for it.
☛ Why do you think lambda expressions are considered such a big thing in Java 8?

Download Interview PDF

25. What are pointers are and elaborate if they can be used in java?

Pointers are a special class of variables which are available in a lot of programming constructs such as C++. These are used to reference a particular position in the memory and this is coming off as a very powerful way of explicit memory allocation, management, and traversing amounts memory units.
Pointers are however not supported or available within Java, as they can get quite complex with the segregation of the stack and the heap memory in java.