Software Tools for Organization and Support of Distance Learning Game System «3Ducation»

Annotation. The article describes the purpose and capabilities of distance learning system «3Ducation», which is a part of the information space of SSAU School of Computer Science. The article also describes the architecture and structure of the system and all its constituent software components. «3Ducation» system has a client-server structure; it consists of a large number of subsystems, each of which solves problems of providing support for the system work and its interaction with other systems. On the server side there is a database and an application server installed, on the client side it is enough to install a small Unity Web Player plug-in and, using a web browser, navigate through the virtual space and surf the site as a virtual world


Introduction
Currently distance education (e-learning) is becoming increasingly popular, almost all educational institutions present their courses electronically and provide access to them online. Virtual educational systems present a relatively new kind of learning systems, which combines the features of traditional systems of training, e-learning environments and achievments in information technology. The e-learning environment is generally understood as "system-organized set of means of communication, information resources, communication protocols, hardware and software and organizational methods, designed to meet the educational needs of users" [ [1]]. Virtual learning environments provide comprehensive methodological and technological support for distance educational process, including training, management of the educational process and its quality. Currently there are a lot of virtual and distance learning environments, but nevertheless there's a relevant task of creating virtual environments which use modern information technology, such as virtual reality technologies that make the educational space more interesting and learning process more fun. Social studies indicate that the boundary between the virtual and real worlds is being erased. The advantages of the three-dimensional virtual space are derived from human perception of information. Up to 80% of the information about the world a person receives through sight which works more effective when the world it sees is more imaginative. Teachers know that a simple and obvious example is often more effective than strict theoretical calculations. The most popular educational resources on the Internet (eg, Khan Academy [[2[]) increasingly rely on video instead of text. Distance learning system «3Ducation» is built on two principles:  game approach, which aims to increase the interest of students by introducing interactive and continuous feedback, encouragement for achievements, teamwork capabilities and the presence of a competitive element to the system.
 virtual reality involves the transfer of the learning process into threedimensional environment that allows you to remove the problems of the supply of educational material. This allows you to maintain and even increase the interest in self-learning, and thus enhances the effectiveness of training.
Combining the possibilities of advanced information technologies with teaching potential, it is possible to build an individual educational path for each student, taking into account his needs and features of information perception and processing.

System architecture
Distance gaming learning system «3Ducation», developed at the Department of Software Systems of SSAU, is based on client-server technology and is built on the three tiered architecture (Fig. 1). Server component of the system includes the server application and the database. The server application allows you to use the same logic in both desktop and mobile client. The client part of the system is simply a web browser, which is used to view pages on the server (user only needs to install a small plug-in Unity Web Player). 3D-scenes of the virtual world are integrated into the HTML-page, so the student can move through the virtual space as through the pages of the usual websites. The server part of the system implements the MVC (Model-View-Controller) architecture, which defines three levels:  level of presentation of portal's web pages;  level of business logic and data access;  data level. The mobile client application provides all the basic functions of the basic version of the system. The network protocol TCP/IP is used as a network communication protocol. Controllers of behavior logic group serve the pages of the presentation group. The main component of the model (data level) is a database context; there is given a listing of all the essential classes included in the model, and all the controllers work with the database through it.

Software for the organization and support of the system
Distance learning system «3Ducation» is a client-server application which solves following tasks:  Creates a virtual learning space, based on information about the courses stored in the database.
 Provides remote access to the virtual space;  Provides support for the creation and modification of training coursesallows the developer (the teacher) to create thematic courses (lectures), assignments, tests, etc. The database stores all the information about the training courses.
 Provides support for the work of the system administrator and gives him the opportunity to keep the content of the system to date: update information on the users of the system, work with the achievements, fill the system with new information.
The structural diagram of this system is shown in Fig. 2. All data required for system operation is stored in the database located on a server of the system.

The server part of the system
The server part of the training system includes a subsystem of educational content creation, which includes training courses editor, graphic editor for constructing a trajectory of training and test generator. Training courses editor (Fig. 3) is designed for the development and editing of training courses, it enables the teacher to fill the course with theoretical material (lectures, which are divided into paragraphs), individual 3D-tasks, tests (training and control).

Fig. 3. Training courses editor.
Graphic editor for constructing ( Fig. 4) a trajectory of training allows teacher to build learning paths based on the structure of training course after determining the relationship between the structural elements of the course and specifying the sequence of their study (passing).

Fig. 4. Graphical editor of the course.
Test generator enables the teacher to create templates of test tasks and adjust the structure of tests on a given topic (based on problem-oriented language), based on which a "stack" of typical tasks of different complexity will be automatically created. These functions are implemented in the editor of tests and test templates. If needed generated tasks and tests can be recorded in the database of SSAU School of Computer Science LMS built on the basis of LCMS Moodle, or saved in a Microsoft Office text file format (*.docx). The subsystem of test export is responsible for this. File subsystem is responsible for storing files needed for the system to operate in general.
Networking subsystem provides support for joint passing of training courses and for training users of the system. Learning content import subsystem is used for the conversion of tests and lectures from the SSAU School of Computer Science LMS DB, built on the basis of LCMS Moodle, into the database of the distance learning system «3Ducation». Administration subsystem consists of three subsystems: subsystem of user achievements, which allows the system administrator to edit user achievements; subsystem of website content editing, which allows you to maintain site content relevance; users subsystem, which allows you to edit user accounts.
User achievements accounting subsystem is responsible for collection and saving of results of user's learning, control of tasks completion, rewarding user with game achievements. In addition, the subsystem counts the game coins and rating of the student based on his activity.

