You are on page 1of 7

Open source computer game application: An incrementando su popularidad.

La gestin
empirical analysis of quality concerns incontrolada del cambio prev un aumento de la
complejidad de los mtodos y clases en una
Aplicacin de juegos de ordenador de cdigo
aplicacin, lo que a veces resulta en mala calidad. El
abierto: Un anlisis emprico de las preocupaciones
nmero de proyectos de OSS relacionados con el
de calidad
desarrollo de juegos informticos est en aumento,
Abstract lo que lleva a ms intereses de investigacin en la
evaluacin de la calidad de los productos resultantes
A computer game is one of the major sources of de OSS. Algunos estudios que se ocupan de la
entertainment. People nowadays spend a lot of time evaluacin de la calidad de OSS, las preocupaciones
while playing computer games. Open Source utilizan el enfoque de encuesta de usuario
Software (OSS), despite some reservations on the centrndose en los aspectos de usabilidad. Las
quality, has been steadily increasing its popularity. investigaciones empricas para evaluar las
The uncontrolled change management foresees an preocupaciones de calidad del diseo, utilizando
increase in the complexity of the methods and atributos de cdigo interno, necesitan atencin de
classes in an application, which sometimes result in los investigadores. En este estudio, nuestro objetivo
poor quality. The number of OSS projects dealing es investigar las preocupaciones de calidad de la
with computer game development are on the complejidad de diseo de los mtodos en
increase, which lead to more research interests in aplicaciones de juegos de computadora OSS
assessing the quality of OSS resulting products. utilizando atributos de cdigo interno. Utilizamos
Some studies that deal with the evaluating the OSS tres criterios de calidad, a saber, la correccin, la
quality, concerns use users survey approach fiabilidad y la facilidad de mantenimiento del
focusing on the usability aspects. The empirical conjunto de seis factores del modelo ISO 9126.
investigations to evaluate the quality concerns of Recopilamos datos de 55 aplicaciones de juegos de
the design, using internal code attributes, needs computadora OSS y utilizamos varias tcnicas de
attention of researchers. In this study, we aim to anlisis estadstico para examinar la cuestin de
investigate the quality concerns of the design investigacin de este estudio. Concluimos que los
complexity of methods in OSS computer game mtodos de las aplicaciones de juegos de
applications using internal code attributes. We use computadora OSS demuestran un nivel de calidad
three quality criteria, namely correctness, reliability aceptable en los tres criterios de correccin,
and maintainability from the set of six factors of ISO confiabilidad y mantenibilidad.
9126 model. We collect data from 55 OSS computer
game applications and use various statistical
analysis techniques to examine the research
Keywords
question of this study. We conclude that the
methods of the OSS computer game applications Computer game; Empirical study; Software quality;
demonstrate an acceptable level of quality in the Open source software; Maintainability; Reliability
three criteria of correctness, reliability and
Juego de ordenador; el estudio emprico; Calidad del
maintainability.
Software; el software de fuente abierta;
Mantenimiento; confiabilidad

Un juego de ordenador es una de las principales


