| ... | @@ -16,20 +16,20 @@ |
... | @@ -16,20 +16,20 @@ |
|
|
|
|
|
|
|
## About this project
|
|
## About this project
|
|
|
|
|
|
|
|
In short, VirtualFriend project was a system hosted in hospital environment to reduce fears of children, that are visiting doctor for short duration. The target stay we decided was aproximately two hours.
|
|
In short, VirtualFriend project was a system hosted in hospital environment to reduce fears of children, who are visiting doctor for short duration. The target stay we decided was aproximately two hours.
|
|
|
|
|
|
|
|
VirtualFriend idea was brainwork of one and only Marko "Narsu" Rintamäki, who wanted to have an living environment for children when they stay at hospital. Original target group consisted of children, that have to stay longer, often and sometimes overnight, as a main target group, but that was changed during the project. We decided that our new target group would consist of children, that do not have to stay for too long and don't visit that often, we decided that two hours was good length of the visit
|
|
VirtualFriend idea was brainwork of one and only Marko "Narsu" Rintamäki, who wanted to have a living environment for children when they stay at hospital. Original target group consisted of children, who have to stay longer, often and sometimes overnight, as a main target group, but that was changed during the project. We decided that our new target group would consist of children, who do not have to stay for too long and don't visit that often. We decided that two hours was a good length of the visit.
|
|
|
|
|
|
|
|
Idea was to: "create a game like environment, where the environment reacts to kids presence in some way". Technologies given were RuuviTag and Raspberry pi microcomputers
|
|
Idea was to: "create a game-like environment, which reacts to children's presence in some way". Technologies given were RuuviTag and Raspberry pi microcomputers.
|
|
|
|
|
|
|
|
Some initial ideas based on conversations between Marko and Rami, included Lemmings like view where many players would simultaneously view their virtual friends on the screen. Virtual friends would play and do things together with other virtual friends. Other ideas were enliven screens that didn't have game like components but were meant to distract kids from fear.
|
|
Some initial ideas based on conversations between Marko and Rami, included Lemmings like view where many players would simultaneously view their virtual friends on the screen. Virtual friends would play and do things together. Other ideas were enlivened screens that didn't have game like components but were meant to distract kids from their fears.
|
|
|
|
|
|
|
|
## Roles and Workloads
|
|
## Roles and Workloads
|
|
|
|
|
|
|
|
|Name|Role|LinkedIn|Technologies|
|
|
|Name|Role|LinkedIn|Technologies|
|
|
|
|-|-|:-:|-|
|
|
|-|-|:-:|-|
|
|
|
| Rami Ojala | Team Leader | [Link](https://www.linkedin.com/in/raojala/) ||
|
|
| Rami Ojala | Team Leader | [Link](https://www.linkedin.com/in/raojala/) ||
|
|
|
| Joona Hautamäki | Junior Software Developer | [Link](https://www.linkedin.com/in/jotahau) ||
|
|
| Joona Hautamäki | Junior Software Developer, Test-Manager | [Link](https://www.linkedin.com/in/jotahau) ||
|
|
|
| Aku Karttunen | Junior Developer | [Link](https://www.linkedin.com/in/aku-karttunen) ||
|
|
| Aku Karttunen | Junior Developer | [Link](https://www.linkedin.com/in/aku-karttunen) ||
|
|
|
| Mika Tuoriniemi | Junior Software Developer | [Link](https://www.linkedin.com/in/mika-tuoriniemi) ||
|
|
| Mika Tuoriniemi | Junior Software Developer | [Link](https://www.linkedin.com/in/mika-tuoriniemi) ||
|
|
|
| Konsta Mustonen | Junior Software Developer | [Link](https://www.linkedin.com/in/konsta-mustonen) ||
|
|
| Konsta Mustonen | Junior Software Developer | [Link](https://www.linkedin.com/in/konsta-mustonen) ||
|
| ... | @@ -43,13 +43,13 @@ Some initial ideas based on conversations between Marko and Rami, included Lemmi |
... | @@ -43,13 +43,13 @@ Some initial ideas based on conversations between Marko and Rami, included Lemmi |
|
|
|
|
|
|
|
## Challenges
|
|
## Challenges
|
|
|
|
|
|
|
|
Initial challenges was finding technologies that worked together and on top of ARM. First and half of the second sprint, was used to research game technology, that would run on Raspberry Pi 3. After 3 weeks, we decided that Raspberry Pi 3 just wasn't the right technology for the system and Rami salvaged old computers from JAMK SER-garbage.
|
|
Initial challenges were finding technologies that worked together and on top of ARM. First and half of the second sprint was used to research game technology, that would run on Raspberry Pi 3. After three weeks, we decided that Raspberry Pi 3 just wasn't the right technology for the system and Rami salvaged old computers from JAMK SER-garbage.
|
|
|
|
|
|
|
|
After Raspberry Pi 3 choke point was solved, we decided on technologies for the game views and we went with Monogame, because our development environment was on Ubuntu 18.04.
|
|
After Raspberry Pi 3 choke point was solved, we decided on technologies for the game views and we went with Monogame, because our development environment was on Ubuntu 18.04.
|
|
|
|
|
|
|
|
RuuviTag programming was done with Python from the start because that was the code our RuuviTag programmers were familiar with.
|
|
RuuviTag programming was done with Python from the start because that was the coding language our RuuviTag programmers were familiar with.
|
|
|
|
|
|
|
|
Rami wanted to integrate gRPC to communicate between all the game views and python, because gRPC has support for so many different languages which can communicate together. Another reason was that Rami saw this technology to be usefull for everyone in the future.
|
|
Rami wanted to integrate gRPC to communicate between all the game views and python. gRPC has support for many different languages which can communicate together. Another reason was that Rami saw this technology to be usefull for everyone in the future.
|
|
|
|
|
|
|
|
Monogame Unit testing proved to be difficult since the reference material was pretty much non-existent and anything that required monogame game component could not be tested.
|
|
Monogame Unit testing proved to be difficult since the reference material was pretty much non-existent and anything that required monogame game component could not be tested.
|
|
|
|
|
|
| ... | @@ -101,7 +101,7 @@ After fighting with Godot and ARM for a while and not getting them to work toget |
... | @@ -101,7 +101,7 @@ After fighting with Godot and ARM for a while and not getting them to work toget |
|
|
|
|
|
|
|
Narsu threw us an idea "Could you remove the browser underneath it?" and Rami remembered Electron framework which did just that. We were able to make the system work as intended in our development environment with these technologies, but gRPC and Electron did not build properly to ARM and views were barely working on Raspberry pi 3.
|
|
Narsu threw us an idea "Could you remove the browser underneath it?" and Rami remembered Electron framework which did just that. We were able to make the system work as intended in our development environment with these technologies, but gRPC and Electron did not build properly to ARM and views were barely working on Raspberry pi 3.
|
|
|
|
|
|
|
|
After we decided that Raspberry pi 3 was a no go, we went directly to monogame, since Godot had other issues and we were running out of time for open doors. Everything started working a lot better, after we removed the choke points from the system, we were able to make a basic demo in a week and it was done just before open doors.
|
|
After we decided that Raspberry pi 3 was a no go, we went directly to monogame, since Godot had other issues and we were running out of time for open doors. Everything started working a lot better after we removed the choke points from the system. We were able to make a basic demo in a week and it was done just before open doors.
|
|
|
|
|
|
|
|
After the open doors was over, we used the demo as a template for our other views. We were able to create following views: Fruit catching, Daycare, Dressingroom, Birdfeeding (not finished), Fishing game and Racetrack game.
|
|
After the open doors was over, we used the demo as a template for our other views. We were able to create following views: Fruit catching, Daycare, Dressingroom, Birdfeeding (not finished), Fishing game and Racetrack game.
|
|
|
|
|
|
| ... | @@ -127,7 +127,7 @@ We were forced to use many different python 3rd party libraries to get all the f |
... | @@ -127,7 +127,7 @@ We were forced to use many different python 3rd party libraries to get all the f |
|
|
|
|
|
|
|
### Gitlab CI
|
|
### Gitlab CI
|
|
|
|
|
|
|
|
We had Gitlab CI set up the way that it would run unit tests automatically with each push. Sonarqube was also set up to run code analysis on each branch, as they were pushed
|
|
We had Gitlab CI set up the way that it would run unit tests automatically with each push. Sonarscanner was also set up to run code analysis on each branch, as they were pushed
|
|
|
|
|
|
|
|
## Manuals for individual components
|
|
## Manuals for individual components
|
|
|
|
|
|
| ... | |
... | |
| ... | | ... | |