Sei sulla pagina 1di 10

Proceedings of the 2013 Industrial and Systems Engineering Research Conference

A. Krishnamurthy and W.K.V. Chan, eds.

Development of an Educational Game for Industrial Engineering


Freshman Students
David Bengoa1, Agustn Rulln2, Bienvenido Velez1, Cristina Pomales-Garca2, and Felix
Zapata3
Electrical and Computer Engineering Department1, Industrial Engineering Department2,
Humanities Department3
University of Puerto Rico Mayagez Campus
Mayagez, Puerto Rico 00680

Abstract
The Gamer Generation has led to a rapid growth of the game industry, with a vast amount of money spent on
commercial entertainment games, instead of educational games. There has been some research into the development
of games which aim to teach science concepts, but not Industrial Engineering (IE) concepts. To address this issue, a
serious computer game focused on freshman Industrial Engineering students was developed to support learning of
fundamental IE concepts applicable to manufacturing systems and improve problem-solving skills in complex
unstructured problems. In the game the player acting as a furniture factory manager, needs to carefully plan and
manage resources of to fulfill orders on time and as efficiently as possible. With respect to game development Java
programming language and Object Oriented programming, along with SQLite and MySQL database engines have
been used to implement the game. The game engine used was jMonkey with SimPack as the discrete event engine;
along with concepts of Artificial Intelligence to determine the shortest routes for material and part transport.

Keywords
Engineering Education, Gaming, Industrial Engineering

1. Introduction
Today's Gamer Generation, so called because they grew up playing video games, spends hundreds and even
thousands of hours during their most formative years playing video games [1]. This had led to a rapid growth of the
game industry, with a vast amount of money spent on commercial entertainment games, instead of educational
games. However, playing video games may have both positive and negative effects on cognition and behavior. As
suggested by Gentile, [2] if content is chosen wisely, video games can actually enhance some skills.
Concerning educational games, it is difficult to implement a game that accurately represents the concepts that one
tries to teach while holding the students attention. There has been some research into the development of games
which aim to teach science concepts, but not Industrial Engineering (IE) concepts. Therefore in order to address this
issue, team of faculty at the University of Puerto Rico-Mayagez proposed a research project entitled Can gaming
provide enough context to improve knowledge integration and retention in Engineering freshmen, sponsored by the
National Science Foundation. The proposed game is described as a learning tool which ...will be assessed in terms
of improved retention, interest, and motivation of freshman IE students, as well as support of learning in context,
improved student understanding of core concepts, and improved problem-solving skills in complex unstructured
problems.
The purpose of this project is to create an educational video game based on a furniture factory, for IE students and
others interested in learning IE concepts. This game is classified as a serious game because the main purpose is to
help freshman students learn about IE concepts. It could also be classified as a strategy video game because the

Bengoa, Rulln, Vlez, Pomales-Garca, and Zapata


player will carefully plan and manage resources with the objective of fulfilling orders on time, as efficiently as
possible. This game is a simulation of the daily activities in a factory where decisions must be made to obtain
desired results. Some of the decisions that the user can control include: hire and fire workers, buy and sell machines
and equipment, determine storage allocation, among others. The project scope will allow playing on computers, with
different levels of difficulty. Although the graphic design of operators, machines and equipment has been simple, the
objective is to help students learn various IE concepts related to manufacturing and production.

