Critical Success Factors to Improve the Game Development Process from a Developers Perspective
JJournal of Computer Science and Technology,
Critical success factors to improve the game development process from a developer’s perspective
Saiqa Aleem , Luiz Fernando Capretz , and Faheem Ahmed Department of Electrical and Computer Engineering, University of Western Ontario, London, ON, Canada . Department of Computing Science, Thompson River University, Kamloops, BC, Canada.
E-mail: {saleem4, lcapretz}@uwo.ca, [email protected]
Abstract
The growth of the software game development industry is enormous and is gaining importance day by day. This growth imposes severe pressure and a number of issues and challenges on the game de-velopment community. Game development is a complex process, and one important game development choice is to consider the developer perspective to produce good-quality software games by improving the game development process. The objective of this study is to provide a better understanding of the devel-oper’s dimension as a factor in software game success. It focusses mainly on an empirical investigation of the effect of key developer factors on the software game development process and eventually on the qual-ity of the resulting game. A quantitative survey was developed and conducted to identify key developer factors for an enhanced game development process. For this study, the developed survey was used to test the research model and hypotheses. The results provide evidence that game development organizations must deal with multiple key factors to remain competitive and to handle high pressure in the software game industry. The main contribution of this paper is to investigate empirically the influence of key de-veloper factors on the game development process.
Keywords
Developer’s perspective, Software games, Empirical investigation, Good-quality games, Game development process, Game developer’s factors. Introduction
The first software game was created half a century ago. In the world of software gaming, many things have changed during this time period. Now the software game industry has reached the point that it rivals other well-established industries such as music and cinema. As a result, the soft-ware gaming business has grown enormously, has made billions of dollars in profit, and has started to mature over time [1]. The game development process has also had an impact on the industry, which now counts on special methodologies and mature processes for its development, ultimately leading to an enhanced game development pro-cess. Game developers try to produce games that are different from any other game in the market. This difference can be achieved through by intro-ducing new perspectives, new gameplays, new ournal of Computer Science and Technology, - 2 - genre combinations, enhanced graphics, or new characters. Therefore, almost all games must be novel, and their success depends on their overall quality [2]. Only good-quality games are able to retain their players, and this has become an im-portant factor for any software game to succeed commercially. In other words, if a game is not of good quality, players can easily switch to another game. Hence, it has become mandatory for the software game industry to try to morph and adapt to the preferences and demand of its players. One of the main concerns in game develop-ment process is that developers need to follow best practices and procedures from software engineer-ing discipline to develop good quality games. The game development process involves four main phases: concept, pre-production, production, and post-production [3]. It consists of various activities such as synopsis, background research, script writ-ing, visualization and concept art, level and inter-action design, animation, programming, media editing, integration, testing, and publishing. Soft-ware games are also characterized based on the category into which they fall, which is called the genre of the game. Genres include action, shoot-ers, fighting, racing, adventure, sports, role play-ing, strategy, simulations, puzzles, dance, music, and others. Each genre has its own requirements which must be taken into consideration during the pre-production phase. For this reason, software game development is considered as a complex process that involves multidisciplinary collabora-tive team efforts and processes (including sound, gameplay, art, artificial intelligence, control sys-tems and human factors) to develop a creative product. Fundamentally, game development is a form of software development process with sever-al additional requirements such as creative design, artistic aspects, and visual presentation [4], [5]. In this context, game development organizations can apply the same software engineering principles to improve their development processes. However, many studies have discussed the challenges of ap-plying software engineering principles to the game development process [5]. Kultima [6] highlighted these challenges from the game design perspective. Blow [4] dis-cussed their implications from the perspective of technical frameworks and development tech-niques. Blow [4] and McGill [7] discussed issues even for the required technical skills for game de-velopment. Software game development also re-quires a range of skills that include design, project management, development, and asset creation. It also involves team members from heterogeneous disciplines, e.g., game designers, artists, pro-grammers, and software developers. Knowledge of best practices for game development is very im-portant and has become crucial to sustain the growth of the software game industry. Finally, this knowledge will help game developers make cor-rect game development decisions at the right time. An investigation of key success factors from a de-veloper’s perspective will contribute to the under-standing of current development process implica-tions and will help developers improve the game development process. Exploring diverse developers’ preferences for software game development will provide a signifi- ournal of Computer Science and Technology, cant benefit to improve the development process by generating valuable insights. No research has been done to date on including developer-centred factors in the software game development process. This study will help identify key factors empirical-ly from the developer’s perspective, an effort that will ultimately help improve the software game development process to produce good-quality software games. To identify key factors, a quanti-tative survey was conducted, and the results are reported here. The survey was used to test the re-search model and several hypotheses. Finally, the results show that consideration of key factors from a developer’s perspective helps identify important game development choices and their implications for the current process.
Research Background
The software game domain covers a great va-riety of player modes and genres [8], [9], [10]. The complexity of digital games has posed many chal-lenges and issues in software development be-cause it involves diverse activities in creative arts disciplines (storyboarding, design, refinement of animations, artificial intelligence, video produc-tion, scenarios, sound effects, marketing, and fi-nally sales) besides technological and functional requirements [11]. This inherent diversity leads to a greatly fragmented domain from the perspectives of both underlying theory and design methodolo-gy. The software game literature published in re-cent years has focussed mainly on technical issues. Issues of game production, development, and test-ing reflect only the general state of the art in soft-ware engineering. Pressman [12] stated that a game is a kind of software which entertains its us-ers, but game development faces many challenges and issues if only a traditional software develop-ment process is followed [5],[13]. Many researchers have discussed game de-velopment challenges. Pertillo et al. [13] surveyed the problems faced by game development organi-zations. The overall game development process combines both an engineering process and the cre-ation of artistic assets. Ramadan and Widyani [14] compared various game development strategies from a management perspective, and some re-searchers [15], [16], [17] have proposed frame-works for game development. To effectively man-age and improve the game development, key de-veloper’s factors are required. Tschang [18] and Petrillo et al. [13] highlighted the issues in the game development process and its differences from traditional software development practices. In traditional software engineering, the devel-opment phase usually involves activities like ap-plication design and implementation, and the pro-duction phase is when the software actually runs and is ready for use. However, in the game devel-opment, the production phase includes the devel- ournal of Computer Science and Technology, - 4 - opment process, which is the pre-production phase of the software engineering process, and the pro-duction phase of software engineering is actually the post-production phase of the game develop-ment life cycle [20]. Therefore, the game devel-opment is different from the traditional software engineering process, and many researchers [5] have studied the challenges faced by this domain. Kanode and Haddad [5] stated that an important incorrect assumption has been made that game de-velopment follows the waterfall method. More re-cently, researchers have agreed that it must follow the incremental model because it combines the waterfall method with an iterative process. Petrillo et al. [13] reported a major concern, that develop-ers for software creation in the game industry commonly use very poor development methodolo-gies. The game development life cycle (GDLC) is the object of questions on many forms, which at-tempt to determine what types of practices are used. However, this question has no single answer. The most prominent observation made in these studies is that to address the challenges faced by the GDLC, more rigorous software engineering strategies must be used. However, the proposed GDLCs [14], [19], [20], [21] do not ensure the quality of the development process. Hagan et al. [22] published a systematic literature review of software process models used for game develop-ment. They concluded that agile and hybrid ap-proaches are used by most organizations for game development. They also reported that Scrum [5], Kanban [23], Rapid Development Application (RAD) [24], XP [25], and incremental [5] meth-odologies are used by game development organi-zations. The major difference in software devel-opment and game development is in the design phase because design of game may undergo major change in late development. The other differences are content development and quality criteria. Man-aging game development has become a much harder process that anyone could have initially im-agined, and because of the fragmented nature of the domain, no clear picture of its advancement can be found in the literature. From the above discussion, it can be easily concluded that game development process is dif-ferent from traditional software development pro-cess. Kasurinen et al. [26] argued that current software engineering knowledge is unable to bridge the gap between software engineering and certain aspect of game development. The overall development process to produce a game includes art, audio and gameplay other than software de-velopment discussed above. In the game develop-ment process, the content and production activities are performed in tandem with the development and engineering activities. Further, it is well agreed that the game development process is a ournal of Computer Science and Technology, multidisciplinary activity that involves the merg-ing of creative and technical talent to bring a con-cept to life, where the main activities can be cate-gorized into content and production, and engineer-ing at each phase of the development process. Moreover, sometime game development or-ganizations reduce their development process due to of high competition and extreme market de-mand so they can be first to market [27]. This re-duction of the development process definitely af-fects game quality. Therefore, they do not strictly follow the software engineering standards and practices. Because of these types of complex pro-ject-management tasks, the game development process diverges from traditional software devel-opment. Nevertheless, the differences between software engineering and games development are not exclusive; it seems that traditional software development does not fully support game devel-opment activities and provide process assessment procedures [28]. So, we need key success factors to improve game development process that may overlap with traditional software development fac-tors or just exclusive to game development. There-fore, it has become important now to investigate the critical success factors for game development organizations in developing good quality games from developer’s perspective.
Research Motivation
Game development has become incredibly challenging due to rapid changes in game technol-ogy such as game platforms, game engines, and reuse of code modules for different genres. During the 1990s, game development was usually carried out by small team members and involved simple architectures consisting of 2D graphics, sound, simulation, and input/output streaming. The first software games were developed by a few talented individuals from diverse backgrounds like mathe-matics, computer science, and physics with no ed-ucational background in engineering or computer science. At that time, developers were mainly fo-cussed on how to develop interesting games rather than on architecture or software engineering prin-ciples. The current success of the game industry, continuous enhancements in game technology, and the need to meet the ever-higher expectations of the players resulted in a complex game develop-ment process. The main research motivations behind this study are the rapid and continual changes in tech-nology and the severity of competition in game development organizations. Ultimately, these fac-tors will not only affect the business, but also will have a major impact on the game development process. Nowadays, games are developed by large teams because game projects have grown in size and complexity [4]. Various stakeholders are in-volved in the development process and have dif-ferent expectations and world views. For example, the game designer does not know the level of complexity involved in implementing artificial intelligence to represent the behaviour of a non-player character. A software engineer may think that some features in the game design document are infeasible to implement due to time deadlines or technical constraints. Another important re-quirement that must be part of the game is the fun, flow, and enjoyment factors. The game develop- ournal of Computer Science and Technology, - 6 - ment processes have different phases and are in-fluenced by many factors. Identifying the key suc-cess factors in a game development process is ex-tremely important for sustaining the economic growth of the software game industry. However, very little research has been reported in the academic literature about key success factors for the game development process. Many topics in software games need attention from researchers and highlighted by some studies [22], [29], [30]. Moreover, researchers and game developers have different points of view. Basically, game develop-ers prioritize the game development process by rapid creation and implementation of content. On the other hand, scientists and researchers prioritize investigation and research into the individual components of a system. Researchers do not have resources to develop a standard game, whereas developers never publish the results of their expe- rience. This indicates that there is a need for col-laboration between researchers and developers that will be ultimately beneficial to game industry standards. This study also attempts to fill this communication gap between researchers and de-velopers. Above discussed facts, motivated us to carry out empirical investigation of key success factors that can help developers to improve their development practices. It will be ultimately enable them to develop good quality games. The rest of the paper is organized as follows: Section 2 provides a literature review of identified factors, Section 3 describes the research method-ology used for this study, Section 4 presents the results of the empirical investigation, Section 5 provides a discussion, and finally, Section 6 con-cludes the study. Literature review and proposed hypothesis
In recent times, the Software Game Industry (SGI) has seen unprecedented growth. To succeed
Factors References
Team Configuration & Management Claypool & Claypool [31]; Eric et al. [32]; Musil et al . [25]; Tran and Biddle [35]; Stacey et al . [36]; Barros et al . [37]. Game Design Document Management Kasurinen et al . [38]; Bosser [39]; Callele et al . [40]; Callele et al . [41]; Reyno and Cubel [42]; Almeida and da Silva [43]; Ahmed and Jaafar [44]; Bringula et al . [45]. Game Engine Development Robins [3]; Sherrod [46]; Cowan and Kapralos [47]; Hudlicka [48]; Yan-Hui et al . [49]; Rodkaew [50]; Vanhutupa [51]; Sousa & Garlan [52]; Aitenbichler et al . [53]; Pimenta et al . [54]; Neto et al . [55]; Peker and Can [56]. Game Asset Management Llopis [57]; Hendrikx et al . [58]; De Carli et al . [59]; Phelps [60]; Pranatio and Kosala [61]; Lasseter [62]; Xu and CuiPing [64]; Chehimi et al. [65]; Manocha et al . [66]; Pichlmair [67]; Migneco et al . [68]. Quality of Game Architecture Wang and Nordmark [69]; Amendola et al . [70]; Lukashev et al. [72]; Rhalibi et al . [73]; Jhingut et al . [74]; Kosmopoulos et al. [75]; Al-Azawi et al . [76]; Segun-do et al . [77]. Game Test Management Redavid and Farid [78]; Helppi [79]; Charles et al . [80]; Wilson [81]; Marri & Sundaresaubramanian [82]; Kasurinen and Smolander [83]; Al-Azawi et al . [84]; Omar and Jaafar [85]; Straat and Warpefelt [86]. Programming Practices Robins [3]; Sarinho and Apolinario [87]; Czarnecki and Kim [88]; Chen et al. [89]; Anderson [90]; Xu and Rajlich [91]; Zhang et al . [92]; Wang and Norum [93]; Meng et al . [94]. Table 1 Identified factors from a developer’s perspective ournal of Computer Science and Technology, in a highly competitive environment, game devel-opers must bring innovative, good-quality games to the table. Identifying key success factors to im-prove the game development process will help de-velopers maintain the pace. Key factors in the game development process are the least addressed area in software game research. Various factors have been identified from a literature review of published articles on software games as a basis for discussion of the game development process. Table 1 briefly presents the identified factors, with references for each. The identified factors and the related literature are described in the following sub-sections.
Team Configuration and Management
The development of software games involves mul-ti-disciplinary team configuration and manage-ment. More specifically, team configuration and management are considered critical to the success of any game development project. Game devel-opment requires intensive team management [31]. Team management can be defined as the process of administration and coordination between groups of individuals who are performing specific tasks [32]. It involves forming different groups, estab-lishing collaboration among them, setting objec-tives for a common set of interpersonal dynamics among team members, and performance apprais-als. The game development process also involves configuration and management of multidiscipli-nary teams or teamwork projects and management of the collaboration among them. The term “teamwork” refers to group of individuals who are completing a specific task [33]. The term “collaboration” can be defined as the level of shared understanding and coordination among teams and the maintenance of this level [34]. Very few research studies have investigated the importance of multidisciplinary team configu-ration and management in software game devel-opment. Musil et al . [25] highlighted the im-portance of heterogeneous team collaboration in the video game development process. They pro-posed a method based on the Scrum methodology to improve workflow integration and collaboration between heterogeneous game development team members. The proposed process separates the pre-production, production, and post-production phas-es. Management through collaboration and inte-gration of heterogeneous disciplines in game de-velopment is achieved by executing daily hetero-geneous discipline-specific workflows in a sprint iteration adjusted by daily scrums. They claimed that this approach will enable each discipline to use the workflows in which they are most profi-cient in accordance with the demands and pace of other involved disciplines. Tran and Biddle [35] discussed the collabora-tion factor for team management in serious game development. They explained that the collabora-tive process is based on ethnography and a qualita-tive approach. The proposed model includes many factors such as physical resources, social relation-ships, organizational goals, and team knowledge. They conducted a case study that determined that collaboration between multidisciplinary team re-quires teams to communicate frequently, to respect each other’s contributions, and to share the same model and goals for game development. Stacey et ournal of Computer Science and Technology, - 8 - al . [36] and Barros et al . [37] also investigated the collaboration factor in multidisciplinary game de-velopment teams and the development of comput-er games. To determine whether proper team configura-tion and its management has any impact on the game development process, “team configuration and management” was selected as an independent variable, as shown in Fig. 1. Hence, Hypothesis 1 and corresponding null hypothesis can be stated as follows: Hypothesis 1:
Team configuration and man-agement have a positive influence on the enhanced game development process.
Null Hypothesis:
Team configuration and management have no influence on the enhanced game development process.
Game Design Document Management
The Game Design Document (GDD) has also been identified as an important factor in improving the game development process. The GDD is the outcome of the pre-production phase of game de-velopment. It is developed and edited by the game design team to organize their efforts and their de-velopment process. The form of the GDD varies widely across studios and genres. Basically, the GDD includes the goals of the game, the genre of the game, the overall flow, the story behind the game, the characters and their dialogue, special effects, the number of elements and feature fits within the game, and feature creeping information if required. Typically, this document is developed to express the concept of the game and to provide a basis for requirements engineering in the game development process. Game designers can trace back all their efforts to the requirement analysis in the GDD. In the game development process literature, researchers have explored the importance of the game design document and its management in var-ious ways. Some of them have highlighted the im-portance of the GDD by discussing the importance of requirements engineering in game development. For example, Kasurinen et al . [38] highlighted the importance of requirements engineering in the game development process. They interviewed 27 software professionals from game development organizations to obtain insight into their develop-ment process. The findings of the study showed that the professionals follow approaches or meth-ods that are somewhat comparable to requirements management and engineering, but not to particular requirements engineering practices. Bosser [39] suggested that massively multi-player game design needs a prototyping tool and proposed a frame-work model to facilitate its design. They also sug-gested that game prototyping is important and helpful for better game design. Callele et al . [40] also investigated the importance of requirements engineering in the video game development pro-cess. They suggested that the reasons for the fail-ure of any game may be rooted in problems of transforming the pre-production phase document, i.e., the GDD, with any implied information and application of domain knowledge from the pre-production phase into the production phase. An understanding of upcoming media and ournal of Computer Science and Technology, technology developments, game play, and non-functional requirements is also considered im-portant for the GDD. Callele et al . [41] described how the GDD is helpful in obtaining a better un-derstanding of the game design process and ex-plained the definition of gameplay process in cog-nitive game development. Reyno and Cubel [42] proposed a model-driven game development method that ultimately accelerates game design. Almeida and da Silva [43] performed a systematic review of game design methods and of various available tools. They emphasized the use of stand-ardized tools to develop the GDD. Other research-ers have emphasized inclusion of the user perspec-tive and have provided game design guidelines. Ahmed and Jaafar [44] emphasized the importance of user-centered game design and proposed that it should be considered at the concept phase of game development. Bringula et al. [45] gathered user perceptions to determine how a serious game should be developed. Based on their study, they suggested some design guidelines for four-dimensional game design, including storyline, aes-thetics, reward systems, and the game objective. To develop a good-quality game, the GDD must be properly managed so that production team members can easily move it into game production. GDD management has also been selected as an independent variable in this study, and therefore the following hypothesis and corresponding null hypothesis are proposed:
Hypothesis 2:
Proper management of the game design document has a positive and signifi-cant effect on the overall game development pro-cess.
Null Hypothesis:
Proper management of the game design document has no effect on the overall game development process.
Game Engine Development
Game engines are considered to be a powerful tool by game developers and have been in use for more than two decades. A game engine is a soft-ware layer that helps in the development process by enabling developers to focus solely on game logic and experimentation [3]. Many commercial game engines are available to help game develop-ers with advanced rendering technologies and code reuse, resulting in shorter development time and reduced cost. Sherrod [46] defined the game engine as a “framework comprised of a collection of different tools, utilities, and interfaces that hide the low-level details of the various tasks that make up a video game”. Overall, the game engine repre-sents the basic structure of the game as it appears in the middle layer, between the application layer and the various underlying platforms. In the literature, most researchers often use the terms “game engine” and “game development framework” interchangeably. This study uses the term “game engine” to refer to the development tool that includes most of the functionality and features that become part of any software game. The list of primary features that can be part of any modern game engine includes scripting, rendering, animation, artificial intelligence, physics, audio, and networking. Cowan and Kapralos [47] per-formed a survey on frameworks and game engines for serious game development only. They com-pared all the commercially available game engines ournal of Computer Science and Technology, - 10 - and their various features. The results of their study suggested that most of the game engines that have been developed to create entertainment games can also be used for serious game devel-opment. Hudlicka [48] suggested a set of require-ments that are necessary for game engine devel-opment, specifically for affective games. Research has been also done on development of game en-gines specific to different platforms, such as for the Android platform [49], a 3D role-playing game for cross-platform development [50], and the Browser games [51]. A few researchers have explored the means of addressing the challenges faced by developers in supporting and building development tools [52], [53]. However, they were not successful in achiev-ing the required feature and design flexibility. Re-searchers proposed different solutions for game engines to address the challenges they faced. Pi-menta et al . [54] proposed that game engines ena-ble fast learning for game developers and include the ubiquitous characteristics of the game design and development process. Neto et al. [55] dis-cussed the issue of game engine standardization in software game development. Game developers are interested in producing the same game for differ-ent platforms and rely mostly on the same game engine. They suggested that commonality and var-iability assessment must be done to enable game engine reuse. Peker and Can [56] proposed a methodology for developing game engines for mobile platforms based on design goals and design patterns. They emphasized the need to design goals and strategies for implementation in the game engine. For mobile platforms, the basic de- sign goals suggested by them were usability, effi-ciency, portability, and adaptability. To determine whether standard game engine development has a positive impact on the overall game development process, game engine development was considered as an independent variable in this study. Hence, the following hypothesis and corresponding null hypothesis are proposed:
Hypothesis 3:
Game engine development has a significant impact on the game development process.
Null Hypothesis:
Game engine development has no impact on the game development process.
Game Asset Management
Anything can be considered as a game asset that contributes to the visual appearance of a game, whether artwork (including 3D elements or textures), music, sound effects, dialogue, text, or anything else. Llopis [57] stated that “game assets include everything that is not code: models, tex-ture, materials, sound, animations, cinematics, scripts, etc.” Actually, game assets include any piece of data that can be used by a game engine aside from code, scripts, and documentation. The elementary unit of game assets can be referred to as a game bit [58] and typically has no value when considered independently. There are two catego-ries of bits: characters, which can be an asset that interacts in a simulated environment, and abstract bits, which are kinds of sound and texture that can be use together to produce a concrete bit. The main six kinds of game bit are texture, sound, veg-etation, buildings, fire, water, stone, clouds (con-crete), and behaviour. Game space definition is ournal of Computer Science and Technology, another game asset, which is part of content gen-eration for any game. It provides a kind of game environment where game bits can be placed. In the literature covering game asset creation and management, researchers have explored game assets in term of animation, audio processing li-braries for different genres, and content generation for games. De Carli et al. [59] and Hendrikx et al. [58] carried out a survey of procedural content generation techniques for game development. An-imation in games is considered an important asset because it has a great impact on game perfor-mance [60]. Studies have been done to explore animation models for different genre of games. Pranatio and Kosala [61] performed a comparative study of keyframes [62] and skeletal animations [66] for multiplayer games. Their results indicated that skeletal or bone-based frames are better than keyframe models in term of memory load and frames per second. Xu and CuiPing [64] reviewed currently used 3D accelerators for graphics anima-tion. A wide variety of graphics cards are available to programmers. Hence, they discussed the current benefits and limitations of APIs such as OpenGL and DirectX. Chehimi et al. [65] described the evolution of 3D graphics for mobile platforms. They concluded that the current market presents challenges regarding graphics quality and battery life of mobile devices. These need to be addressed by standardizing successful game development for mobile platforms. Sound within a game is one of the game as-sets that enable developers to build responsive, interactive, and attractive games. Currently, game development relies on pre-recorded sound clips that can be triggered during any game event [66]. These can be managed through dynamic audio processing libraries. Researchers have also studied the use of audio processing libraries in software game development. Pichlmair [67] studied music games and determined that they can be classified into two categories, rhythm and instrument games. Their analysis showed that music in video games has seven qualities: rhythm, active score, quantiza-tion, synesthesia, play as performance, sound agents, and free-form play. Migneco et al. [68] proposed an audio processing library to enable use of sound in Web-based games using a Flash devel-opment tool. They claimed that this approach pro-vided flexibility and great functionality for devel-oping games using Flash technology. For the reasons discussed above, creation and management of the number of assets required for game development has become challenging. Mechanisms are needed to control the different versions of assets that are developed for games. Commercially, a number of tools are available, such as 3D Studio Max, Maya, and Adobe Pho-toshop, which can also create various assets like textures, 3D models, animations, sound effects, music, voice recordings, levels, and scenes. Mod-ern game engines also include modules for asset management. Based on a literature review of game asset management, this study has considered game asset management as another independent variable that is considered important for the game devel-opment process. Hence, the following hypothesis and corresponding null hypothesis are proposed:
Hypothesis 4:
Game asset management is important for enhancing the game development ournal of Computer Science and Technology, - 12 - process.
Null Hypothesis:
Game asset management is not important for enhancing the game develop-ment process.
The primary function of game architecture is to support game play. It helps to define challenges by using constraints, concealment, exploration, and obstacles or skill testing. Game architecture is a kind of blueprint for the underlying complex software modules. It is used to delineate design, perform trade-off analysis, and investigate system properties before implementation and potential reuse. Basically, it draws together gameplay fac-tors and technical requirements. A perfect game architecture would have modularity, reusability, robustness, and tractability features. The importance of software architecture in game development has rarely been researched. Only Wang and Nordmark [69] have explored this topic. Their finding was that software architecture plays an important role in game development, with the focus mainly on achieving high performance and modifiability. They also stated that most de-velopers use game-specific engines, middleware, and tools for game development. A number of studies have explored these various development frameworks. The proposed game development frameworks can help game developers to define their game architecture. Amendola et al. [70] pro-posed a framework for experimental game devel-opment called GLIESE. They proposed that a game architecture should have at least three sub-systems: a game logic processing system (view and model), a graphic processing system (graphic interface and view interface), and an input pro-cessing system (event manager, controller, and event publisher). These sub-systems must be clear-ly separated so that they can work independently. The authors suggested a Model-View-Controller (MVC) [71] pattern for the architecture. Basically, this pattern divides the application into three com-ponents: model, view, and controller. The defined relations and collaboration among these compo-nents helps in game deployment because ultimate-ly the code associated with each sub-system’s log-ic will operate in the desired manner. Lukashev et al . [72] proposed a mobile plat-form development framework specifically for 3D application. They claimed that their suggested ap-proach will help developers improve the develop-ment process. The first stage of the proposed framework is the design phase for creation of the initial model (2D or 3D) and selection of the right modeling tool and graphic format. The second stage, the integration stage, enables developers to put together already-created models into scenes and create animation. The authors suggested that a structural optimization technique can be used to create scenes. The next stage is the utilization stage, in which the created models are converted to mobile format. Implementation is the final step of the framework, where developer put together source code, auto-generated source code, and cre-ated resources. Several other studies have also been performed to propose development frame-works for various platforms based on different technologies for defining the system architecture. For example, Rhalibi et al . [73] proposed a 3D ournal of Computer Science and Technology,
Java framework for Web-based games, Jhingut et al . [74] and Kosmopoulos et al . [75] proposed a framework for mobile platforms, Al-Azawi et al . [76] proposed an agent-based agile methodology for game development, and Segundo et al . [77] proposed a game development framework specific to the Ginga middleware. From the preceding discussion, it is clear that the quality of the game architecture is important for the game development process, and therefore it was considered as another independent variable in this study. The following hypothesis and corre-sponding null hypothesis are therefore presented: Hypothesis 5:
Quality of game architecture has a positive impact on the enhanced game de-velopment process.
Null Hypothesis:
Quality of game architec-ture has no impact on the enhanced game devel-opment process.
Game Test Management
Game testing is a very important phase of game development. A game can be tested at differ-ent levels of development because game testing is different from software testing [78]. There are many steps involved in game testing other than test-case definition because most game testing is based on black-box testing. Hence, management of overall game test methods becomes crucial. In the pre-production phase, a test plan document should be established to set standards for the game software. Game quality can be evaluated accord-ing to the graphics, sounds, and code that are compiled into the game code. Proper documenta- tion of testing helps developers fix problems more quickly and cheaply. Delays in testing can result in project failure. Helppi [79] discussed many game test meth-ods that can be used during the development phase, such as smoke testing that is used to test the user interface logic. Regression testing is per-formed to check that game quality is still good af-ter any change such as addition of features or add-ons. Connectivity testing is used for networking games and mobile games to test client-server in-teraction. Performance testing can ensure the real performance of the game. Abuse testing is per-formed by giving multiple inherent inputs through the controller and determining game performance. Compliance testing makes sure that any compli-ance standards enforced by any stakeholder are met. Finally, functional testing verifies overall game play and reveals issues related to stability, game flow, game mechanics, integration of graph-ic assets, and user interface. Redavid and Farid [78] also discussed game testing methods used to detect interactions failures and listed them under the term combinatorial testing [79]. The second approach involves test flow diagrams, which are used to develop models of game behaviour from a player’s perspective. Third is cleanroom testing, which helps to determine game reliability. The test tree is another testing method discussed by the au-thors, which can used to organize test cases. Wilson [81] also argued that no one testing method is better than another. He suggested that good testing is a combination of 30% of ad-hoc testing, 40% test cases, and 30% alternating be-tween the two until the strengths of both are de- ournal of Computer Science and Technology, - 14 - termined. Marri and Sundaresaubramanian [82] discussed game test methods and suggested that the game tester should test game quality by verify-ing game play, logical consistency, observability, progressive thinking, and reasoning ability, as well as exhaustively testing features, game strategy, and functionality. Kasurinen and Smolander [83] interviewed seven game development teams from different organizations and studied how they test their games based on grounded theory. They con-cluded that all participating organizations had the resources to perform technical testing, but that they relied mostly on exploratory and usability testing rather than using a pre-planned approach. Al-Azawi et al . [84] proposed a set of evaluation heuristics that could be used in game development methodologies for most game genres. Omar and Jaafar [85] proposed a tool to evaluate the usabil-ity of educational games, and Straat and Warpefelt [86] suggested use of the two-factor theory to evaluate game usability. Management of game testing during the game development process has clearly come to be of crucial importance for game developers. Hence, test management was selected as another inde-pendent variable in this study, and the following hypothesis and corresponding null hypothesis were proposed:
Hypothesis 6:
Game test management has a positive impact on the enhanced game develop-ment process.
Null Hypothesis:
Game test management has no impact on the enhanced game development process.
Programming Practices
Good programming practices are a very im-portant factor in successful game development. A programming team with the necessary skills is def-initely considered as the backbone of the game development process. The programmer must select the right coding architecture for each game pro-ject. Basically, the lead programmer must select between two types of coding style: either game-specific code (the programmer has to develop eve-rything by him/herself) or game-engine code (where the game engine is the foundation for a game-specific code). The game code can then be organized in various ways [3], such as an ad-hoc architecture where the programmer must deal with tightly coupled code. Another choice is a modular architecture-based coding style, where the pro-grammer identifies and separates the code into dif-ferent modules or libraries. In this type of pro-gramming, reuse and maintainability are improved over ad-hoc-based coding. However, dependencies between different modules cannot be controlled, which may lead to tight coupling. The directed acyclic graph (DAG) is another way of organizing code. This is also a modular architecture-based coding scheme in which dependencies between modules are tightly controlled. Layered-style cod-ing is also based on a DAG architecture, but mod-ules are arranged in rigid layers, and each can in-teract only with the modules in the layer directly below. Game programming involves a wide range of issues and considerations. Most researchers have tried to address these individually. The first is the ournal of Computer Science and Technology, issue of coupling between different modules. Sari-nho and Apolinario [87] tried to address this prob-lem using a proposed generative programming ap-proach. Generative programming aims to automate the software development process using a number of static and dynamic technologies including re-flection, meta-programming, and program and model analysis [88]. The proposed method was based on a game feature model that could repre-sent both common and variable implementation aspects of software games. Meta-programming resources were used to generate and represent compatible source code for available game frameworks and game engines. The authors con-cluded that the proposed approach would result in loss of the coupling development strategy between game implementation and its domain software ar-tifacts. Code cloning in open-source games is an-other issue discussed by Chen et al . [89]. They provided a detailed study of the issues of code clones in more than twenty open-source game pro-jects based on C, Python, and Java for various game genres. Selection of a scripting language is another issue in game programming. Anderson [90] discussed the classification of scripting sys-tems used for software games. Xu and Rajlich [91] described a study that explored pair programming practices and concluded that paired programmers completed their task faster with higher quality. They suggested that pair programming is a good approach for game development. Selection of a programming language is an-other challenge for today’s game developers. Many studies have been done to explore different programming languages for different platforms. Zhang et al. [92] performed experiments on five industrial RPG mobile games developed using the object-oriented programming paradigm. Optimiza-tion strategies with structural programming were applied to the same code. The results of the study showed that object-oriented programming must be used with great care and that structural program-ming is also a good option for mobile game devel-opment. Another study [93] highlighted the issues for game development posed by wireless peer-to peer games in a J2ME environment using an available Bluetooth API. The issues discussed in-cluded slow device discovery, Bluetooth transfer speed, extra resource consumption, and Bluetooth topology. Meng et al . [94] developed a peer-to-peer online multiplayer game using DirectX and C
Hypothesis 7:
Good programming practices are important for the enhanced game development process.
Null Hypothesis:
Good programming prac-tices are not considered important for the en-hanced game development process. Research Model
The main objective of the proposed research model is to analyze the interrelationship between ournal of Computer Science and Technology, - 16 - key factors and game development and also to un-derstand the influence of these factors on overall game quality in the SGI market. The model’s theo-retical foundation is based on existing concepts found in the game development literature. Note that most studies in the literature discuss one or two of the factors mentioned above for software games and their impact on the overall game devel-opment process. To the best of the authors’ knowledge, this is the first study in the game de-velopment literature that highlights key factors in game development. This study proposes to inves-tigate empirically the influence and association of key game development factors. Figure 1 presents a theoretical research model used in this study, which will be empirically investigated. The theo-retical model evaluates the relationships of various independent variables emerging from software en-gineering and management concepts such as pro-ject management, theory, and behaviour with the dependent variable, enhanced game development, in the context of the game development process. This study mainly investigates and addresses the following research question:
Research Question:
How can game develop-ers improve the game development process? The research model includes seven independent variables: team configuration and management, game design document management, game engine development, game asset management, quality of game architecture, game test management, and programming practices, and one dependent varia-ble: the enhanced game development process. The multiple linear regression equation of the model is given as Equation 1: Enhanced game development process = α + α f + α f + α f + α f + α f + α f + α f , Where α , α , α , α , α , α , α , α are coefficients and f – f are the seven independent variables. Research Methodology
Developing a software game involves phases such as pre-production, production and post-production, in which each phase contains a number of activities. Some of these activities are dependent on others, whereas some are independ-ent. Employees of game development organiza-tions or studios were selected as the targeted re-spondents of this study. In this study, the term “developer” is used to refer to any game develop-ment team member. For purposes of data collec-tion, the authors initially joined various game de-velopment community forums. ournal of Computer Science and Technology,
The respondents participating in the study were part of multinational organizations in Asia, Eu-rope, and North America; statistics describing them are presented in Fig. 2 The organizational participants agreed to take part in the study based on a mutual agreement that their identities would be kept confidential. The size of the game project development teams varied from 10 to 50. Fig. 3 shows the total time period of the game development projects considered by respondents while answering the measuring in-strument. Figure 4 represents the number of re-spondents based on their development role in the game project. Figure 5 shows the percentage of development methodologies used by respondents for any particular game project. The participants in the study were mainly part of game projects that were developed for different platforms such as kiosks and standalone devices, the Web, social networks, consoles, PC/Macs, and mobile phones. The game genres implemented in most of their projects included action or adven-ture, racing, puzzles, strategy/role playing, sports, music-based, and other categories. The qualifica-tions for this study were that the respondent must be a part of a development team that had at least three full-time developers; that the respondent worked on the project for at least one- third of its total duration; (H5 +), (α ) Key Developer’s Factors
Team Configuration & Management Game Design Document Management Game Engine Development Game Asset Management Quality of Game Architec-ture Game Test Management Programming Practices (H2 +), (α ) Enhanced Game Development Process (H1 +), (α ) (H3 +), (α ) (H4 +), (α ) (H6 +), (α ) (H7 +), (α ) Fig 1. Research model ournal of Computer Science and Technology, - 18 - Fig. 2 Number of respondents by continent
Fig. 3 Total software game development duration of particular game projects considered by respondents.
Percentage of respondents ournal of Computer Science and Technology,
Fig. 4 Percentage of respondents based on their role in the development process . Fig. 5 Percentage of development methodologies used by respondents.
Roles of respondents Development methodologies used for game projects ournal of Computer Science and Technology, - 20 -- 20 -
Roles of respondents Development methodologies used for game projects ournal of Computer Science and Technology, - 20 -- 20 - and that the project was either completed or can-celled within the last three years. Finally, respondents must have worked in the development team in some sort of development role, such as a designer, artist, animator, pro-grammer, producer, or sound designer. The survey respondents worked in various capacities such as game designer, artist, programmer, audio designer, and producer. The total number of survey re-spondents was 118, including a minimum of one and a maximum of four responses from each or-ganization. Although the collected sample size is relatively large but it is still considered small sam-ple as compared to the population size.
Measuring instrument
This study gathered data on the key develop-er’s factors and the perceived level of enhanced game development process identified in the re-search model depicted in Fig. 1. To learn about these two topics, the questionnaire presented in Appendix A was used as a data collection instru-ment. First, organizations involved in the game development process were asked to what extent they practiced the identified key developer factors for the game development project in question. Second, they were asked what they thought of the enhanced game development process for different games in the software game industry. The five- point Likert scale was used in the questionnaire, and with each statement, the respondents were re-quired to specify their level of agreement or disa-greement. Thirty-four items were used to measure the independent variables (the key factors), and for the dependent variable (enhanced game develop-ment process), nine items were used. The literature related to key developer’s factors was reviewed in detail to ensure a comprehensive list of measure-ment items for each factor from the literature. A multi-item, five-point Likert scale was used to measure the extent to which each key developer factor was practiced for the game development project. The Likert scale ranged from (1) meaning “strongly disagree” to (5) meaning “strongly agree” and was associated with each item. The items for each identified factor were numbered from 1 to 34 in Appendix A and also labelled se-quentially. They were measured for each project that was completed within the last three years based on a multi-item five-point Likert scale. The enhanced game development process was the de-pendent variable, and designated items for the de-pendent variable were numbered separately from one to nine and labelled sequentially. All the items specifically written for this study are presented in Appendix A. To the best of the authors’ knowledge, this is the first empirical study of key ournal of Computer Science and Technology, software game developer’s factors for the en-hanced game development process in the SGI.
Reliability and validity analysis
To perform reliable and valid research, quan-titative analysis was carried out. Two integral measure of precision, reliability and validity anal-ysis, were used to conduct empirical studies. The consistency or reproducibility of a measurement is referred to as reliability. On the other hand, valid inference or agreement between the measured and true values is referred to as validity. The measur-ing instrument designed for this study was also tested by reliability and validity analysis. The test was based on common practices usually used for empirical analysis. Reliability analysis was per-formed to determine the internal consistency of the multi-scale measurement items designed for the seven identified factors. To evaluate internal con-sistency, Cronbach’s alpha [95] coefficient was used. Criteria for Cronbach’s alpha ranging from 0.55 to 0.70 were considered satisfactory. Re-searchers have reported different ranges of satisf- -actory criteria for Cronbach’s alpha based on their findings. Osterhof [96] suggested that a value of 0.60 or higher was satisfactory for reliability coefficients based on his findings. Nunnally and Brenste [97] reported that a value of 0.70 or higher for a reliability coefficient can be considered satis-factory for any measuring instrument. Van de Ven and Ferry [98] recommended that a value of 0.55 or higher of the reliability coeffi-cient could be considered satisfactory. A first cal-culation was performed on a sample dataset to de-termine the reliability of the dataset using Cronbach’s alpha coefficient. Some of the as-sessment items for each factor were excluded if they affected the desired value of Cronbach’s al-pha coefficient. In the sample dataset, other than item no. 1 of team & configuration management, item no. 10 of game design document manage-ment, item no. 18 of game engine development, item no. 22 of game asset management and item no. 30 of programming practices, all assessment
Developers factor Item no. Coefficient α PC eigenval-ue
Team Configuration & Management
Game Design Document Management
Game Engine Development
Game Asset Management
Quality of Game Architecture
Game Test Management
Programming Practices ournal of Computer Science and Technology, - 22 - items were found reliable. So, we removed item no. 1, item no. 10, item no. 18, item no. 22 and item no. 30 from the instrument. After this, the whole dataset was evaluated using Cronbach’s al-pha coefficient. The results of these calculations showed that reliability coefficients for the seven factors ranged from 0.61 to 0.76. These coeffi-cients are reported in Table 2. Hence, all variables developed for this study could be considered relia-ble. Validity analysis was performed for the da-taset using principal component analysis (PCA) [99]. PCA is usually used for convergent validity analysis and was calculated here for seven factors. Campbell and Fiske [100] suggested that conver-gent validity has occurred in a given case only if the scale items in a measurement instrument are highly correlated and if they move in the same di-rection in a given assembly. The construct validity of PCA-based analysis was determined using the eigenvalue criterion [101]. Here, a criterion value greater than one was used to retain any component based on the Kaiser criterion [102]. Eigenvalue analysis showed that out of the seven variables, five together formed a single factor, whereas game design document management and programming practices loaded on a second factor, and both ei-genvalues were greater than one. The reported convergent validity of this study was considered adequate.
Data analysis techniques
To perform the empirical investigation for this study, various statistical approaches were used. Initially, the research activity was divided into three phases to evaluate the significance of the proposed hypotheses H1–H7. In phase I, paramet-ric statistical and normal distribution tests were performed. A non-parametric statistical approach was used in phase II, and for the analysis, a Partial Least Squares (PLS) analysis was carried out. To address external threats to validity, both parametric and non-parametric approaches were used. Parametric approach is used to measures the strength of the linear relationship between normal-ly distributed variables. When the relationship be-tween the variables is not linear or the variables are not normally distributed then it may be more appropriate to use the non-parametric approach. Due to the small sample size, both parametric and nonparametric approaches were used to address the threat to external validity and we found results of both approaches are consistent. ournal of Computer Science and Technology,
The measuring instrument contains multiple items for each independent and dependent varia-ble, and respondent ratings were aggregated to ob-tain a composite value. Using a parametric statisti-cal approach in phase I, the Pearson correlation coefficient was calculated for the tests, with a one-tailed t -test for each hypothesis H1–H7. For phase II, the Spearman correlation coefficient was used to test hypotheses H1–H7 using a non-parametric statistical approach. Phase III of the empirical in-vestigation was carried out to address issues of non-normal distribution and complexity or small sample size of the dataset. Fornell and Bookstein [103] and Joreskog and Wold [104] reported that if non-normal distribution, complexity, small sam-ple size, and low theoretical information are is-sues, then partial least squares (PLS) analysis will be helpful. The PLS technique was used in Phase III to increase the reliability of the results and deal with the limitation of small sample size. For statistical calculations, the Minitab 17 software was used. Data Analysis and Results 5.1
Phase I of hypothesis testing
To test hypotheses H1–H7, parametric statis-tics were used in this phase. The Pearson correla-tion coefficient was determined between the inde-pendent variables (developer’s factors) and the dependent variable (the enhanced game develop-ment process) of the research model, as illustrated in Fig. 1. The level of significance to accept or reject the hypotheses was then selected. Each hy-pothesis was accepted if its p- value was less than 0.05 and rejected if its p- value [105] was greater than 0.05. In Table 3, calculated results for the Pearson correlation coefficient are listed. Hypothesis Key factors Pearson correlation coefficient Spearman correlation Coefficient H1
Team configuration and management 0.29* 0.29* H2 Game design document management 0.79* 0.74* H3 Game engine development 0.59* 0.64* H4 Game asset management 0.45* 0.47* H5 Quality of game architecture 0.13** 0.19** H6 Game test management 0.42* 0.37* H7 Programming practices 0.52* 0.48* *Significant at p <0.05 **Insignificant at p >0.05 Table 3 Hypothesis testing using parametric and non-parametric correlation coefficients. ournal of Computer Science and Technology, - 24 -
Hypothesis H1 was accepted because the Pearson correlation coefficient between team con-figuration and management and the enhanced game development process was positive (0.29) at p <0.05.For hypothesis H2 concerning game design document management and the enhanced game development process, the Pearson correla- tion coefficient was also positive (0.79) at p <0.05, and therefore hypothesis H2 was also accepted. Hy-pothesis H3 concerning game engine development and the enhanced game development process was accepted due to a positive (0.59) correlation coef-ficient at p <0.05. Hypothesis H4 concerning game asset management and the enhanced game devel-opment process was accepted based on its positive Pearson correlation coefficient (0.45) at p <0.05. Hypothesis H5 concerning quality of game archi-tecture and the enhanced game development pro-cess was rejected based on its positive correlation coefficient (0.13), but higher p >0.05. Hypothesis H6 regarding game test management and the enhanced game development process was accepted due to its positive Pearson correlation coefficient (0.42) at p <0.05. The last hypothesis (H7) relating programming practices to the en-hanced game development process was also found to be significant (0.52) at p <0.05 and was there-fore accepted. Hence, in summary, hypotheses H1, H2, H3, H4, H6, and H7 were accepted and found to be statistically significant. Hypothesis H5 was not supported statistically and was therefore re-jected. Phase II of hypothesis testing
Hypotheses H1–H7 were tested based on the non-parametric Spearman correlation coefficient in phase II. Table 3 reports the results for the Spearman correlation coefficient. Hypothesis H1 regarding team configuration and management was accepted because of its positive Spearman correlation coefficient (0.29) at p <0.05. Hypothesis Factors Path coefficient R F -Ratio H1 Team configuration and management 0.29 0.08 11.35* H2 Game design document management 0.74 0.56 148.9* H3 Game engine development 0.59 0.34 62.09* H4 Game asset management 0.07 0.006 0.72* H5 Quality of game architecture 0.13 0.02 2.3** H6 Game test management 0.42 0.18 26..20* H7 Programming practices 0.52 0.27 44.45* *Significant at p <0.05 **Insignificant at p >0.05 Table 4 PLS regression results for hypothesis testing ournal of Computer Science and Technology,
The Spearman correlation coefficient for game design document management and the en-hanced game development process (hypothesis H2) was also positive (0.74) at p <0.05 and was also found to be significant. The relationship be-tween game engine development and the enhanced game development process game (hypothesis H3) was found to be statistically significant due to its Spearman correlation coefficient (0.64) at p <0.05 and was accepted. For hypothesis H4 regarding game asset management, the Spearman correlation coefficient was positive at p <0.05, and therefore H4 was accepted. Hypothesis H5 concerning qual-ity of game architecture and the enhanced game development process was rejected due to its posi-tive coefficient (0.19) at p >0.05. Hypothesis H6 concerning game test man-agement and the enhanced game development process was accepted due to its positive Spearman correlation coefficient (0.37) at p <0.05. The last hypothesis (H7) relating programming practices to the enhanced game development process was also found to be significant (0.48) at p <0.05. In sum-mary, hypotheses H1, H2, H3, H4, H6, and H7 were accepted and found to be statistically signifi-cant. Hypothesis H5 was not supported statistical-ly and was therefore rejected. Phase III of hypothesis testing
Hypothesis testing in phase III was performed using the partial least squares (PLS) technique. The main reason for using the PLS method in this phase was to cross-validate the results obtained from the parametric and non-parametric statistical approaches used in Phases I and II and to over-come their associated limitations. Tests were also per formed on hypotheses H1–H7 to check their direction and significance. The de-pendent variable, i.e., the enhanced game devel-opment process, was designated as the response variable and other individual factors (independent variables) as the predicate variables for PLS exam-ination. The observed results of the structural hy-pothesis tests are presented in Table 4. The table also includes the values of the path coefficient, R , and the F -ratio. The path coefficient for team con--figuration and management (H1) was observed to be 0.29, with an R of 0.08 and an F -ratio of 11.35, and H1 was therefore found to be significant at p <0.05. Game design document management (H2) had a positive path coefficient of 0.74, R = 0.56, and F -ratio = 148.9 and was also found to be statistically significant at p <0.05. Game engine development (H3) had a path coefficient of 0.59, a very low R of 0.34, and an F -ratio of 62.09 and ournal of Computer Science and Technology, - 26 - was found to be significant at p <0.05. Game asset management (H4) had a positive path coefficient of 0.07, a low R of 0.06, and an F- ratio of 0.72 and was judged to be significant because the p -value was less than 0.05. Quality of game archit- -ecture (H5) (path coefficient: 0.13, R : 0.02, and F -ratio: 2.3) was found to be statistically insignifi-cant at p <0.05. Game test management (H6) (path coefficient: 0.42, R : 0.18, and F -ratio: 26.20) and programming practices (path coefficient: 0.52, R : 0.27, and F -ratio: 44.45) were found to be signifi-cant at p <0.05. Research model testing
The linear regression equation for the research model is given by Eq. 1. The research model was tested to provide empirical evidence that factors important to game developers play a considerable role in improving the overall game development process in the SGI. The test procedure examined the regression analysis, the model coefficient val-ues, and the direction of the associations. The de-pendent variable (the enhanced game development process) was designated as the response variable and the other independent variables (all the key developer factors) as predicate variables. The re-gression analysis model results are reported in Ta-ble 5. The path coefficients of six of the seven var-iables (team configuration and management, game design document management, development of a game engine, game asset management, game test management, and programming practices) were positive and were found to be statistically signifi-cant at p <0.05. The path coefficient for quality of game architecture was positive, but was found not to be statistically significant at p <0.05. The overall R value of the research model was 0.83, and the adjusted R value was 0.68 with an F -ratio of 36.97, which was significant at p <0.05. Model coefficient name Model coefficient Coefficient value t-value Team configuration and management α Game design document management α Game engine development α Game asset management α Quality of game architecture α Game test management α Programming practices α Constant α R R F -ratio Table 5 Linear regression analysis of the research model *Significant at p <0.05 **Insignificant at p >0.05 ournal of Computer Science and Technology, Discussion
Software game development is a multidisci-plinary activity that has its roots in the manage-ment and software engineering disciplines. The software game industry has become a mass phe-nomenon, supplemented by a number of possible strategies and exciting questions for game devel-opment companies. More and more companies are entering the market, and hence the intensity of competition is increasing. Established and new entrants must both pay attention to the key factors that help to improve their game development pro-cesses and keep them competitive in the market. Now it is time to understand the perspective of game developers and to learn what they think is important to improve software game quality and how the developed game can become successful in the market. This research is a first step towards this understanding because it will help developers and game development organizations to under-stand the relationships and interdependences be-tween key factors from a developer’s perspective and to understand the enhanced game develop-ment process. This research is the first empirical investigation of factors important to developers in relation to improving the current development process and provides an opportunity to explore associations between them empirically. The ob- served results support the theoretical assertions made here and provide the very first evidence that consideration of key developers’ factors while de-veloping games is important for software game success. This could well result in institutionalizing the software game development approach, which in turn has a high potential to maximize profits. Especially in the game development process, multidisciplinary team configuration and man-agement is a huge challenge. Basically, producing high-quality games relies on a high level of plan-ning, communication, and organization of multi-disciplinary teams to avoid costly delays and fail-ures. Many factors have been identified by re-searchers as important to implementing a success-ful collaboration between any kinds of multidisci-plinary team. These factors include interpersonal factors such as trust among team members and ability to communicate [34], willingness to collab-orate, and mutual respect [106]. Others are organi-zational factors, including establishing appropriate protocols and supporting collaboration [107] These factors can be implemented by using vari-ous software applications that are specifically de-signed for collaborating on commercial software development projects. The main concern when using these software applications is that they must fit in with the existing computing and workflow environment [108]. Management of the members of various multidisciplinary teams can be evaluat-ed and maintained mainly by examining values and practices, for example, what each individual team member brings to the table, how they use ournal of Computer Science and Technology, - 28 - material or assets produced by other team mem-bers, how they reconcile conflicting priorities, and finally how their personal relations influence the collaboration. The multidisciplinary team can use management or collaboration software for task tracking, version control, file sharing, and contin-uous integration. Successful collaboration between team members enables them to manage easily all phases of game development from start-up, creat-ing a concept, creating a proof of concept, the pro-duction phase, and so forth until the game is pub-lished. This study has explored the importance of team configuration and management factors from a developer’s perspective. It has found positive associations between team configuration and man-agement and the enhanced game development process. Hence, proper configuration and man-agement of multidisciplinary teams is a crucial part of the game development process. However, it must be balanced with other development issues in the game development process. Game design document management has been found to be positively associated with the en-hanced game development process. The GDD is mainly a pre-production artifact which is defined by the pre-production phase team to capture a cre-ative vision of the game. Game developers gener-ally feel that imposing too much structure at the start of a game may be highly detrimental [40] , resulting in reduced creativity, constraining ex-pression, and risking the intangibles that create an enjoyable feeling or experience. At the same time, the importance of structure has been highlighted by many researchers, as discussed in the literature review section. Management of the game design document and its transition into a requirements and specifications document is challenging. One way to handle this during the pre-production phase is to produce two documents. The first one is the GDD, and the second one is a requirements and specifications document based on the GDD. Managing and transforming the GDD into a production document is complex be-cause the two require different documentation styles. Supportive documentation is also required to help the development team in its transition from pre-production to the production phase. The author of the GDD may not have the requisite writing skills to produce a document that is understanda-ble by the production team (technical people). Ba-sically, there is a long list of required skills for a GDD developer, such as knowledge of game de-sign, technical communication, and requirements engineering. Hence, a formal process is needed to support the transition and would likely increase the reliability of the game development process. The results of this study have shown that devel-opment and transformation of the GDD is very important and also requires strong management skills to reduce documentation effort. Hence, the results presented here have shown that a good GDD is the greatest contributor to the success or failure of a game development project. Game asset management was also found to have a positive association with the enhanced game development process. Game assets, defined as any piece of data that is in a format that can be used by the game engine, will be presented to the user. To create and manage game assets, a realistic ournal of Computer Science and Technology, content generator must be developed that can fill in the missing bits. Trade-offs between realism and performance and between realism and control must also be investigated for any asset created. For graphical animation, a number of 3D model for-mats can be used by game developers. These can generally be divided into two categories: frame-based animation and skeletal-based animation. De-termination of the perfect animation model for a game has become crucial because a diversity of format types for graphics are available. Eventual-ly, a poor choice could limit the performance of the game itself. For sound effects in games, certain problems are faced by developers because of un-expected or complex scene configurations. A number of asset management tools exist, but se-lecting the appropriate one is a challenge because each has its own limitations and benefits. Improvements in the game development pro-cess have been greatly aided by the emergence of game development tools, specifically game en-gines. A game engine facilitates the game devel-opment process by providing various sets of fea-tures that help decrease development time and cost. These are available for most game genres (e.g., role-playing games or serious games for training) and vary in cost and complexity. Not all game engines support the entire feature set of all the game genres. Hence, integrating all the techno-logical aspects into one framework is a prohibi-tively difficult task. It is understandable, therefore, that confusion exists among game developers with regard to selecting the appropriate game engine. Game development tools should be selected only after determining the game concept and the GDD [109]. Most researchers in the area of game devel-opment tools have proposed their own architec-tures for specific genres and platforms. Anderson et al . [110] raised some important open questions for the academic community that are specific to the game engine development research field. The first is the main issue of the lack of a development language. The second question is how to define the boundaries between the game loop and the game engine. For example, what technical aspects should a game engine cover in a game? The third problem is that there is no standardization for game engines because most of them are specific to a particular game genre and game project. The fourth issue involves design dependencies, and the last the need for best practices when creating game engines. It was generally agreed that a game en-gine should handle a diversity of inputs and out-puts, a restricted set of customizations based on each genre, and an asset and resource management system. The results of this study have also showed that development of a game engine has a positive impact on the enhanced game development pro-cess. In other words, game engine development is an important factor that needs more consideration from a developer perspective. It is a common perception that a good-quality or even perfect game architecture is a very im-portant part of the game development process be-cause reworking architecture afterwards is always hard. A game architecture identifies the main structural components of the underlying software and their relationships. In the game development literature, many researchers have proposed differ-ent frameworks for different platforms and based ournal of Computer Science and Technology, - 30 - on different technologies. As a developer it is dif-ficult to select among these because all provide a kind of reference architecture and their validity is still in question. The findings of the study do not support a statistically positive relation between quality of game architecture and the enhanced game development process. The direction of asso-ciation was found to be positive, but the required level of confidence was not supported. Hence, the hypothesis that quality of game architecture has a positive impact on the enhanced game develop-ment process was statistically rejected. Testing in game development is done mainly at a very late stage or the end of development to ensure the quality and functionality of the finished product. Typically, in a particular game project, the leader dedicates a specific amount of time for quality assurance or a beta tester to test the game. Various development methodologies are used to develop games, such as the agile methodology and the waterfall model, but testing must form part of all processes. Every aspect of a game should be tested during the development and production phases. In addition, certain foundational elements should also be tested during the pre-production phase, such as frameworks and platform set-up. The most important aspect of testing for game de-velopers is to integrate testing as part of the pro-duction phase to improve efficiency. To ensure continuous quality and delivery of good games to the market, developers must consider majority testing options during the production phase. Helppi [80] also researched the possibility that mobile game robustness can be improved by con-tinuous integration, delivery, and testing and con- cluded that this approach can improve the outcome of games and result as a more robust end-product. Therefore, testing plays an important role in each step of the development phase, and its manage-ment throughout the game development process is important. The results of this study have also sup-ported the hypothesis that game testing manage-ment is important for the enhanced game devel-opment process. At the same time, testing tech-niques have matured over time, but still need im-provement. Game programming strategy has a direct ef-fect on game performance. There are many con-cerns associated with today’s game programming practices. Game developers must look for solu-tions to common problems in game programming such as coupling of modules, availability of differ-ent scripting and programming languages, plat-form compatibility issues, memory management, and code optimization strategy, specifically to im-prove game performance and quality. Hence, game developers must consider various aspects of the game such as speed, flexibility, portability, and maintainability while still coding. Ultimately, the skilled programming team will be able to develop and implement the full functional game. Matching of required skills to the abilities of developers is very important to improve the overall game devel-opment process, a conclusion also supported by this study. Overall, the findings of this study are im-portant for the development of good-quality soft-ware games. Rapid and continual changes in tech-nology and intense competition not only affect the ournal of Computer Science and Technology, business, but also have a great impact on devel-opment activities. To deal with this strong compe-tition and high pressure, game development organ-izations must continually assess their activities and adopt an appropriate evaluation methodology. Use of a proper assessment methodology will help the organization identify its strengths and weaknesses and provide guidance for improvement. However, the fragmented nature of the game development process requires a comprehensive evaluation strat-egy, which has not yet been entirely explored. The findings of this study will help game development organizations to look for contributing key success factors from a developer’s perspective. This study is a part of a larger project aiming to propose a software game maturity assessment model. The developer’s perspective was one of the important dimensions identified among the consumer, the business [111], and the process itself. The findings of this study also provide a justification to include these factors in the process assessment methodol-ogy.
Limitations of the study
For software engineering processes or product investigations, various empirical approaches are used, such as case studies, metrics, surveys, and experiments. However, certain limitations are as-sociated with empirical studies and with this study as well. Easterbrooks et al. [112] suggested four criteria for validating empirical studies: internal validity, construct validity, external validity, and reliability. Wohlin et al . [113] stated that general-izing experimental results to industrial practice by researchers is mostly limited by threats to external validity. In this study, measures were taken to ad-dress external threats to validity. The random sampling method was used to select respondents from all around the world. Open-ended questions were also included in the questionnaire. The choice and selection of independent vari-ables was one of the limitations of this study. To analyze the association and impact of factors af-fecting software game success, seven independent variables were included. However, other key fac-tors may exist which have a positive association with and impact on the game development pro-cess, but due to the presence of the selected seven variables in the literature, they were included in the study. In addition, other key factors may exist, such as regionally or environmentally based choices, which may have a positive impact on the game development process, but were not consid-ered in this study. Furthermore, the focus of this study was only on developers’ factors affecting the enhanced game development process. ournal of Computer Science and Technology, - 32 -
Another notable limitation of the study is the small sample size. Although, collected number of responses are large in number but they can still consider small as compared to overall population size. The vast majority of game developers work in one- to three-person teams and did not have the required level of experience (three years) and were therefore excluded from this empirical investiga-tion. Most respondents refused to answer the ques-tionnaire because they were too busy in the game development process or launching their games in the market. Therefore, data collection from the game industry was limited, resulting in small sam-ple size. There are some approaches discussed by researchers such as by Zhang and Zhang [117] to handle the small sample size by using different machine learning techniques. However, one of the objective to divide data analysis section into three phases is to address the small sample size issue. The main effect of small sample size is on its sta-tistical power, Type II error, significance and on distribution [115]. Therefore, the important thing is while making conclusion avoid strong state-ments. As, the small samples size studies results can be difficult to replicate or generalize [116] but they do provide some interplay between variables. The well designed small studies are seems ok to conduct as they provide quick results but they need to be interpreted carefully [114]. The results of small studies should be used to design larger confirmatory studies which is the case of this study as well. In software engineering, the increased popu-larity of empirical methodologies has raised con-cerns about ethics. This study has adhered to all applicable ethical principles to ensure that it would not violate any experimental ethics guidelines. Regardless of its limitations, this study has con-tributed to the software game development process and has helped game development organizations understand the developer’s dimension of software games. Conclusions
Game development is a complex process, and for successful development of good-quality soft-ware games, game developers must consider and explore all related dimensions as well as discuss-ing them with all the stakeholders involved. This study provides a better understanding of the fac-tors important to developers in the software game development process and explores the impact of key factors on the success of software games from a developer’s perspective. This study has mainly tried to answer the research question that was posed earlier in this paper and to analyze the im-pact of developers’ key factors for game develop- ournal of Computer Science and Technology, ment process improvement. The results of this empirical investigation have demonstrated that developers’ key factors are very important and play a key role in improving the software game development process. The results showed that team configuration and management, game design document management, game engine develop-ment, game test management, and programming practices are positively associated with the en-hanced game development process. The empirical investigation found no strong association or im-pact between quality of game architecture and the enhanced game development process. In the game development field, this research is the first of its kind and will help game developers and game de-velopment organizations achieve a better under-standing of key factors for improving the game development process. To improve the current game development process and develop good-quality games, it is important for developers to consider the identified key factors as well as oth-ers. Currently, the authors are working on devel-oping a software game maturity model for game development process assessment. This study has provided the empirical evidence and justification to include factors from the developers’ perspective in evaluating the developer dimension of game development process maturity.
References [1]
Petrillo, F. & Pimenta, M. (2010). Is agility out there? Agile practices in game development, in Proceedings of 28 th ACM International Conference on Design of Communication (SIDOC ‘10), 9–15. [2]
Delmestri, G., Montanari, F., Usai, A., (2005). Reputation and strength of ties in predicting commercial success and artistic merit of independents in the Italian film industry. Journal of Management Studies, 42, 975–1002. [3]
Robins, S., (2010). Introduction to Game Development, Second Edition, Independence, KY, USA: Cengage Learning. [4]
Blow, J., (2004). Game development: harder than you think, ACM Queue Magazine, 1 (10), 28–37. [5]
Kanode, M. C., & Haddad H. M., (2009). Software engineering challenges in game development, in Proceedings of Sixth International Conference on Information Technology: New Generations (ITNG ‘09), 260–265. ournal of Computer Science and Technology, [6]
Kultima, A., (2010). The organic nature of game ideation: game ideas arise from solitude and mature by bouncing, in Proceedings of the International Academic Conference on the Future of Game Design and Technology, ACM Press Future Play, May 6–7, Vancouver, Canada, 33–39. [7]
McGill, M., (2009). Defining the expectation gap: a comparison of industry needs and existing game development curriculum, in Proceedings of the 4 th International Conference on Foundations of Digital Games (FDG ‘09). ACM, New York, NY, USA, 129–136. DOI=10.1145/1536513.1536542. [8]
Gredler, M.E. (1995). Designing and evaluating games and simulations. Behavioral Science, Wiley Online Library, Vol. 40, No. 1, pp. 76–77. [9]
Gredler, M.E. (2004). Games and simulations and their relationship to learning. Handbook of Research on Educational Communications and Technology, pp. 571–581. [10]
Rieber, L.P. (2005). Multimedia learning in games, simulations, and micro-worlds. Cambridge Handbook of Multimedia Learning, Cambridge University Press, U.K., pp. 549–567. [11]
Keith, C. (2010). Agile Game Development with Scrum. Boston: Addison-Wesley. [12]
Pressman, R.S. (2001). Software Engineering: A Practitioner Approach, 5th ed., New York: Wiley. [13]
Petrillo, F., Pimenta, M., Trindade, F. (2009). What went wrong? A survey of problems in game development. Computers in Entertainment, ACM Digital Library, Vol. 7, No. 1, pp. 13.1–13.22. [14]
Ramadan, R., Widyani, Y. (2013). Game development life-cycle guidelines. Proceedings of 5 th International Conference on Advanced Computer Science and Information Systems (ICACIS), IEEE Computer Society, Jakarta, Indonesia, September 28–29, pp. 95–100. [15]
Lee, S.H., Lee, G.H., Cho, H.H., Song, D.H., Rhew, S.Y. (2006). An empirical model of the game software development process. Proceedings, Fourth International Conference on Software Engineering Research, Management. and Applications, Seattle, WA, August 9–11, pp. 371–377. ournal of Computer Science and Technology, - 4 - [16]
Ayyad, R., Masood, M. (2010). An optimization of CPS model in computer game development for non-programmers. Second International Conference on Computer Intelligence, Modelling, and Simulation, IEEE Computer Society, Bali, Indonesia, September 28–30, pp. 125–128. [17]
Pena, J. (2011). Collaborative framework for browser game development, Proceedings, 2011 Workshop on Open Source and Design of Communication, ACM Digital Library, Lisbon, Portugal, July 11, pp. 65–72. [18]
Tschang, F.T. (2003). Beyond normal products and development process: computer games as interactive experimental goods and their manner of development. In: What do we Know about Innovation? A conference in honor of Keith Pavitt, University of Sussex, November 13–15, pp. 1–31. [19]
McGrath, J. (2011). The Game Development Lifecycle: A Theory for the Extension of Agile Project Methodology. Available at: http://blog.dopplerinteractive.com/ 2011/04/game-development-lifecycle-theory-for.html. Accessed on May 1, 2014. [20]
Bethke, E. (2003). Game Development and Production. Wordware. [21]
Hendrick, A. (2009). Project Management for Game Development. June 15, Available at: http://mmotidbits.com/2009/06/15/project-management-for-game-development/. Accessed on May 20, 2014. [22]
Hagan, A.O., Coleman, G., O’Connor, R.V. (2014). Software development processes for games: A systematic literature review. 21 st European Conference on Systems, Software, and Services Process Improvement (EuroSPI 2014), CCIS Vol. 425, Springer-Verlag, June, pp. 182–193. [23]
Polk, R. (2011). Agile and Kanban in coordination. In: Agile Conference (AGILE), pp. 263–268. [24]
Birchall, J., Gatzidis, C. (2013). The periodic table of elements via an XNA-powered serious game. In: Pan, Z., Cheok, A., Müller, W., Liarokapis, F. (eds.), Transactions on Edutainment IX, Springer, Berlin, Heidelberg, Vol. 7544, pp. 1–28. [25]
Musil, J., Schweda, A., Winkler, D., Biffl, S. (2010). Improving video game ournal of Computer Science and Technology, development: Facilitating heterogeneous team collaboration through flexible software processes. In: Riel, A., O’Connor, R., Tichkiewitch, S., Messnarz, R. (eds.), Systems, Software and Services Process Improvement, Springer, Berlin, Heidelberg, Vol. 99, pp. 83–94. [26]
Kasurinen, J., Laine, R., Smolander, K, (2013). How applicable is ISO/IEC 29110 in Game Software Development? Lecture Notes in Computer Science, Springer Berlin Heidelberg, Vol. 7983, pp. 5-19. [27]
Kaitilla, C. (2014). How to learn Ouya Gamdev. Available at: http://gamedevelopment.tutsplus.com/articles/how-to-learn-ouya-gamedev--gamedev-9197. Accessed on December 20, 2014. [28]
Penzenstadler, B., Bauer, V., Calero, C., Franch, X. (2012). Sustainability in Software Engineering: A Systematic Literature Review. München: La Mancha, Catalunya. [29]
Ampatzoglou, A. & Stamelos, I. (2010). Software engineering research for computer games: A systematic review, Information and Software Technology, 52(9), 888-901. [30]
Viana, R., Ponte, N, Trinta, F., Viana, W., (2014). A systematic review on software engineering in pervasive games development, SBC - Proceedings of the SBGames 2014 | ISSN: 2179-2259 [31]
Claypool, K., & Claypool, M., (2005). Software engineering design: teaching software engineering through game design, Proceedings of 10 th Annual SIGCSE conference on Innovation and Technology in Computer Science Education (Caprical, Portugal), June, ACM Press, New York, NY, 123–127. [32]
Eric, S., De Meuse, K. P., Futrell, D. (1990). Work teams: applications and effectiveness, American Psychologist, 45, 120–133. [33]
Muchinsky, P., (2003). Psychology Applied to Work, Seventh Edition. Toronto, Canada: Thompson, Wadsworth. [34]
Rossen, E. K., Bartlett, R., & Herrick, C. A., (2008). Interdisciplinary collaboration: the need to revisit. Issues in Mental Health Nursing, 29, 387–396. [35]
Tran, M. Q., & Biddle, R., (2008). Collaboration in serious game development: a case study, Proceedings of ournal of Computer Science and Technology, - 6 -
Future Play, November 3–5, ACM Press, Toronto, Canada, 49–56. [36]
Stacey, P., Brown, A., & Nandhakumar, J., (2007). Making sense of stories: the development of new mobile computer game, in Proceedings of the 40 th Hawaii International Conference on System Sciences, January, Waikoloa, HI, 1–10. [37] de Barros, R. L.B., Alves, C. F., & Ramalho, G. L., (2009). Investigating the communication process in multidisciplinary game development teams, 2009 Simposio Brasileiro de Sistemas Colaborativos (SBSC), October 5–7, Fortaleza, Ceara, 61–69. [38]
Kasurinen, J., Maglyas, A., Smolander, K., (2014). Is requirement engineering useless in game development? Lecture Notes in Computer Sciences (LNCS) 8396, Springer, 1–16. [39]
Bosser, A., (2004). Massively multi-player games: matching game design with technical design, Proceedings of ACE’04, June 3–5, ACM, Singapore, 263–268. [40]
Callele, D., Neufeld, E., Schneider, K., (2005). Requirements engineering and the creative process in the video game industry, in Proceedings of the 2005 13 th IEEE International Conference on Requirement Engineering (RE’05), August 29–September 2, 240–250. [41]
Callele, D., Neufeld, E., & Schneider, K., (2010). A proposal for cognitive gameplay requirement, 2010 Fifth International Workshop on Requirements Engineering Visualization (REV), 28 th September, Sydney, 43-52. [42]
Reyno, E. M., Cubel, J. A. C., (2009). Automatic prototyping in model-driven game development, ACM Computers in Entertainment, 7 (2), Article 29, 1–9. [43]
Almeida, M. S. O., & da Silva, F. S. C., (2013). A systematic review of game design methods and tools, in Proceedings of ICEC 2013, LNCS 8215, 17–29. [44]
Ahmed, I., & Jaafar, A., (2011). Game design and integration with user’s emotion, in Proceedings of 2011 International Conference on User Science and Engineering (i-USEr), IEEE Computer Society, November 29–December 1, Shah Alam, Selangor, 60–72. [45]
Bringula, R. P., Alcid, A. S., Bandril, L. B. P., Guzman, A. E. D., & Lopez, L. J. C., (2014). Development of game design guidelines, Proceedings of 2 nd International ournal of Computer Science and Technology,
Conference on Technology, Informatics, Management, Engineering, & Environment, August 19–21, Bandung, Indonesia, IEEE Computer Society, 234–239. [46]
Sherrod, A., (2007). Ultimate 3D Game Engine Design and Architecture, Charles River Media, Boston MA. [47]
Cowan, B., & Kapralos, B., (2014). A survey of frameworks and game engine for serious game development, in Proceedings of 14 th International Conference on Advanced Learning Technologies, July 7–10, Athens, 662–664. [48]
Hudlicka, E., (2009). Affective game engine: motivation and requirements, in Proceedings of 4 th International Conference of Future of Digital Games, April 26–30, Orlando, FL, USA, 299–306. [49]
Yan-Hui, W., Xia-Xia, Y., & Jin, H. (2011). Design and implementation of a game engine based on Android platform, in Proceedings of 2011 International Conference on Internet Technology and Applications (iTAP), August 16–18, Wuhan, P.R. China, 1–3. [50]
Rodkaew, Y., (2013). The last eternity: 3D role-playing game with a cross- platform development, in Proceedings of International Computer Science and Engineering Conference, September 4–6, Nakorn Pathom, Thailand, 313–318. [51]
Vanhutupa, J. (2011). On the development of browser game technologies of an emerging genre, in Proceedings of 7th International Conference on Next Generation Web Services Practices (NWeSP), October 19–21, Salamanca, Spain, 363–368. [52]
Sousa, J. A. P., & Garlan, D., (2002). Aura: an architectural framework for user mobility in ubiquitous computing environments, In Proceedings of the IFIP 17th World Computer Congress, TC2 Stream / 3rd IEEE/IFIP Conference on Software Architecture: System Design, Development and Maintenance, ser. WICSA 3. Deventer, The Netherlands, Kluwer, B.V., 2002, 29–43. [53]
Aitenbichler, E., Kangasharju, J., & Mühlhäuser, M., (2007). MundoCore: a light-weight infrastructure for pervasive computing, Pervasive Mobile Computing, 3( 4), 332–361. [54]
Pimenta, M. S. C. S., Buzeto, F. N., Santos, L. H. O., Castanho, C. D., & ournal of Computer Science and Technology, - 8 -
Jacobi, R. P., (2014). A game engine for building Ubigames, in Proceedings of 13th Annual Workshop on Network and Systems Support for Games (NetGames), December 4–5, Nagoya, Japan, 1–3. [55]
Neto, B., Fernandes, L., Werener, C., de Souza, J. M., (2009). Reuse in digital game development, in Proceedings of the 4 th International Conference on Ubiquitous Information Technologies & Applications, 2009 (ICUT ‘09), December 20–22, Fukuoka, Japan, 1–6. [56]
Peker, A. G., & Can, T., (2011). A design goal and design pattern based approach for development of game engine for mobile platform, In Proceedings of 16 th International Conference on Computer Games, July 27–30, Louisville, KY, 114–120. [57]
Llopis, N., (2004). Optimizing the content pipeline, Game Developer Magazine. [58]
Hendrikx, M., Meijer, S., Velden, J. V. D., & Iosup, A., (2011), Procedural content generation for games: a survey. ACM Transactions on Multimedia Computing, Communications, and Applications, 1, 1–24. [59]
Carli, D. M. De., Bevilacqua, F., Pozzer, C. T., & d’Ornellas, M. C., (2011). A survey of procedural content generation technique suitable to game development, in Proceedings of 2011 Brazilian Symposium on Games and Digital Entertainment (SBGAMES), November 7–9, Salvador, 26–35. [60]
Phelps, A., (2005). Graphics don’t matter (and other assertions), available at: http://gotgame.cornate.com/archives/2005/06/13/graphics_dont_matter_and_other_assertion.php, Accessed on October 24, 2015. [61]
Pranatio, G., & Kosala, R., (2010), A comparative study of skeletal and keyframe animations in a multiplayer online game. In Proceedings of 2010 Second International Conference on Advances in Computing, Control and Telecommunication Technologies (ACT), December 2-3, Jakarta, 143-145. [62]
Lasseter, J., (1987). Principals of traditional animation applied to 3D computer animation, Computer Graphics, ACM Press, 21(4), 35–44. ournal of Computer Science and Technology, [63]
Maestri, G., (2006). Digital Character Animation 3, Berkeley: New Riders Publishing. [64]
Xu, H., & CuiPing, W. (2009). A review and development of 3D accelerator technology for games, in Proceedings of 2 nd International Symposium on Intelligent Information Technology and Security Informatics, June 23–25, Moscow, 59–63. [65]
Chehimi, F., Coulton, P., Edwards, R. (2006), Advances in 3D graphics for Smartphones. In Proceedings of International Conference on Information and Communication Technologies: from Theory to Applications. April 2006, Damascus, Syria, 24–28. [66]
Manocha, D., Calamia, P., Lin, M., Manocha, D., Savqia, L., & Tsingos, N., (2009). Interactive sound rendering. In SIGGRAPH ’09: ACM SIGGRAPH 2009 Courses. ACM, New York, NY, USA, 1–338. [67]
Pichlmair, M., (2007). Levels of sound: on the principle of interactivity in music video games, in Proceedings of Digital Game Research Association Conference, Simulated play, 424–430. [68]
Migneco, R., Doll, T. M., Scott, J. J., Hahn, C., Diefenbach, P. J. &Kim, Y. E., (2009). An audio processing library for game development in Flash, in Proceedings of International IEEE Consumer Electronics Society Games Innovations Conference, August 25–28, London, 201–209. [69]
Wang, A. I. & Norum, M. S. (2006). Issues related to development of wireless peer-to-peer games in J2ME, in Proceedings of the Advanced International Conference on Telecommunications and International Conference on Internet Web Applications and Services (AICT/ICIW), February 19–25, Guadelope, French Caribbean , 1–5. [70]
Amendola, F., Fernandez, M., Favre, L. & Aires, B. (2015). GLIESE, a framework for experimental game development, In Proceedings of 12 th International Conference on Information Technology: New Generations, April 13–15, Las Vegas, 528–533. [71]
Gamma, E., Helm, R., Johnson, R. & Vilssides, J. (1995). Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley Professional. ournal of Computer Science and Technology, - 10 - [72]
Lukashev, D., Puresev, A., & Makhlushev, I., (2006). 3D applications for 3G mobile phones: design, development, resource utilization, IEEE Tenth International Symposium on Consumer Electronics, 2006 (ISCE ‘06), St. Petersburg, 1–4. [73]
Rhalibi, A. E., Merabti, M., Carter, C., Dennett, C., Cooper, S., Sabri, M. A. & Fergus, P., (2009). 3D Java Web-based games development and deployment, in Proceedings of International Conference on Multimedia Computing and Systems, 2009 (ICMCS ‘09), April 2–4, Ouarzazate, Morocoo, 553–559. [74]
Jhingut, M. Z., Ghoorun, I. M., Nagowah, S. D., Moloo, R. & Nagowah, L. (2010). Design and development of 3D mobile games, in Proceedings of 3 rd International Conference on Advances in Computer-Human Interaction, February 10–15, Saint Maarten, 119–124. [75]
Kosmopoulos, A., Karamichali, I., Kemerlis, V. P. & Polyzos, G. C., (2007). Fueling game development in a mobile P2P environment, In Proceedings of 18 th Annual IEEE International Symposium on Personal, Indoor, and Mobile Radio Communication (PIMRC’07), September 3–7, Athens, 1–5. [76]
Al-Azawi, R., Ayesh, A. & Al-Obaidy, M. (2014). Towards agent-based agile approach for game development methodology, in Proceedings of World Congress on Computer Applications and Information Systems (WCCAIS), January 17-–9, Hammamet, Tunisia, 1–6. [77]
Segundo, R. M., da Silva, J. C. F. & Tavares, T. A., (2010). ATHUS: A generic framework for game development on Ginga middleware, in Proceedings of Brazilian Symposium on Games and Digital Entertainment, November 8–10, Florianopolis, Brazil, 89–96. [78]
Helppi, V. V. (2015). The agile process for mobile game development and testing, Testdroid Blog, June 14, 2015, Available at: http://testdroid.com/tech/the-agile-process-for-mobile-game-development- ournal of Computer Science and Technology, and-testing, Accessed on 27 th October 2015. [80]
Charles, R. B., Schultz, P. & Langdell, T. (2005). Testing All in One, Thomson Course Technology, Boston. [81] th October, 2015. [82]
Kasurinen, J. & Smolander, K. (2014). What do game developers test in their products? In Proceedings of the 8th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM’14), September 18–19, Tornio, Italy, ACM Digital Library, 1–10. [84]
Al-Azawi, R. Ayesh, A. & Obaidy, M. A. (2013). Generic evaluation framework for game development methodology, in Proceedings of 3 rd International Conference on Communications and Information Technology (ICCIT-2013): Digital Information Management, and Security, June 19–21, Beirut, 55–60. [85]
Omar, H. M. & Jaafar, A. (2011). AHP_HeGES: tools to evaluate usability of educational computer games (UsaECG), in Proceedings of International Conference on User Sciences and Engineering (i-USEr), November 29–December 1, Shah Alam, Selangor, 73–76. [86]
Straat, B. & Warpefelt, H. (2015), Applying the two-factor theory to play heuristics, in Proceedings of DiGRA 2015: Diversity of Play: Games-Culture-Identities, 1–12. [87]
Sarinho, V. T. & Apolinario, A. L. (2009). A generative programming approach for game development, in Proceedings of VIII Brazilian Symposium on Games and Digital Entertainment, October 8–10, Rio de Janeiro, 83–92. [88]
Czarnecki, K. & Kim, C. (2005). Cardinality-based feature modeling and ournal of Computer Science and Technology, - 12 - constraints: a progress report, in Proceedings of International Workshop on Software Factories, October 17, San Diego, California, USA, ACM Digital Library, 1–9. [89]
Chen, Y., Keivanloo, I., & Roy, C. K. (2014). Near-miss software clones in open source games: an empirical study, in Proceedings, IEEE 27th Canadian Conference on Electrical and Computer Engineering (CCECE), May 4–7, Toronto, Canada, 1–7. [90]
Anderson, E. F. (2011). A classification of scripting systems for entertainment and serious computer games, in Proceedings of 3 rd International Conference on Games and Virtual Worlds for Serious Applications, May 4–6, Athens, 47–54. [91]
Xu, S. & Rajlich, V. (2006). Empirical validation of test-driven pair programming in game development, in Proceedings of the 5 th IEEE/ACIS International Conference on Computer and Information Sciences, July 10–12, Honolulu, HI, 500–505. [92]
Zhang, W., Han, D., Kunz, T. & Hansen, K. M. (2007). Mobile game development: object-orientation or not, in Proceedings of 31 st Annual International Computer Software and Applications Conference, July 24–27, Beijing, 601–608. [93]
Wang, A. I., & Nordmark, N., (2015). Software architecture and the creative processes in game development, Entertainment Computing (ICEC 2015), Vol. 9353, Lecture Notes in Computer Science (LNCS), 272–285. [94]
Meng, L. S., Kelvin, E. C., Parakash, P. & Loh, K. K. (2004). Design and development of a peer-to-peer online multiplayer game using DirectX and C
Cronbach, L. J. (1951). Coefficient alpha and internal consistency of tests. Psychometrika, 16, 297–334. [96]
Osterhof, A. (2001). Classroom Applications of Educational Measurement. Prentice-Hall: New Jersey. [97]
Nunnally, J. C. & Bernste, I. A. (1994). Psychometric Theory. McGraw-Hill. [98]
Van de Ven, A. H. & Ferry, D. L. (1980). Measuring and Assessing Organizations. Wiley: New York. ournal of Computer Science and Technology, [99]
Comrey, A. L. & Lee, H. B. (1992). A First Course on Factor Analysis, 2nd Ed., Hillsdale, NJ: Lawrence Erlbaum. [100]
Campbell, D. T. & Fiske, D. W. 1959. Convergent and discriminant validation by the multi-trait multi-method matrix. Psychological Bulletin, 56(2), 81–105. [101]
Kaiser, H. F. (1960). The application of electronic computers to factor analysis. Educational and Psychological Measurement, 20, 141–151. [102]
Kaiser, H. F. (1970). A second-generation little jiffy. Psychometrika, 35, 401–417. [103]
Fornell, C. & Bookstein, F. L. (1982). Two structural equation models: LISREL and PLS applied to consumer exit voice theory. Journal of Marketing Research, 19, 440–452. [104]
Joreskog, K. & Wold, H. (1982). Systems under Indirect Observation: Causality, Structure, and Prediction. North Holland. [105]
Westfall PH & Young SS. Resampling based multiple testing. New York: Wiley, 1993. [106]
Martin-Rodriguez, L. S., Beaulieu, M. D., D’Amour, D. & Ferrada-Videla, M. (2005). The determinants of successful collaboration: a review of theoretical and empirical studies. Journal of Interprofessional Care, 19, 121–147. [107]
Pietroburgo, J. & Bush, B. (2008). Coming to terms: a case study of hospice collaboration challenges. American Journal of Hospice & Palliative Medicine, 24(6), 487–492. [108]
Huh, J., Ackerman, M.S., Erickson, T., Harrison, S. & Phoebe, S., (2007). Beyond usability: taking social, situational, cultural, and other contextual factors into account, in Proceedings of CHI, San Jose, California, 2007, 2113–2116. [109]
Iuppa, N. & Borst, T. (2010). End-to-End Game Development, Focal Press, 225–229. [110]
Anderson, E. F., Engel, S., McLoughlin, L. & Comnions, P. (2008). The case for research in game engine architecture, in Proceedings of Future Play 2008, November 3–5, Toronto, Ontario, Canada, 228–231. [111]
Aleem, S., Capretz, L.F. & Ahmed, F. (2016). Empirical investigation of key ournal of Computer Science and Technology, - 14 - business factors for digital game performance, Entertainment Computing, Elsevier, Computing, 13, 25-36, http://dx.doi.org/10.1016/j.entcom.2015.09.001. [112]
Easterbrooks, S., Singer, J., Storey, M. A. & Damian, D. (2007). Selecting empirical methods for software engineering research, in Proceedings of International Conference on Automated Software Engineering, Atlanta, Georgia, USA. [113]
Wohlin, P., Runeson, M. Host, M. C., Ohlsson, B., Regnell & Wesslen, A., (2000). Experimentation in Software Engineering. Kluwer, Norwell. [114]
Chow, S., Shao, J., Wang, H., (2008). Sample Size Calculations in Clinical Research, 2 nd Edition, Chapman & Hall CRC, Tylaor & Francis. [115]
Bryman, A., 2008. Social research methods. Oxford: Oxford University Press. [116]
Heckshaw, A. (2008). Small Studies: Strength and limitations, European respiratory journal, Vol. 32, Issue 5, pp. 1141-1143. [117]
Zhang , C., Zhang, J. (2013). Analyzing Chinese citizens' intentions of outbound travel: A machine learning Approach. Current Issues in Tourism.
Dr. Saiqa Aleem received her MS in Com-puter Science (2004) from University of Central Punjab, Pakistan, MS in Information Technology (2013) from UAEU, United Arab Emirates and PhD. in Software Engineering (2016) from Uni-versity of Western Ontario, Canada. She had many years of academic and industrial experience hold-ing various technical positions. She is Microsoft, CompTIA, and CISCO certified professional with MCSE, MCDBA, A+ and CCNA certifications.
Dr. Luiz Fernando Capretz has vast experi-ence in the software engineering field as practi-tioner, manager and educator. Before joining the University of Western Ontario (Canada), he worked at both technical and managerial levels, taught and did research on the engineering of software in Brazil, Argentina, England, Japan and the United Arab Emirates since 1981. He is cur-rently a professor of Software Engineering and Assistant Dean (IT and e-Learning), and former Director of the Software Engineering Program at Western. His current research interests are soft-ware engineering, human aspects of software en-gineering, software analytics, and software engi-neering education. Dr. Capretz received his Ph.D. from the University of Newcastle upon Tyne (U.K.), M.Sc. from the National Institute for Space Research (INPE-Brazil), and B.Sc. from UNICAMP (Brazil). He is a senior member of IEEE, a distinguished member of the ACM, a MBTI Certified Practitioner, and a Certified Pro- ournal of Computer Science and Technology,
Dr. Faheem Ahmed received his MS (2004) and Ph.D. (2006) in Software Engineering from the Western University, London, Canada. Current-ly he is Associate Professor and Chair at Thomp-son Rivers University, Canada. Ahmed had many years of industrial experience holding various technical positions in software development or-ganizations. During his professional career he has been actively involved in the life cycle of software development process including requirements man-agement, system analysis and design, software de-velopment, testing, delivery and maintenance. Ahmed has authored and coauthored many peer-reviewed research articles in leading journals and conference proceedings in the area of software en-gineering. He is a senior member of IEEE. ournal of Computer Science and Technology, - 16 - ournal of Computer Science and Technology, ournal of Computer Science and Technology, - 18 - ournal of Computer Science and Technology, ournal of Computer Science and Technology, - 20 -- 20 -