# Team-06 planning ## week 4 * ## WebRTC (William en Filip) Maandag 18/10/2021: 2uur gesukkeld met site die niet correct laadde. M1 gehaald. PLANNED: M2 morgen en de rest van de week Donderdag 21/10/2021: webRTC.M2 is (almost) finished added documentation * ## Sensors (Arnout en Lode) (18/10) bezig met Sensors.M1 (18/10) https server werkt via laptop hotspot, image finder werkt met 'smoothing' functie (20/10) bezig aan touch en mouse panning * ## REST (Arno en Tim) (18/10) class for containing secret notes + succesfully used koa router (19/10) finish first code implementation of Milestone 1 (24/10) documentation + test cases * ## QR (Arthur en Steven) (18/10) Een afbeelding omzetten naar een 3D array van pixels. Nu proberen de corner markers proberen vinden met het finders pattern. (20/10) Een algoritme gemaakt voor het vinden van de corner markers en deze kandidaten extra nakijken. En wat getest op verschillende afbeeldingen. (22/10) Kandidaten die dezelfde corner markers voorstellen elimineren. (24/10) Comments toegevoegd en een beetje refactoring. ## Week 5 Iedereen is aan het sukkelen met Git. * ## QR-experiment (Arnout en William) (25/10) 3 uur aan Git en npm gesukkeld. (25/10) qr-experiments van vorige paar overlopen * ## REST_V2 (Lode & Filip) (25/10) node modules zoeken (25/10) rest-msg-board bekeken van vorige "pair". (25/10) input van gebruiker (bv. GET requests) in command prompt zetten en daar interactieren. (07/11) implemented https * ## WEBrtc (Tim) (25/10) made work M0 after 2 hours (25/10) looked at M1 implementation of prev. * ### QR-experiment (Arthur en Steven) (25/10) veel tijd gespendeerd om alles te set uppen voor github en de modules (25/10) ook nog aan milestone 2 gewerkt voor qr code. ## Week 5 Iedereen is aan het sukkelen met Git. * ### QR-experiment (Arnout en William) (25/10) 3 uur aan Git en npm gesukkeld. (25/10) qr-experiments van vorige paar overlopen * ### REST_V2 (Lode & Filip) (25/10) node modules zoeken (25/10) rest-msg-board bekeken van vorige "pair". (25/10) input van gebruiker (bv. GET requests) in command prompt zetten en daar interactieren. (07/11) implemented https * ### WEBrtc (Tim) (25/10) made work M0 after 2 hours (25/10) looked at M1 implementation of prev. * ### QR-experiment (Arthur en Steven) (25/10) veel tijd gespendeerd om alles te set uppen voor github en de modules (25/10) ook nog aan milestone 2 gewerkt voor qr code. ## Week 7 * ## REST (Lode & Filip) (08/11) klasse Notes aangemaakt. * ## WEBrtc (Tim & Steven) (08/11) Milestone 1 afgemaakt. (08/11) Aan Milestone 2 beginnen werken. (10/11) Milestone 1 en 2 documantie geschreven + Milestone 2 veranderingen aangebracht * ## QR code detection (William & Arnout) (08/11) detection voor colored qr codes geïmplementeerd (08/11) kleine testjes toegevoegd # Week 8 * ## Everyone (15/11) discussed possible implementations of App1 and App2. * ## WebRTC (15/11)Attempt to finish milestone M2 (17/11) Finished M2 * ## Sensors * ## QR * ## REST (15/11) First attempt at implementing user interface for milestone M2 (20/11) Implemented M2 with UI + tests * ## App1 (WebRTC + sensors) Implement a game played by using the sensors in a smartphone. For example, the sensors can be used to move around a pawn. The app will have the ability to communicate with other player/players and share data about the game through WebRTC. Other users on the web page that don't want to play can spectate the players. This will require a button to participate. The game still has to be determined. Tests can be run to see if the following works: A connection is made with other players who want to participate in the game. The data is send and received successful through the established connection. The game responds to the correct movement of the player. Read and approved by: William De Deyn,... * # App2 (QR + REST) A choose your own advendure type game that can be played through the browser. Each level/puzzle can be loaded on a different URL and finishing a level/puzzle provides a new URL as to progress the game. Puzzles can be anything from soduko to a simple word pun. These puzzles could also be generated based on a seed, as to introduce replayability by changing the seed. A leaderboard can be made to compare stats between players. To be able to return to a previous URL, QR-codes will be used. This provides both save points to a player as well as a way to share interesting puzzles with friends. Tests can be run to see if the following works: QR-code generation and reading brings us to the right page Puzzles are solvable Giving a correct solution provides a working new URL Speedrun leaderboard correctly displays/updates statistics Read and approved by: Tim Borremans,... ## Week 9 * ## App 1: Star Wars: The git clone wars(WebRTC + Sensor) WebRTC implementation: Use a datachannel to send data about the position, speed and direction to the other player.Also the score each player has, to display a leaderboard. We can also implement a way to communicate with another player through audio, not video because we don't want to waste game display area. The main focus is to establish a connection between players. WebRTC testing: Testing of the datachannel is done with the node package wrtc. This currently does not work yet. Multiplayer (2 Player): One player has to start a session (which will be called room) & is given a roomId that they will share to a friend. when the friend entered the roomId that was given, the SDP has been exchanged automatically and the ICEcandidates have been acknowledged. Now they can play with each other and talk to each other. tasks: -rendering done by Arnout -connection setup done by William & Filip - filip: looked for a way to automate the SDP exchange. Sensor implementation: Space Game: Possible features: - Stars - Space dust (to visualize movement) - Speed slider - Player ship models Polyhedron Quaternions - Crosshair - Rotation lead (makes crosshair harder) - Asteroids Circles? will work poorly when flying close icosahedra? pointy... +slow? cubes? - Ammo - Health - Respawning/Regenaration - Scoreboard ![](https://i.imgur.com/wiMUtZs.jpg) * ## App 2(REST API + QR code) A choose your own adventure type game that can be played through the browser. Each level/puzzle can be loaded on a different URL and finishing a level/puzzle provides a new URL to progress through the game. Puzzles can be anything from soduko to a simple word pun. Some of these puzzles could also be generated based on a seed, as to introduce replayability by changing the seed. A leaderboard can be made to compare stats between players. To be able to return to a previous URL, QR-codes will be used. This provides both save points to a player as well as a way to share interesting puzzles with friends. Tests can be run to see if the following works: QR-code generation and reading brings us to the right page Puzzles are solvable Giving a correct solution provides a working new URL Speedrun leaderboard correctly displays/updates statistics ![](https://i.imgur.com/qmQx6vh.jpg) User Interaction: On the start screen: press buttons to redirect to the following: see leaderboard, load a previous game through QR-code, start a new game. On a puzzle page: type the answer into a HTML post form, which gets send to the server and verified. The player gets redirected to a following puzzle if correct, otherwise a message is send telling the player that the answer is incorrect. These requests can be used to keep progress of the player. The user can press a button to generate a QR code encoding the current URL. On the last puzzle page (after x amount of puzzles solved): When solved a request is sent to the server which also updates the leaderboard with the solve time of the player. The player gets redirected to leaderboard to see his time. On leaderboard: Player can go back to start screen. On QR-loading page: User can upload an img file containing a QR-code to the page. When a submit button is pressed, the user gets redirected to the encoded URL. Message board feature: The leaderboard can be implemented based on the message board feature. As to keep track of progress of a player, a secret file concerning the player can be stored on the server. This could be implemented using a secret user based message board. When the player wants to verify a solution, a POST request will be send out to the server. (REST API) QR-code: Each page will have the possibility to generate a QR-code to save progress while puzzling. Each QR-code can be placed on a special load-page as to be able to revisit the corresponding page. Puzzles: To start only 1-2 types of puzzles will be implemented, as to not spend to much time on this. These could be generated by an algoritm instead of hardcoding each puzzle for puzzles like sudoku. Possibility: -Sudoku? -word pun puzzles? -trivia? Requirements: - Page redirects - leaderboard (<-- partial msg board feature) - Puzzle verification (POST requests) - Puzzle generation - QR-code creation - QR-code readout (<-- QR feature) (- User stats tracking (<-- partial msg board feature)) API methods: - get start page (render start page) - get QR-load page (render QR-load page) - get new_puzzle (with reaction messages) (render puzzle page with a new puzzle) - get QrCode_puzzle (with reaction messages) (render puzzle page with puzzle based on QR code) - get leaderboard page (render leaderboard page with total user scores of top 10 users) - post reaction message on puzzle - post generate_user_account (id, password, etc.) (cookies to keep track of user) - put alter_user_account - del delete_user_account - put user_puzzle_complete (userId, password, puzzleId, puzzle_data)(verifies puzzle and updates total user score if correct) ## Week 10 * ## App Space shooter made simple flying controls for pc (for debugging) graphics - raytraced background image - started model loader - dust particles - made ship model working on data exchange working on ui To do: - Wdio testing - RTCdatachannel - Signaling over server - Clean up graphics code - Create tests - Readme.txt * ## App Gingo Puzzle Adventures Worked on: -browser sudoku display -user login -qr code sudoku encode + decode -READme.txt ## Week 10 * ## App Space shoote graphics: - cleaned up code - added smoke particles - made 7 obstacle models and implemented - improved flying controls * ## App Gingo Puzzle Adventures