2. Background
This section presents some related works of educational games focused in immune system and training of crisis
managers. Also, other studies about the use of games as a teaching tool in K-12 education.
2.1 How to Build Serious Games [3]
The computer game Immune Attack was created by a team of computer programmers as a serious science-based
game. This game combined a realistic 3D depiction of biological structure and function of the human body with
educational technologies to teach immunology to high school and college freshmen. As part of this experience, the
developers describe the process of creating a serious game as a challenging endeavor, as it has to satisfy experts and
novices while addressing deeply held pedagogical assumptions, distinct expert viewpoints, integration of gameplay
and learning content, among others.
2.2 Games for Science and Engineering Education [4]
The United States has a relatively small percentage of engineering graduates compared to other developing nations,
a statistic that is attributed to the perception that science and engineering is a boring course of study. The author
suggests that this perception can be changed if computer programs are used to teach science and engineering topics
from kindergarten through grade twelve, encouraging more students to continue college studies in these fields.
2.3 Pandora-Box [5]
Crisis management is a major issue to prevent emergency situations from turning into disasters. Training plays an
important function to prepare the crisis manager. In order to achieve this, the Pandora project aims to study how to
support the training of crisis managers with innovative technology. In particular, it is creating a tool that collaborates
with traditional training methods to generate the ability for trainees to take correctly decisions under critical
situations. It shows three important aspects: (a) a novel use of timeline based planning as the core element in a
dynamic training environment for crisis managers; (b) a continuous loop of planning, execution, and plan adaptation
is created to support personalized training; (c) a trainer is provided with a set of functionalities that allow trainer to
maintain and adapt a lesson plan as the basis for the interaction between him and the involved trainees.
2.4 Serious computer games as instructional technology [6]
The potential value of serious computer games for learning seems high, but there is still some degree of resistance to
the use of games in a classroom. A reasonable way to convince teachers to use games as a teaching tool is through
pedagogy, connecting elements of existing game designs with accepted learning and instructional theories. At the
Faculty of Education of the University of Ljubljana the serious game TimeMesh has been developed in the
framework of the Comenius programme. The game is intended to be used for learning history in primary and
secondary schools, but at the same time students learn about different cultures and social relations in Europe in
different historical periods. Some research results show increasing students motivation and their interest for topics
covered by the game. On the other hand, some teachers are not totally in agreement to use serious games in teaching
because games can be too time-consuming for use in classroom, so they are willing to present the games as a homebased learning activity

3. Technology Features
3.1 Architecture Overview
The game development process followed the system architecture shown in Figure 1. This architecture is composed
of four main tiers (layers) each having specific functions. (1) The presentation layer; provides the graphical user
interface (GUI). (2) The business layer; contains and controls the artificial intelligence algorithm, the discrete event
engine, input manager, sound engine, graphic engine, and game engine. (3) The data access layer; provides

Bengoa, Rulln, Vlez, Pomales-Garca, and Zapata


simplified access to data stored in persistent storage. (4) The data source; stores the set of tables and routines, the
game logic and the user data. Moreover, it is located in both databases, MySQL and SQLite.

Figure 1: Overview of the game architecture


3.2 Database & Synchronization Process (remote & local)
MySQL, which is the worlds most popular open source relational database management system and that runs as a
server providing multi-user access to a number of databases [7], was the main database engine used to store all the
data of the game. Initially, it was the only database for the game because it was storing the game data and user data
remotely, so when a user started a new game, it downloaded all required data from the database. This process took
between 2 and 5 minutes, depending of the internet bandwidth. So in order to improve performance we decided to
use SQLite, which is a software library that implements a self-contained, serverless, zero-configuration, and
transactional SQL database engine [8], as the local database and keep using MySQL as the remote database.
Both databases have the same data structure, and are synchronized to maintain updated game data in the local
database, and updated user data in the remote database. Also, this synchronization process checks each time the
existence of new data in the remote database to be downloaded into the local database, and the same applies in
reverse.
3.3 Game Engine & Java
JMonkeyEngine 3 SDK RC2 [9] is the game engine used in the development process. This engine has been chosen
because it is open source, is easy to use, allows modular design, supports multi-platform, provides different tutorials,
documentation, and a forum to learn and discuss within a community and committed developers. Moreover, this set
of libraries works under Java language programming. Java SE 6 [10] has been used due to the features and facilities
it provides to support Object-Oriented programming. Figure 2 shows furniture factory and environment loaded by
game engine.

Bengoa, Rulln, Vlez, Pomales-Garca, and Zapata

Figure 2: Furniture and environment in the jMonkeyEngine