fuentes de entretenimiento. La gente hoy en da
pasan mucho tiempo jugando juegos de
computadora. El software de cdigo abierto (OSS), a 1. Introduction
pesar de algunas reservas sobre la calidad, ha ido
A computer game is a software application, which in achieving better quality. Shorter life span is a
primarily targets to entertain its users. The user of slightly different approach to understand the
the computer game application interacts with difference between a computer game and any other
graphical objects that simulate daily life/imaginary software development application. The computer
characters that are integral part of a background game is in use as long as it maintains the interests of
story to follow as the game progress. Although wide the user community. The underline truth is that
spread use of computer game is for entertaining computer game application does not solve the
purpose, in the recent past the use of computer problem of the user as the traditional counterpart
game for educational objectives is on the rise. Taylor do; it strives to entertain people. In the absence of
et al. [1] conclude that the computer games can real functional requirements for any computer
assist with purposeful human activity, as well as game, the job of the software designer is more
being played purely for recreational purposes. A demanding. The game development organizations
computer game operates on various platforms, such maintain their objective to create a piece of
as personal computers, game consoles, tablets, software application that is more engaging and
mobile phones, etc. Nowadays, computer game provides fun. The pressure to shorten the
development is a billion dollar industry. Many development time to capture major portion of the
companies and developers have significant market segments always dictates the vital design
contributions in the field of computer game decisions.
development. Nayak [2] finds that game industry
Un juego de computadora es una aplicacin de
earned three times more revenue than any other
software, cuyo objetivo principal es entretener a sus
software product in 2012. Schaefer and Warren [3]
usuarios. El usuario de la aplicacin de juego de
discover that today the computer gaming industry
computadora interacta con objetos grficos que
has become bigger than the music and film
simulan vida diaria / personajes imaginarios que son
industries. Ustunel et al. [4] observes that game has
parte integral de una historia de fondo a seguir
a quantifiable outcome that can be either positive or
como el progreso del juego. Aunque el uso
negative. Kanode and Haddad [5] determine that
extendido del juego de computadora es para el
during preproduction phase of game development
propsito entretenido, en el pasado reciente el uso
the game designers develop prototypes and test
del juego de computadora para los objetivos
them to evaluate the fun elements for the game. In
educativos est en la subida. Taylor et al. [1]
the game development lifecycle, the emphasis is to
concluyen que los juegos de computadora pueden
evaluate the user experiences and using the
ayudar con la actividad humana con propsito, as
feedback to drive design iterations [6]. Practitioners
como ser jugado puramente para los propsitos
and researchers argue that computer game
recreacionales. Un juego de computadora funciona
development process have some differences in
en varias plataformas, tales como ordenadores
comparison to the core traditional software
personales, consolas de juegos, tabletas, telfonos
development process. Callele et al. [7] highlights the
mviles, etc. Hoy en da, el desarrollo de juegos de
necessities to extend the traditional techniques of
computadora es una industria de mil millones de
requirements engineering to support the creative
dlares. Muchas empresas y desarrolladores tienen
process of the electronic game development. Gold
importantes contribuciones en el campo del
[8] also demonstrates that computer games
desarrollo de juegos de ordenador. Nayak [2]
development is different from other types of
encuentra que la industria del juego gan tres veces
software development. Similar to other computer
ms rdito que cualquier otro producto de software
applications, the software design of a computer
en 2012. Schaefer y Warren [3] descubren que hoy
game application is an important piece of artifact.
la industria del juego de computadora se ha hecho
The internal design helps in managing the
ms grande que las industrias de la msica y de la
complexity of the game application, and facilitates
pelcula. Ustunel et al. [4] observa que el juego tiene The process of computer game development
un resultado cuantificable que puede ser positivo o envisages contributions from various fields of
negativo. Kanode y Haddad [5] determinan que knowledge, such as computer science, visual arts,
durante la fase de preproduccin del desarrollo del sociology, psychology, education, business, etc. The
juego los diseadores de juegos desarrollan composition of development team of computer
prototipos y los prueban para evaluar los elementos game accommodates people from these varying
divertidos del juego. En el ciclo de vida del desarrollo fields of knowledge. This diversification
del juego, el nfasis es evaluar las experiencias del distinguishes it from a traditional software
usuario y utilizar la retroalimentacin para impulsar development team. According to Crooks [9],
iteraciones de diseo [6]. Los practicantes e creating the computer games is very complicated
investigadores sostienen que el proceso de task that requires the involvement of specialized
desarrollo de juegos de computadora tiene algunas and extremely skilled professionals from a wide
diferencias en comparacin con el proceso de spectrum area of computer sciences. Petrillo et al.
desarrollo de software tradicional. Callele et al. [7] [10] observe that successful game projects count on
destaca las necesidades para ampliar las tcnicas highly specialized multidisciplinary teams, having
tradicionales de ingeniera de requisitos para apoyar simultaneously software developers, designers,
el proceso creativo del desarrollo de juegos musicians, scriptwriters and many other
electrnicos. Gold [8] tambin demuestra que el professionals. Ampatzoglou and Chatzigeorgiou [11]
desarrollo de juegos de computadora es diferente also reinforce that in games, the development group
de otros tipos de desarrollo de software. Similar a consists of people with different fields of expertise.
otras aplicaciones informticas, el diseo de Kanev and Sugiyama [12] find that teams consisting
software de una aplicacin de juego de ordenador of several specialists, work together to discover new
es una pieza importante de artefacto. El diseo game ideas, characters design, modeling, evaluation
interno ayuda a manejar la complejidad de la and testing of computer games. Prensky [13] divides
aplicacin del juego, y facilita en lograr una mejor the fundamental components of a computer game
calidad. Una vida ms corta es un enfoque into many parts such as rules, goals and objectives,
ligeramente diferente para entender la diferencia outcomes and feedback,
entre un juego de computadora y cualquier otra conflict/competition/challenge/opposition,
aplicacin de desarrollo de software. El juego de interaction, and representation or story.
computadora est en uso siempre y cuando
El proceso de desarrollo de juegos informticos
mantenga los intereses de la comunidad de
prev contribuciones de diversos campos del
usuarios. La verdad del subrayado es que la
conocimiento, tales como la informtica, las artes
aplicacin del juego de computadora no soluciona el
visuales, la sociologa, la psicologa, la educacin, los
problema del usuario como la contraparte
negocios, etc La composicin del equipo de
tradicional; Se esfuerza por entretener a la gente. En
desarrollo de juegos de ordenador acomoda a
ausencia de requisitos funcionales reales para
personas de estos diversos campos del
cualquier juego de computadora, el trabajo del
conocimiento. Esta diversificacin lo distingue de un
diseador de software es ms exigente. Las
equipo de desarrollo de software tradicional. De
organizaciones de desarrollo de juegos mantener su
acuerdo con Crooks [9], la creacin de los juegos de
objetivo de crear una pieza de aplicacin de
ordenador es una tarea muy complicada que
software que es ms atractivo y ofrece diversin. La
requiere la participacin de profesionales
presin para acortar el tiempo de desarrollo para
especializados y extremadamente calificados de un
capturar la mayor parte de los segmentos de
amplio espectro de las ciencias de la computacin.
mercado siempre dicta las decisiones vitales de
Petrillo et al. [10] observan que los proyectos de
diseo.
juego exitosos cuentan con equipos
multidisciplinarios altamente especializados, que conclude that following good software design and
tienen simultneamente desarrolladores de coding practices is essential to the success of the
software, diseadores, msicos, guionistas y game. Ampatzoglou and Stamelos [18] suggest that
muchos otros profesionales. Ampatzoglou y software engineering for computer games is a field
Chatzigeorgiou [11] tambin refuerzan que en los that embraces many techniques and methods from
juegos, el grupo de desarrollo se compone de conventional software engineering and adapts them
personas con diferentes campos de especializacin. to fit the specific requirements of game
Kanev y Sugiyama [12] encuentran que los equipos development. The essential characteristic of being a
que consisten en varios especialistas, trabajan creative process demands strong collaboration
juntos para descubrir nuevas ideas de juegos, diseo among the team members of the game
de personajes, modelado, evaluacin y pruebas de development project, which is a characteristic of the
juegos de computadora. Prensky [13] divide los OSS development environment.
componentes fundamentales de un juego de
El OSS ha ido ganando impulso desde que las
computadora en muchas partes tales como reglas,
grandes organizaciones como Google, IBM y Nokia
metas y objetivos, resultados y retroalimentacin,
se unieron al club. Se ha convertido en una fuente
conflicto / competencia / desafo / oposicin,
popular de demostrar las capacidades de
interaccin, y representacin o historia.
programacin en el tiempo, se ha convertido en una
avenida de socializacin de cdigo. A diferencia del
software tradicional, en el que el cdigo fuente no
The OSS has been gaining momentum since the
est disponible para el usuario final y el costo est
large organizations such as Google, IBM, and Nokia
asociado con el producto, el OSS est abierto y libre.
joined the club. It has become a popular source of
De acuerdo con Scacchi [14], el enfoque de software
demonstrating programming capabilities over time,
de cdigo abierto permite a las comunidades de
it has become a code socialization avenue. Unlike
participantes con ideas afines desarrollar sistemas
the traditional software, in which source code is not
de software y los participantes a menudo
available to the end user and cost is associated with
desempean diferentes funciones, como
the product, the OSS is open and free. According to
desarrollador principal, propietario de mdulo,
Scacchi [14], the open source software approach
contribuyente de cdigo, administrador de
lets communities of like-minded participants
repositorio de cdigo, revisor o usuario final . La
develop software systems and the participants often
calidad del producto OSS ha sido una preocupacin
play different roles, such as core developer, module
clave. Bahamdain [15] considera que la OSS de alta
owner, code contributor, code repository
calidad depende de tener una comunidad grande y
administrator, reviewer, or end user. The quality of
sostenible para desarrollar cdigos rpidamente,
the OSS product has been a key concern. Bahamdain
identificar los errores de manera eficiente, depurar
[15] finds that high-quality OSS depends on having a
el cdigo de manera efectiva y construir nuevas
large sustainable community to develop code
caractersticas. Algunos ejemplos de estos OSS de
rapidly, to identify bugs efficiently, to debug the
alta calidad son Linux, Apache Web Server, Mozilla
code effectively, and to build new features. Some
Firefox, etc. Segn Sowe et al. [16], las comunidades
examples of such high-quality OSS are Linux, Apache
de cdigo abierto estn creciendo en el desarrollo
Web Server, Mozilla Firefox, etc. According to Sowe
de juegos de computadora. Asundi et al. [17]
et al. [16], the open source communities are
encuentra que hay muy pocas dudas de que el
growing in computer game development. Asundi et
proceso de desarrollo de software libre, til y
al. [17] finds that there is very little doubt that the
complejo iniciado por el movimiento OSS ha
process of developing free, useful and complex
mejorado a los clientes. Schaefer y Warren [3]
software initiated by the OSS movement has made
concluyen que seguir buenas prcticas de diseo y
customers better off. Schaefer and Warren [3]
codificacin de software es esencial para el xito del Scacchi[14], que estudia las prcticas de desarrollo
juego. Ampatzoglou y Stamelos [18] sugieren que la de Free y OSS en la comunidad de juegos de
ingeniera de software para juegos de computadora computadora, observa que estos proyectos no se
es un campo que abarca muchas tcnicas y mtodos adhieren a los principios del ciclo de vida de la
de la ingeniera de software convencional y los ingeniera de software tradicional de los libros de
adapta para adaptarse a los requisitos especficos texto modernos y se basan en los medios
del desarrollo de juegos. La caracterstica esencial electrnicos de comunicacin, Para coordinar
de ser un proceso creativo exige una fuerte esfuerzos de desarrollo globalmente dispersos. La
colaboracin entre los miembros del equipo del reutilizacin del cdigo fuente se considera ms
proyecto de desarrollo de juegos, que es una intensa en el desarrollo de OSS en comparacin con
caracterstica del entorno de desarrollo de OSS. el software comercial / de cdigo cerrado [19].
Paschali et al. [20] explora empricamente la
oportunidad de reutilizar componentes de los
Scacchi [14], surveying the Free and OSS proyectos de juegos OSS existentes y los resultados
development practices in computer game del estudio sugieren que los gneros especficos del
community observes that these projects do not juego ofrecen ms oportunidades de reutilizacin
adhere to traditional software engineering life-cycle que otros y que la mayora de los componentes
principles from modern textbooks and rely on lean estn relacionados con el escenario y los personajes.
electronic communication media, virtual project Zyda [21] encuentra que los desarrolladores
management, and version management necesitan un motor de juego de cdigo abierto que
mechanisms to coordinate globally dispersed incluya un conjunto de herramientas de desarrollo
development efforts. Source code reuse is tan ampliamente disponible y utilizado como Linux
considered more intense in OSS development as y que hara factible explorar muchas otras
compared to commercial/closed source software direcciones, incluyendo el modelado y simulacin de
[19]. Paschali et al. [20] empirically explore the personajes de computadora, historia y emociones
opportunity to reuse components from existing OSS humanas. Fritsch y Kada [22] encuentran que ciertas
game projects and results of the study suggests that partes oa veces incluso el motor de todo el juego es
specific game genres offer more reuse opportunities lanzado como software de cdigo abierto, estos
than others, and that most components are related motores se pueden ampliar para construir
to scenario and characters. Zyda [21] finds that aplicaciones ms graves a muy pocos costos. Segn
developers need an open source game engine that Guo et al. [23], los motores de juego son de cdigo
includes a development toolset as widely available abierto y por lo tanto es posible para los usuarios
and utilized as Linux and would make feasible ampliar la aplicacin de las tecnologas de juego a
exploring many other directions, including the otros campos. Guilfoyle [24], observa que el cdigo
modeling and simulation of computer characters, de cdigo abierto de la tecnologa del juego permite
story, and human emotion. Fritsch and Kada [22] a los usuarios finales crear nuevas funciones de
find that certain portions or sometimes even the forma independiente con facilidad.
whole game engine is released as open source
software, these engines can be extended to build
more serious applications at very little costs. One of the main issues with reporting empirical
According to Guo et al. [23], the game engines are structural analysis of the software code in the closed
open-source and it is therefore possible for users to software environment is non-availability of the
extend the application of game technologies to code. Most of such analysis is an in-house activity
other fields. Guilfoyle [24], observes that the open- and organizations are generally reluctant to share
source code of game technology allows end users to the results. In case of OSS, the code is available to
create new functions independently with ease. analyze, which opens up a huge opportunity of
knowledge generation. Harrison [25] emphasizes OSS proporciona una mayor confianza en la
the need for empirical studies of open source by the reutilizacin de estos mdulos. Existen estudios que
software engineering community. According to tratan de evaluar la calidad de los proyectos de
Stamelos et al. [26], the core of open source software OSS, principalmente dirigidos a los
activities happens at the code level, therefore, it is conocidos y grandes proyectos [27], que incluyen
reasonable to focus at measuring and assessing the Linux, Apache, Mozilla Firefox, etc., mientras que la
resulting code. The OSS is gaining plenty of attention mayora de los proyectos OSS son pequeos [28]. ].
from larger companies and has become a source of Esto establece la motivacin inicial de este trabajo
major code repository. Rapid application para evaluar la evaluacin de la calidad de proyectos
development requires reuse of the code. A relativamente pequeos. El desarrollo de juegos de
quantitative analysis of the quality of OSS modules computadora tiene mucho potencial para obtener
provides greater confidence in reuse of these beneficios del entorno de desarrollo OSS y
modules. There are studies that deal with evaluating repositorios de cdigo. Esto establece la motivacin
the quality of OSS software projects, mainly a un alcance mucho ms estrecho para obtener
targeting the well-known and large projects [27], beneficios en el dominio conocimiento especfico.
that include Linux, Apache, Mozilla Firefox, etc.,
whereas, most of the OSS projects are small [28].
This sets the initial motivation of this work to target Software quality metrics are measures of the quality
evaluating the quality assessment of relatively small of software based on number of factors that deals
projects. The computer game development has a lot with software size and complexity. ISO 9126 model
of potential to gain benefits from OSS development lists six of these factors as functionality, reliability,
environment and code repositories. This sets the usability, maintainability, portability and efficiency.
motivation to a much narrower scope to gain In order to keep this study within a limited scope, we
benefits in domain specific knowledge. select three factors of correctness, reliability and
maintainability. The presented rationale to select
Uno de los principales problemas con la
these three factors is to cover the important phases
presentacin de informes de anlisis estructural
of software development such as coding, testing and
emprico del cdigo de software en el entorno de
maintenance and to narrow down the scope within
software cerrado es la no disponibilidad del cdigo.
the coding perspectives. However, this work also
La mayora de este tipo de anlisis es una actividad
recognizes the importance of other three quality
interna y las organizaciones son generalmente
factors of portability, usability and efficiency. These
reacias a compartir los resultados. En el caso de OSS,
three factors directly deal with the game design and
el cdigo est disponible para analizar, lo que abre
aesthetics, fundamental characteristics of computer
una gran oportunidad de generacin de
game application. In the future work, we would like
conocimiento. Harrison [25] enfatiza la necesidad de
to cover these three quality factors of the ISO 9126
estudios empricos de cdigo abierto por la
model. Correctness is one of the important quality
comunidad de ingeniera de software. Segn
factors, which deals with the confidence in the
Stamelos et al. [26], el ncleo de las actividades de
functionality that the product is offering. Reliability
cdigo abierto ocurre en el nivel de cdigo, por lo
points out lower probability of bugs in the software
tanto, es razonable centrarse en la medicin y la
product. Maintainability reflects the ability to make
evaluacin del cdigo resultante. El OSS est
changes in the code. Up to what extent we have the
ganando mucha atencin de las compaas ms
confidence that the code of the OSS computer game
grandes y se ha convertido en una fuente de
application is correct. Are the OSS computer games
repositorio de cdigo principal. El desarrollo rpido
easy to maintain? Can we say OSS computer games
de aplicaciones requiere la reutilizacin del cdigo.
are reliable? This study aims to explore the answers
Un anlisis cuantitativo de la calidad de los mdulos
to these questions. In order to explore these
answers, we study the internal design complexity of estudiamos la complejidad de diseo interno de los
OSS computer game projects. More precisely, in this proyectos de juegos de computadora OSS. Ms
study we empirically analyze the internal code concretamente, en este estudio se analizan
attributes such as number of operators, operands, empricamente los atributos internos del cdigo,
code difficulty level, likelihood of bugs, method como el nmero de operadores, los operandos, el
complexity, etc., of the OSS computer game nivel de dificultad de cdigo, la probabilidad de
applications and evaluate quantitatively the quality errores, la complejidad de mtodos, etc., de las
criteria of correctness, reliability and aplicaciones de juegos de ordenador OSS y se
maintainability. evalan cuantitativamente los criterios de calidad
de correccin, Fiabilidad y facilidad de
Las mtricas de calidad de software son medidas de
mantenimiento.
la calidad del software basadas en el nmero de
factores que se ocupan del tamao y la complejidad
del software. El modelo ISO 9126 enumera seis de
estos factores como funcionalidad, confiabilidad,
facilidad de uso, facilidad de mantenimiento,
portabilidad y eficiencia. Para mantener este
estudio dentro de un mbito limitado,
seleccionamos tres factores de correccin,
confiabilidad y facilidad de mantenimiento. La
justificacin presentada para seleccionar estos tres
factores es cubrir las fases importantes del
desarrollo de software tales como la codificacin, las
pruebas y el mantenimiento y reducir el alcance
dentro de las perspectivas de codificacin. Sin
embargo, este trabajo tambin reconoce la
importancia de otros tres factores de calidad de
portabilidad, usabilidad y eficiencia. Estos tres
factores se ocupan directamente del diseo del
juego y la esttica, las caractersticas fundamentales
de la aplicacin de juegos de ordenador. En el
trabajo futuro, nos gustara cubrir estos tres
factores de calidad del modelo ISO 9126. La
correccin es uno de los factores de calidad
importantes, que se ocupa de la confianza en la
funcionalidad que el producto est ofreciendo. La
fiabilidad indica una menor probabilidad de errores
en el producto de software. La sostenibilidad refleja
la capacidad de realizar cambios en el cdigo. Hasta
qu punto tenemos la confianza de que el cdigo de
la aplicacin de juegos de computadora OSS es
correcta. Son fciles de mantener los juegos de
computadora OSS? Podemos decir que los juegos
de computadora OSS son confiables? Este estudio
tiene como objetivo explorar las respuestas a estas
preguntas. Con el fin de explorar estas respuestas,

You might also like