Commit Graph

219 Commits

Author SHA1 Message Date
David Négrier
4cca1c1e58 Displaying circle on join
So far, someone joining a map would not see the circles of groups already formed until someone moves in the group (because the "circle_moved_or_updated" event was not fired when someone arrives)

This commit fixes this behaviour. Someone entering a room will receive an event for each and every group currently formed.
2020-05-13 23:11:10 +02:00
gparant
ec297e3912 Auto-reconnect 2020-05-13 20:22:42 +02:00
David Négrier
23a12ea652
Merge pull request #99 from thecodingmachine/map_history
Adding support for history API
2020-05-13 11:03:49 +02:00
David Négrier
59ee78275e Removing limitation to allow up to 4 players in a group 2020-05-13 09:39:48 +02:00
David Négrier
faadacddb6 Redirecting to the correct map after login screen based on URL provided 2020-05-13 00:06:58 +02:00
David Négrier
256fa51e24 Catching errors in socket callbacks
Catching errors in socket callbacks to avoid having the server crashing when an error occurs.
2020-05-12 11:49:55 +02:00
gparant
e35c188854 Fix update world back end and deleting group in front end 2020-05-11 13:17:02 +02:00
gparant
f4af824cf9 Fix error mapping refresh in back & the end of this feature development 2020-05-10 23:49:08 +02:00
gparant
8b9c36e3be Refactor leave and join room 2020-05-10 19:54:41 +02:00
gparant
8a91190d8c Change to update world by scene and room id 2020-05-10 19:45:17 +02:00
gparant
58b65030bd Fix feedback @moufmouf strategy of maps managing by back. 2020-05-10 18:34:55 +02:00
gparant
69777ad1cb Remove middleware to secure access API. 2020-05-10 17:31:27 +02:00
grégoire parant
bdea7e49d1
Update back/src/Controller/MapController.ts
Co-authored-by: David Négrier <d.negrier@thecodingmachine.com>
2020-05-10 14:48:58 +02:00
grégoire parant
929bb37728
Update back/src/Controller/MapController.ts
Co-authored-by: David Négrier <d.negrier@thecodingmachine.com>
2020-05-10 14:48:34 +02:00
gparant
5f11b065e1 Permit to dissociate data by room
- Update share room id.
 - Join room when a scene is loaded.
 - Add a room in constant variable.
2020-05-10 13:58:32 +02:00
gparant
27c6034661 Manage multi scene
- Create position and check if user is in position to switch in the next scene.
 - When scene is load, we load all scene in the layer of name "exit".
 - Layer "exit" of map.json have a parametter "exitSceneKey" to identify next scene.
 - Add layer "start", the player could start in the scene on the object present in the layer of name "start".
2020-05-09 21:28:50 +02:00
gparant
fb8d9bf9a8 Multi Scene in back end
- Change maps url to get maps
 - Change GameScene to create scene with file since back end
 - Change LoginScene to upload scene and start game
2020-05-09 19:41:21 +02:00
gparant
7f989cfd23 Add maps in back
- Add all map json in back
 - Create middleware to check authentification user
 - Create controllers to get map
 - Create access to get all files in folder Assets/Maps
2020-05-09 17:50:47 +02:00
gparant
6dc309db34 Fix manage webrtc room id 2020-05-08 21:17:52 +02:00
David Négrier
c59d693f6e
Merge pull request #83 from thecodingmachine/cleanup_rename_frame
Cleanup: renaming "frame" to "character"
2020-05-08 16:21:16 +02:00
David Négrier
e4824fe34d
Merge pull request #81 from thecodingmachine/display_groups
Adding the display of a circle around the group
2020-05-08 16:20:56 +02:00
David Négrier
492196b333 Cleanup: renaming "frame" to "character"
The "frame" variable actually contains a string pointing to the character selected.
It has nothing to do with a frame which is usually a particular image in an animation.

I'm renaming the variable accross the application to avoid confusion.
2020-05-08 15:18:22 +02:00
gparant
802d710006 Fix lint tsc 2020-05-08 11:58:09 +02:00
gparant
41f5b5a1f6 Fix shares information to enter into Webrtc room.
- Refactor share position in world class.
- Update selects a client to send information about connecting WebRtc room.
2020-05-08 11:54:47 +02:00
gparant
16cf33755c Fix webrtc back
- Add refuse to join if webrtc room have 4 players.
2020-05-08 11:16:49 +02:00
David Négrier
02e6b50b16 Adding the display of a circle around the group
This PR adds the display of a circle around groups. This is useful to view where you need to go to speak to someone but also to debug.

Note: implementation is suboptimal, relying on a "graphics" object that is known to be slow. In the future, we need to use a circle as a sprite instead.
2020-05-08 00:35:36 +02:00
gparant
5a6415607d Send event and play animation with user frame 2020-05-06 01:50:01 +02:00
gparant
b65e37c468 Name of map users
- Add name on user
 - Delete NonPlayer class not used
