The industry opinion is that the Java programming language is not a good choice for developing commercial computer games due to a number of reasons. These include poor performance, lack of direct access to the underlying hardware, its relatively recent release and lack of third party Middleware such as 'off-the-shelf' 3D engines. The current industry standard programming language is C++. It's extremely popular in the computer games development industry suffering from none of these problems and offering development houses a tried, tested and effective game development language. For these reasons C++ has become the language of choice for virtually every computer game developer.
Despite Java's reputation for not being a viable game development language some inherent features suggest that it may actually be a better choice than the current defacto standard. Java excels in many areas where C++ can become problematic such as networking, bug fixing, code complexity and prolonged development time. Java's high-level approach can help speed up the development process by making it less tricky leading to increased programmer productivity and more robust, feature filled computer games.
Couple this with Java's platform independence which allows it to run, unchanged on any piece of technology with a 'virtual machine' and it is clear that it has the potential to save developers both time and money by being delivered to multiple platforms without the need for any extra work. The customer may also benefit directly from this due to more innovative games, decreased retail prices, extra features and the ability to play their games on the device of their choice, whether it is a mobile phone or a desktop computer.
This research evaluates the advantages and disadvantages of using Java for commercial game development and the impact this technology change has on the business aspects of a game development studio such as Innovative Capacity, Operational Methods and Strategic Positioning.
TABLE OF CONTENTS 1 INTRODUCTION 1.1 The history of commercial computer game development 2 METHODOLOGY 2.1 Qualitative vs. Quantitative 2.2 Sources of information 2.3 The concept of Preunderstanding 2.4 Burgelman's 'Evolutionary Process Framework for Technology Strategy' 2.5 The innovator's dilemma 2.6 Competence-destroying and competence-enhancing innovations 2.7 Risks associated with migrating to Java - to innovate or not? 3 A QUALITATIVE ANALYSIS OF THE JAVA PROGRAMMING LANGUAGE FOR DEVELOPING COMPUTER GAMES 3.1 Different ways Java can be used within commercial games 3.2 Game specific Java components 3.3 Commercial games which use Java technology 3.4 Use of Java for mobile games 3.5 Advantages Java lends to computer game development 3.6 Disadvantages Java lends to computer game development 3.7 Critical analysis of both advantages and disadvantages which Java lends to commercial game development 4 EVALUATING JAVA FOR COMMERCIAL GAMES USING AN EVOLUTIONARY PROCESS FRAMEWORK FOR TECHNOLOGY STRATEGY 4.1 Internal Forces 4.2 External Forces 4.3 Conclusion APPENDICES
Evaluating Java for commercial game development is a Master of Science (MSc) research project by Gareth Murfin. The research was submitted in partial fulfilment for the degree of MSc in Technology & Innovation Management. This research received an A (80%) + distinction from the University of Stirling in Scotland. The author has worked as a computer game programmer on the computer game Grand Theft Auto : Vice City and also developed some prototype systems in Java for Seattle Police department. The author is now the CEO of Alpha Software Limited, a young software and games company in Scotland.
If you wish to purchase a copy of the full document in electronic format directly from the author then you can do so by using PayPal. Click on the button below to pay £100 GBP for the document and it will be emailed (to the same address the PayPal account is registered with) to you shortly afterwards. The document comes in PDF format and is 88 pages long (around 24,000 words), it is approximately 649 KB.