# Probe: A Framework for Serious Games in Telecrabilitation
## Appendix A
### Server Application
Moreover, a tele-rehabilitation session may be intended as an autonomous activity by the patient that follows a specific protocol and that can generate data about users that are further analyzed by therapists. In this case, network support is useful for user authentication and data collection. Nevertheless, another kind of telerehabilitation session may involve the therapist, which monitors the ongoing user activities and can react in certain given circumstances. Proteo is designed to give support to both of these scenarios. Computer Vision. In the field of computer vision, the reference libraries are OpenCV and FFMPEG. The use of Blockly simplifies coding (Figure A7). There is a module in OpenCV that implements forward pass (inferencing) with deep networks, pre-trained using some popular deep learning frameworks, such as Caffe. FFM-PEG is mainly used for codec functions. The client can send a video stream to the server. This stream can be managed to create a group video chat, to be analyzed with a deep learning algorithm, or both at the same time. The support for computer vision can be on both the client and server sides. Database. Proteo integrates two database systems, namely SQLite and EJDB2, so that it is straightforward to add support for data storage and manipulation in a serious game. However, support for other DBMS can be provided by adding specific modules. Deep learning. One of the central aspects of Proteo is the possibility of using deep learning techniques in a simple way. For this reason, in addition to OpenCV, there is also a section of the API that allows inference via Tensorflow Lite. Using deep learning models in serious games is crucial to add advanced human-computer interaction support. Models for pose estimation, face recognition, or emotion recognition can be easily added by means of predefined functions. For instance, in the serious games presented in Section 2.1, we exploit these modules to add pose estimation and face recognition capabilities to the games. Client Application

Proteo is designed following the cloud computing paradigm. A Proteo client can be an empty container: the interface, multimedia, and computational resources lie on the server. During login, the client receives a \"task\". This task may depend on the request, but it may also depend on the user's permissions or other conditions. In addition, the client also receives the addresses of the secondary servers from the main server, thus transparently distributing the workload in the cloud. APIs that require the presence of a media file also check for the presence of the file locally and if not found, download it from the server transparently. However, even if Proteo relies on the cloud paradigm, some elaborations can be demanded from the client, if needed. This is particularly useful, for instance, when serious games need human-computer interaction based on computer vision algorithms. In general, client elaboration can be used when it can give a more reactive interaction experience. Client-API. Following the logic of cloud computing, the client-side API and libraries are oriented towards the human-machine interface. Net and computer vision APIs are also present with the same implementation to make the dialogue between the client and server simple. Client-GUI. Proteo has a set of standard GUI elements: label, text field, checkbox, button, list, dropdown, form, and container. The API is designed to be simple and efficient to use, and each GUI element can be created using a single function. Client-Graphics. Proteo is oriented towards the development of serious games, which is why in addition to the standard elements of a graphic environment, such as images, lines, rectangles, ellipses, and text, the system also has more complex elements: sprites, shapes, and skeletons. Sprites are used for 2D animations created through a sequence of frames. During creation, a sprite sheet is specified from which subsequent frames will be cut out.