3.4 SimPack (discrete event machine) [11]
SimPack is a collection of routines and programs for computer simulation developed by Fishwick [8]. The source of
SimPack is Open Source under a Gnu Public License (GPL). It has a version in C++ which was used in an early
prototype. It also has a later version in Java which is the one that was finally adopted for the game. The decision was
made because it would be easier to develop the code using the selected game engine, JMonkey, which provided the
opportunity to be OS platform-independent since it is written in Java.
3.5 Artificial Intelligence A* Search Algorithm
A* (A star) algorithm [12] is widely used in pathfinding and graph traversal, the process of plotting an efficiently
traversable path between points, called nodes. Noted for its performance and accuracy, it enjoys widespread use. A*
uses a best-first search and finds a least-cost path from a given initial node to one goal node (out of one or more
possible goals). In the project, it is used to find the path (set of pixels) of the transport activity, from one station to
another.
3.6 GUI (Nifty)
It is a Java library to create interactive user interfaces. It is well integrated into many existing rendering systems
(JME3, JME2, LWJGL, JOGL, Slick2D and even Java2D). The actual GUI has been created directly from Java.
Java is used to respond to events generated by the GUI and to modify the GUI to reflect changes in the state of your
application [13]. Figure 3 shows one example of the Nifty controls used in the game.

Bengoa, Rulln, Vlez, Pomales-Garca, and Zapata

Figure 3: Nifty controls used in the game

4. Furniture Factory Features


4.1 Activities
The game summarizes the daily activities of the furniture factory in four (4) main activities: purchase, transport,
operation, and shipping. These activities are executed constantly during game, depending on the activities
requirements; as shown in Table 1. The amount of activities executed in the game varies depending on the game
level, making early levels easier than later levels which include more activities.

Activity
Purchase

Transport

Operation
Shipping

1.
2.
3.
1.
2.
3.
4.
1.
2.
3.
1.
2.

Table 1: Requirements for each kind of activity


Validation Process Step by Step
+

+
+

Available qualified operator & available transport equipment


+
+
!

!
Available slot in initial/end station, if required
Available qualified operator & available machine
+
+

Next order required

The game allows player to change a few parameters for some activities, in order to get a desired result. Purchase
activity allows changing the reorder point, order quantity, and supplier. Transport activity allows changing the
quantity of parts to transport, or unit load. Other kind of activities will not allow changing any parameter, for
example the operation activity will produce the same amount of parts that have been set, and the shipping activity
will ship the number of parts required in the order after enough parts are available in the shipping station. In the

Bengoa, Rulln, Vlez, Pomales-Garca, and Zapata


operation activity the player can decide the number of machines available as well as number of operators and their
respective skills.
4.2 Process Flowchart
Figure 4 represents the set of activities that occurs in the furniture factory using process flow symbols. It allows the
player to get a general understanding of the game, in particular the flow of material. Each game level has a particular
process flowchart. For example Figure 4 shows the hardest level with multiple transport activities and assembly
processes.

Figure 4: Example of game process flowchart


4.3 Costs
This game manages different costs, in order to mimic the realities in a furniture factory. Figure 5 shows the
summary of expenditures and incomes. The detailed costs include:
Storage stations. It includes storage of raw material, work in process and finished goods. Each of storage
has a limited number of slots, depending of their size. The player will choose the number of available slots
and will pay a fee per hour even if they are not in use.
Workers. The player chooses the number of workers to hire, during the game the player will be able to fire
some or all of them as well as hire available workers. Hiring and firing workers have respective costs; and
each hired worker will be paid an hourly salary based on the worker skill (i.e. Material Handler, Machine
Operator, and Versatile).
Machine and equipment. The game allows the player to buy and sell the available machines and equipment
as the player wishes. Also, a cost per hour will be charged for the machine and equipment usage, and after a
certain time these will require preventive maintenance, otherwise they will breakdown. This maintenance
implies another cost, so the player will choose between paying this cost and continue working, or wait to be
completely repaired after a few minutes. Moreover, the machine or equipment will have a depreciation cost
that will impact the selling price.
Supplier. The game will provide the player a list of suppliers to purchase raw material, which is received in
the receiving zone, as shown in Figure 4. The raw material cost will depend on the selected supplier and
the order quantity as well as order arrival time.
Overhead. This is an average cost per hour that includes an ongoing expense of operating the furniture
factory, for example: gas, electricity, taxes, telephone bills, other wages, etc.
Part. The available raw material, intermediate product and finished good are considered as a part in the
current game. Only the raw material is part of the costs, as explained above in Supplier section. Moreover,
the finished good (i.e. product) is part of the sale process, located in the shipping zone.