Fig. 5. Generator of tests and test templates.
The authorization subsystem provides control of user data at the start of the system using a technology based on the technology of OpenID, interacting with automated information system (AIS) of SSAU School of Computer Science, which stores all users data of all the systems included in the information space of the School of Computer Science of SSAU.

The client part of the system
The client part of the system communicates with the server through the Internet connection protocol TCP / IP, and other protocol clients RUDP. It includes:  Unity-3D Engine, which built a virtual space system.
 Subsystem of a virtual learning space creation includes a subsystem for a virtual space generation and visualization subsystem. Virtual learning space consists of two parts: a permanent and dynamic. Permanent part is represented in the form of the hall and includes a place of choice of the course from the list of courses available, as well as background information about the developers, the department and the university. The dynamic part is a set of connected rooms / corridors and is generated automatically based on the structure of the chosen course and rooms templates, which are loaded into the specific content. The visualization subsystem allows you to visualize the virtual world rooms in different ways using a wide variety of shaders.
 Subsystem of character selection allows user to choose an avatar, which he will drive in the virtual world.
 Networking subsystem is designed to provide communication and data transfer between clients and servers.
 Subsystem of interaction with the virtual world includes user's character interaction with the objects of the game space logic, such as teleportation booth or information stand.
 Subsystem of 3D-tasks creation allows the teacher to create customized three-dimensional tasks setting two sections of computer science, which will the student perform.
 Control subsystem, which provides interaction of the mobile client with the server system.

Software providing network communication for mobile client on Android and Windows Phone
Currently the system «3Ducation» is implemented as a multi-user educational environment where students could work together to perform learning tasks, cooperating and communicating with each other, including using a mobile version of the system. Development of multi-user mode required changing and/or adding the following operating modes of the system:  support for joint passing of chosen course of study,  joint passing of test tasks in cooperative, competitive and team modes,  calculation of statistics of the learning process,  possibility of communication between the participants. During the development of the network part of the system the following main problems, inherent in mobile devices, have arisen and the following ways have been found to solve them:  device may have an unstable Internet connection: connection quality depends on many factors: signal strength, connection speed, the type of connection (Wi-Fi, 4G, 3G, Edge or GPRS). Solution: to use RUDP protocol for transmission of most data.
 device can forcibly limit Internet connection: mobile devices are powered by batteries and have a small battery life. To increase this time, the OS developers and device manufacturers try to limit the consumption of one of the most "voracious" componentsradio module. Solution: add mechanisms to suspend learning when connection is lost.
 the device can easily change the IP-address: if device uses the Internet via a cellular network, IP-address of the device depends on the base station of operator, which leads to the fact that when the reception conditions are poor or when the user moves it changes very often. A similar situation occurs when connecting/disconnecting the Wi-Fi network. Solution: to not take into account the IP-address of the user, for identification only use cookies and xsrf-token.

Technological support of educational process
Distance learning system «3Ducation» extensively use capabilities of virtual reality technology (Virtual Reality) or virtual worlds. The criterion for selecting the underlying technology was the possibility to integrate virtual worlds into the browser that would ensure the integrity of the system. After careful analysis the free version of the game "engine" Unity3D was chosen. Its creators (the company Unity Technologies [ [4]]) describe it as "the most powerful free game engine". Level of graphical effects of Unity3D is superior to both O3D and X3D graphics, but much more valuable fact is its simplicity, convenience and stability. Graphic editor allows to quickly model the geometry of the scene, without having to write code. To import any resource it is enough to just move the appropriate file in the project folder. The big advantage of Unity3D is an impressive collection of ready resources -household items and character models with a ready and highly customizable code responsible for controls and movement of the camera. By using Unity3D engine system can be developed quickly and in full, avoiding non-obvious problems that can slow down or stop the work.

Software development tools
Software selected to develop the system includes the following technologies [  three-dimensional graphics editor Blender 2.6.

Data storage and manipulation techonlogies
One of the main functions of the system is processing and storage of data, as well as correct display of it when generating the virtual world. For these purposes the data access technology Entity Framework is used. It allows to automatically generate a database and all tables on the basis of essential classes created by developer and populate them with the original data, if it was determined. This technology monitors all changes, made during the development of system, on the code level and, if necessary, modifies the structure of the database. The choice of Entity Framework determined selection of DBMS: Microsoft SQL Server 2008 is also a part of family of technologies from Microsoft and ensures the correct work of the above functions better than other options. The data necessary for the operation of the system «3Ducation» is stored in the database. In addition, part of the data is stored on the server in the form of files.

Team development of the system using git-repository
The system «3Ducation» is being developed by a large team of developers, which obliges to use a version control system. After a comparative analysis of systems of this class version control system GIT has been selected, because it has the following advantages:  decentralization (the presence of a local repository containing full information on all changes, allows to maintain full local version control and "fill" in the master repository only fully authenticated changes);  good support of non-linear development;  efficient operation of large projects;  high performance and speed;  reliable system of audit comparisons and data validation based on the hashing algorithm SHA1 (Secure Hash Algorithm 1);  extensibility and configurability (there is a large number of graphical shells, which allow to quickly and accurately work with Git) [[6], [7]]. One of the extensions used in the repository is a simplified git-flow diagram (a general version of the diagram is shown in Fig. 6), which consists of master, develop and features branches. According to it the system «3Ducation» is being developed in several branches:  branch, which always contains only release versions,  branch, which stores the code between new releases,  a set of branches, each of which is reserved for only one development feature. Thus, the use of the version control system Git allowed to clearly organize the work of the development team to synchronize the development process and increase the reliability of the system.

Conclusion
Distance learning system «3Ducation» is designed for middle and high school students learning basic course "Computer Science". The system provides a unified interactive way to access information resources for both a teacher and a student, it can help to increase the effectiveness of the acquisition of knowledge and skills (both individual and social).