2020-05-03 22:24:14 +02:00
David Négrier
9c32c930a0 Merge 2020-05-03 17:47:54 +02:00
David Négrier
3b27f8b000 Making the group radius distinct from the minimum distance to connect 2 players
Also, changed default settings from 160px for Group Radius to 120px
(minimum distance to connect 2 players remains 160px)
2020-05-03 16:57:17 +02:00
gparant
c48073b908 Fix update callback 2020-05-03 16:30:22 +02:00
gparant
372f938bbb Connect and Disconnect event. 2020-05-03 16:28:18 +02:00
gparant
fdb40ec3e2 Fix webrtc multi 2020-05-02 20:46:02 +02:00
gparant
c7f8f92e85 Fix webrtc 2020-05-02 00:31:44 +02:00
gparant
e06b20fe96 Update video style and start peer connexion 2020-05-01 21:15:00 +02:00
gparant
2bfa57b0ba Merge world and webrtc conexion 2020-04-29 01:40:32 +02:00
gparant
881bb04eb0 Implement Distance Merge Request 2020-04-27 00:44:25 +02:00
gparant
c907048c12 Merge branch 'feature/back-players-proximity' into webrtc 2020-04-26 23:34:35 +02:00
gparant
9730df2295 Merge branch 'master' into feature/back-players-proximity
# Conflicts:
#	back/src/Model/Websocket/MessageUserPosition.ts
2020-04-26 23:31:40 +02:00
gparant
d396ad2f41 Fix CI CD 2020-04-26 22:35:16 +02:00
gparant
d7d7be9ed0 Web visio, add and remove video element 2020-04-26 19:12:01 +02:00
gparant
89db8558f6 Add multi SimplePear connection 2020-04-25 17:14:05 +02:00
gparant
c28108f6c9 Use WebRtc with SimplePeer 2020-04-25 16:05:33 +02:00
gparant
a5b5072de1 Fix webrtc 2020-04-20 01:10:47 +02:00
gparant
5b62ac39fb Create webrtc connexion between two player 2020-04-19 19:32:38 +02:00
gparant
d257b2b944 Multi players on the map
- Fix share user position
 - Fix initialise map
 - Create function to add user on the map with back end data
2020-04-10 12:54:05 +02:00
David MAECHLER
e3b0f99f04 blocked on some logic...WIP commit 2020-04-08 20:40:44 +02:00
gparant
77780bd27b Change comment with new message strategy 2020-04-07 21:03:33 +02:00
David MAECHLER
fbfc208129 BIG WIP of refactoring my work in TS 2020-04-07 10:08:04 +02:00
David MAECHLER
60c0188e9e Merge branch 'master' of https://github.com/thecodingmachine/workadventure into feature/back-players-proximity 2020-04-06 17:35:58 +02:00
David MAECHLER
3bcb12b3ef add stub method for recheck on group members proximity 2020-04-06 02:00:21 +02:00
David MAECHLER
886477cddf fix stupid error in for loop 2020-04-06 01:45:51 +02:00
David MAECHLER
21d7fb733a Fix logic in group creation since i only checked the distance between the two first users and not rechecked the distance between a new memember with the ones already present in the group. Also sort the array of distances to group the ones closer first. 2020-04-06 01:27:20 +02:00
David MAECHLER
bb2315e7ac Merge branch 'master' of https://github.com/thecodingmachine/workadventure into feature/back-players-proximity 2020-04-06 00:47:20 +02:00
David MAECHLER
88f231bd1f fix conditions logic and make the script work. Needs to implement it in node/TS now. 2020-04-06 00:39:36 +02:00
gparant
7e08e7f133 Front : create class to connect, send and receive message
- Create environment class
 - Create Connexion class to connect and save data
 - Refactor back api
2020-04-05 20:57:14 +02:00
gparant
b4f77ba51a Refactor to create interface rooms.
The ExtRooms permit to refresh position of all users in the map and create data to share.
2020-04-05 15:51:47 +02:00
gparant
72730a0abe Refactor & Typo 2020-04-05 14:31:49 +02:00
gparant
5bfedb04fd Merge branch 'master' into Share-players-position-using-Socket.IO
# Conflicts:
#	back/src/Controller/IoSocketController.ts
2020-04-04 22:46:42 +02:00
David Négrier
d064aca525
Fixing typo in comment 2020-04-04 22:35:20 +02:00
David MAECHLER
98be16708b fix a little error in logic of createGroups() method 2020-04-04 21:06:34 +02:00
David MAECHLER
0434e141e7 WIP : created a position.js file with all util methods, now needs to implement it in typescript 2020-04-04 21:00:59 +02:00
gparant
fbcb48f9ad Share players position using Socket.IO
- I stocked information user (id, room and position) in socket client.
 - I created function to send all information every few 10 milliseconds.

Note : when the front will be available, we must check the performance of back server.
2020-04-04 19:25:08 +02:00
gparant
f04d1342b5 Refactor error message 2020-04-04 17:56:43 +02:00
gparant
53e1600e67 Add authenticate
- Create new controller authenticate with login root..
 - Update and manage error message socket io.
 - Create enum for environment variables
2020-04-04 17:22:02 +02:00
gparant
e8da727cae Refactor and fix error hydration message socket io
- Position message send will be on format :
message :
                    userId : user identification
                    roomId: room identification
                    position: position of user in map
                        x: user x position on map
                        y: user y position on map
 - Create Point object and interface to have position x and y of user in map.
2020-04-04 16:25:03 +02:00
gparant
ba47d8b1d4 Setup web-socket connection
- Add authentification socket.io with jwt token
2020-04-04 14:05:18 +02:00
gparant
4e1115725b Add io socket message to share user position.
- Add message 'user-position' to share position in a room.
 - Change JoinRoomMessage to MessageUserPosition to have all data to share position and user information
 - Fix error alias to build
2020-04-04 12:42:02 +02:00
gparant
ba335aa33d Create backend
- NodeJs
 - Express
 - Socket.io
 - Eslint
 - TypeScript
2020-04-04 04:08:12 +02:00