Bengoa, Rulln, Vlez, Pomales-Garca, and Zapata

Figure 5: Game overall summary of expenditures and incomes


4.4 Human Resources Management
The management of the workers is an important factor in the game. The decision of hiring or firing workers by the
player, leads to increases or decreases in the production of finished goods, and therefore the fulfillment of the
arriving orders. In addition, hiring workers implies to choose the role type for each worker. As we mentioned above,
there are three (3) types: Material Handler, who uses equipment (i.e. hand truck) to transport parts and products in
the factory; operators, who work directly with machines; and versatile workers that can perform both types of roles.
Figure 6 shows the two different ways a player can hire and fire workers, deciding the worker role.

Figure 6: Hire/fire workers using general view (left) or specific view (right)
4.5 Inventory Control
The ease of use of the game allows the player to know at every moment the exact amount of inventory for each part
or product. This game feature is available to the player as a general inventory for the part, which can be found in the
Part window, or an inventory for a specific station, or even in the receiving dock. In addition, the inventory in a
specific storage station (i.e. raw material, work in process, finished goods) is different from the receiving dock,

Bengoa, Rulln, Vlez, Pomales-Garca, and Zapata


because the storage stations are controlled through slots available and is not limited for part type, as shown in Figure
7, as opposed to the receiving dock which limits capacity and type of part.
However, the effective management of inventory control requires adequate knowledge of inventories for different
types of activities. For example, the reorder point and order quantity for purchase activity, the unit load for transport
activity, the amount of required parts for operation activity, and the amount of finished goods to fulfill the orders for
shipping activity.

Figure 7: Raw Material Storage three different parts


4.6 Production Operations
Currently the game supports two kinds of operations: cutting and assembly. Both processes (example shown in
Figure 8) can be found in different game levels. Each process produces as many parts as it is specified in the
operation activity and requires an adequate machine and a skilled operator.

Figure 8: Assembly process


4.7 Probability Distributions and Timing
The use of statistical distributions has been important in the game development process, with aims to achieve results
as realistically as possible. Normal, uniform and exponential distributions are used as part of some elements in the
factory, e.g. machine times, equipment repair times, worker performance, and order shipments. Table 2 shows a
detailed use of probability distributions in the game.
Table 2: Probability distributions in the game

Bengoa, Rulln, Vlez, Pomales-Garca, and Zapata


Factory Element

Activity

Distribution

Machine

Operation

Uniform (U),
Exponential (E),
Normal (N)

Equipment

Transport

Uniform (U),
Exponential (E),
Normal (N)

Operation,
Transport
Purchase
Shipping

Uniform (U),
Normal (N)
Uniform (U)

Operator
Supplier
Order

1.
2.
3.
4.
1.
2.
3.
4.
5.
1.

Sub-Activity
Machine time U N
Time between failures E
Repair time U
Factor N
Pick up time U N
Placement time U N
Time between failures E
Repair time U
Factor N
Skill U

1.
1.

Fixed time
Time to ship completed order U

However, as shown in Table 2 above, these statistical distributions allow calculating different equations in order to
obtain a variable time, which is used as part of the execution of different activities. Also, the use of these
distributions is important because it allows obtaining different times for each execution. Table 3 shows the detailed
equations.

Sub-Activity
Machine time
Time between failures
Repair time
Pick up time
Placement time
Walk loaded with
equipment

Table 3: Equations to obtain different times in each activity


Equation
! # & ' # (),
+ #( , ,-# &%
+
!
!
#
# & )
()# &
+ #(), .
& ' # (),
+ #( , ,-# &%
.
+
& ' # (),
+ #( , ,-# &%
+
.
& ' # (),
+ #( , ,-# &(

&'

Walk unloaded with


equipment

&'

Factor machine/equipment

# &(
+
+
+

!
%

# (),

# &(

Walk alone
Factor operator (skill)

# (),
-

#( , ,--

+
+

#( , ,--

&
+ #(), & ' # (), #
& ' # (), -

