David Bengoa is Er c 2013

Post on 07-Jul-2018

214 views 0 download

Transcript of David Bengoa is Er c 2013

8/18/2019 David Bengoa is Er c 2013

http://slidepdf.com/reader/full/david-bengoa-is-er-c-2013 1/10

8/18/2019 David Bengoa is Er c 2013

http://slidepdf.com/reader/full/david-bengoa-is-er-c-2013 2/10

 Bengoa, Rullán, Vélez, Pomales-García, 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 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

8/18/2019 David Bengoa is Er c 2013

http://slidepdf.com/reader/full/david-bengoa-is-er-c-2013 3/10

 Bengoa, Rullán, Vélez, Pomales-García, 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 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

game engine.

8/18/2019 David Bengoa is Er c 2013

http://slidepdf.com/reader/full/david-bengoa-is-er-c-2013 4/10

 Bengoa, Rullán, Vélez, Pomales-García, 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 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.

8/18/2019 David Bengoa is Er c 2013

http://slidepdf.com/reader/full/david-bengoa-is-er-c-2013 5/10

 Bengoa, Rullán, Vélez, Pomales-García, and Zapata

Figure 3: Nifty controls used in the game

4. Furniture Factory Features

4.1 ActivitiesThe 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.

Table 1: Requirements for each kind of activity

Activity Validation Process – Step by Step

Purchase1.  + ≤  

2.  + + ≤  

3.  × ≤ ℎ 

Transport

1.  Available qualified operator & available transport equipment

2.  + + ! ≤  

3.  " # $ ! 4.

 

Available slot in initial/end station, if required

Operation

1. 

Available qualified operator & available machine

2.  + + ≤  

3.  % × % ≤ " # 

Shipping1.  Next order required

2.  $ % 

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

8/18/2019 David Bengoa is Er c 2013

http://slidepdf.com/reader/full/david-bengoa-is-er-c-2013 6/10

 Bengoa, Rullán, Vélez, Pomales-García, 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 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.

8/18/2019 David Bengoa is Er c 2013

http://slidepdf.com/reader/full/david-bengoa-is-er-c-2013 7/10

 Bengoa, Rullán, Vélez, Pomales-García, and Zapata

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,

8/18/2019 David Bengoa is Er c 2013

http://slidepdf.com/reader/full/david-bengoa-is-er-c-2013 8/10

 Bengoa, Rullán, Vélez, Pomales-García, 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 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.

Table 2: Probability distributions in the game

8/18/2019 David Bengoa is Er c 2013

http://slidepdf.com/reader/full/david-bengoa-is-er-c-2013 9/10

 Bengoa, Rullán, Vélez, Pomales-García, and Zapata

Factory Element Activity Distribution Sub-Activity

Machine Operation

Uniform (U),

Exponential (E),Normal (N)

1.  Machine time – U – N

2.  Time between failures – E

3. 

Repair time – U

4.  Factor – N

Equipment Transport

Uniform (U),

Exponential (E),

Normal (N)

1.  Pick up time – U – N

2.  Placement time – U – N

3.  Time between failures – E

4.  Repair time – U

5. 

Factor – N

OperatorOperation,

Transport

Uniform (U),

Normal (N)

1.  Skill – U

Supplier Purchase - 1.  Fixed time

Order Shipping Uniform (U) 1.  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.

Table 3: Equations to obtain different times in each activity

Sub-Activity Equation

Machine time!ℎ # & '#()* +#(* ,-- 

# & % +! !# 

Time between failures # & )()- 

Repair time # & +#()*- 

Pick up time. & '#()* +#(* ,-- 

# & % . +  

Placement time & '#()* +#(* ,-- # & % +  

Walk loaded with

equipment

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

# & (

.- + +%# 

Walk unloaded with

equipment

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

# & (

- + +%# 

Walk alone

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

# & (

- + 

Factor operator (skill)  + & +#()* - 

Factor machine/equipment

 +! & '#()* - 

 +%# & '#()* - 

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.

8/18/2019 David Bengoa is Er c 2013

http://slidepdf.com/reader/full/david-bengoa-is-er-c-2013 10/10

 Bengoa, Rullán, Vélez, Pomales-García, 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 registrar’s 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. ConclusionsGame 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 user’s 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.

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

References1.  Alan Emrich (2004-2005). “The gamer generation and why baby boomers shouldn’t worry so much about

them”; p1. http://www.alanemrich.com/SGI/Week_10/SGI%2010%20GAMER%20GENERATION.pdf  

2.  Thilmany, J. (2012). Gaming Pros and Cons. Mechanical Engineering; Mar2012, Vol. 134 Issue 3, p20-20

3.  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

4.  Mayo, Merrilea J. (2007). Games for Science and Engineering Education. Communications of the ACM;Jul2007, Vol.50 Issue 7, p30-35

5.  Bernardi, G., Cesta, A., Coraci, L., Cortellessa, G., De Benedictis, R., Mohier, F., Polutnik, J. (2011).

“Only hope remains in the Pandora’s” - http://www.pandoraproject.eu/  

6.  Zapusek, M. (2011). Serious computer games as instructional technology. Mipro, 2011 Proceedings of the

34th International Convention; May2011, p1056-1058

7. 

MySQL – Database and Workbench – http://www.mysql.com/  8.  SQLite – SQL database engine – http://www.sqlite.org/  

9.  JMonkeyEngine 3.0. Java OpenGL Game Engine (2012), http://jmonkeyengine.com/engine/  

10.  Java SE 6 – Oracle Technology Network (2012), http://www.java.com/  

11. 

SimPack by Dr. Paul Fishwick – University of Florida http://www.cise.ufl.edu/~fishwick/Welcome.html 

12.  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-10713.  Nifty GUI 1.3.1 – http://nifty-gui.lessvoid.com/