Proceedings of the 2013 Industrial and Systems Engineering Research Conference A. Krishnamurthy and W.K.V. Chan, eds. Development of an Educational Game f or Industrial Engineering Freshman Students David Bengoa 1 , Agustín Rullán 2 , Bienvenido Velez 1 , Cristina Pomales-Garc ía 2 , and Felix Zapata 3 Electrical and Computer Engineering Department 1 , Industrial Engineering Department 2 , Humanities Department 3 University of Puerto Rico – Mayagüez Campus Mayagüez, 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 p art transport. KeywordsEngineering 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-Mayagüez proposed a research project entitled “Can gaming provide enough context to improve knowl edge 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
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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 topicsfrom 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 collaborateswith 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 indifferent 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 home-
based learning activity
3. Technology Features
3.1 Architecture OverviewThe 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
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 world’s 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 localdatabase, 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 & JavaJMonkeyEngine 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
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 AlgorithmA* (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.
operation activity the player can decide the number of machines available as well as number of operators and their
respective skills.
4.2 Process FlowchartFigure 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 CostsThis 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 maintenanceimplies 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.
Figure 5: Game overall – summary of expenditures and incomes
4.4 Human Resources ManagementThe 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 inthe 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 ControlThe ease of use of the game allows the player to know at every moment the exact amount of inventory for each partor 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,
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 OperationsCurrently 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 TimingThe use of statistical distributions has been important in the game development process, with aims to achieve resultsas 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.