5. Game Testing Process


Once completed the game development, the next step in the software development life cycle is the testing process,
which will have as technical objectives: to find and fix as many bugs as possible, to improve the GUI design, and to
assess the game usability; and as conceptual objectives: to assess how the game design improves student retention
and motivation, to improve student understanding of IE core concepts, and improvement of problem-solving skills in
complex unstructured problems. This process development takes different steps as shown below:
1. Tester selection. This step requires identifying a small number of persons with different profiles, e.g. IE students
preferable, gamers and non-gamers, and men and women.

Bengoa, Rulln, Vlez, Pomales-Garca, and Zapata


2. Pre-test and consent. The selected students will take a test before playing the game. It will ask about their
experience in general games, serious games, and different questions in order to know their knowledge of the IE
concepts applied in the game. Also, they will complete a consent form, where they allow the use of their personal
data and game data by the researchers in order to track their progress in the IE program.
3. Game Play. In this step the players should play between 2 and 3 hours, and the results will be stored in a
principal database; which will contain for each level: number of attempts, best high score, status, and others.
4. Post-test. Once participants have played, they will have an interview in order to assess motivation, and
understanding of IE concepts shown in the game. Also, the academic progress of the students will be tracked
through registrars office data to evaluate student academic records. It is important to track the student progress
throughout the program as the primary goal for the proposed work (NSF-proposal) is to link the effect of the
game in student retention and knowledge.

6. Conclusions
Game development has been a challenge for the team, given the game complexity, as well as the use and integration
of different emerging technologies. The current version provides 4 different levels of increasing difficulty and can
be easily installed in multiplatform systems (i.e. Windows, MacOS and Linux). For a future release, it could be
available in Android tablets.
Currently the game is in pilot phase (testing process), and once completed is expected to be played by the freshman
students, in order to measure the research objective, which is to know if the students learned or not core IE concepts
and improved problem-solving skills. As part of this testing process, many critical bugs has been fixed but there is a
few more in process. Moreover, the GUI design has been improved in order to make the users interaction as simple
and efficient as possible.
Finally, we expect that this research will promote the development of other educational activities based on gaming,
given the lack of IE research through games.

Acknowledgements
We would like to acknowledge the support from the National Science Foundation, Award No. 0835990.

References
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.

Alan Emrich (2004-2005). The gamer generation and why baby boomers shouldnt worry so much about
them; p1. http://www.alanemrich.com/SGI/Week_10/SGI%2010%20GAMER%20GENERATION.pdf
Thilmany, J. (2012). Gaming Pros and Cons. Mechanical Engineering; Mar2012, Vol. 134 Issue 3, p20-20
Kelly, H., Howell, K., Gilnert, E., Holding L., Swain, C., Burrowbridge, A., Roper, M. (2007). How to
Build Serious Games. Communications of the ACM; Jul2007, Vol.50 Issue 7, p44-49
Mayo, Merrilea J. (2007). Games for Science and Engineering Education. Communications of the ACM;
Jul2007, Vol.50 Issue 7, p30-35
Bernardi, G., Cesta, A., Coraci, L., Cortellessa, G., De Benedictis, R., Mohier, F., Polutnik, J. (2011).
Only hope remains in the Pandoras - http://www.pandoraproject.eu/
Zapusek, M. (2011). Serious computer games as instructional technology. Mipro, 2011 Proceedings of the
34th International Convention; May2011, p1056-1058
MySQL Database and Workbench http://www.mysql.com/
SQLite SQL database engine http://www.sqlite.org/
JMonkeyEngine 3.0. Java OpenGL Game Engine (2012), http://jmonkeyengine.com/engine/
Java SE 6 Oracle Technology Network (2012), http://www.java.com/
SimPack by Dr. Paul Fishwick University of Florida http://www.cise.ufl.edu/~fishwick/Welcome.html
Hart, P., Nilsson, N., Raphael, B. (1968). A Formal Basis for the Heuristic Determination of Minimum
Cost Paths. IEEE Transactions on Systems and Cybernetics SSC4; 100-107
Nifty GUI 1.3.1 http://nifty-gui.lessvoid.com/

Potrebbero piacerti anche