arp
f550c5a775
merge from develop
2020-10-09 17:10:24 +02:00
arp
c5f8b43fec
more fixes
2020-10-09 17:01:34 +02:00
Gregoire Parant
07c17452e7
Merge branch 'develop' into player-report
2020-10-09 16:15:15 +02:00
arp
5e54fc2c26
some fixes
2020-10-09 14:53:18 +02:00
arp
4af46b1b3f
simplified mapUrl parsing
2020-10-08 18:51:24 +02:00
David Négrier
386b25afa0
Switching customizeScene and gameScene to new ResizableScene
2020-10-08 16:00:29 +02:00
David Négrier
66f3345861
Adding responsive to SelectCharacterScene
2020-10-08 15:10:46 +02:00
David Négrier
79b5c5de93
Making login scene responsive
2020-10-07 18:03:34 +02:00
Gregoire Parant
c63fb6ed6f
Add image to report and to teleport player
2020-10-06 23:56:27 +02:00
David Négrier
f542b117a8
Refactoring connection to pass room info on connect
2020-10-06 18:11:42 +02:00
David Négrier
1061c80f1f
Fixing connection closing
2020-10-01 17:16:49 +02:00
David Négrier
e1193ad95a
Fixing console removal
2020-10-01 17:16:36 +02:00
David Négrier
8bc5832eac
Removing warning on startup
2020-10-01 17:15:33 +02:00
David Négrier
d3fa901691
Merge branch 'develop' of github.com:thecodingmachine/workadventure into feature/global-message
...
+ migrating to protobuf messages
# Conflicts:
# back/src/App.ts
# back/src/Controller/IoSocketController.ts
# back/yarn.lock
# front/src/Connection.ts
# front/src/Phaser/Game/GameScene.ts
# front/src/Phaser/Login/EnableCameraScene.ts
# front/src/WebRtc/SimplePeer.ts
2020-10-01 14:11:34 +02:00
David Négrier
57262de1bf
Fixing CI + lowering extrapolation time
2020-09-30 13:49:23 +02:00
David Négrier
074398c4e0
Fixing benchmark initialization
2020-09-30 12:12:24 +02:00
David Négrier
53c6c2bc30
Fixing benchmark
2020-09-29 17:24:16 +02:00
David Négrier
9f3577286d
Merge branch 'develop' of github.com:thecodingmachine/workadventure into uws
...
# Conflicts:
# back/src/Controller/AdminController.ts
# back/src/Controller/AuthenticateController.ts
# back/src/Controller/IoSocketController.ts
# back/src/Controller/MapController.ts
# benchmark/index.ts
# front/src/Connexion/RoomConnection.ts
2020-09-29 17:12:28 +02:00
David Négrier
432b4a0e85
Linting app
2020-09-29 16:12:17 +02:00
David Négrier
b485c9bf46
Switching WebRTC to protobuf + uws
2020-09-29 16:01:22 +02:00
David Négrier
6a4c0c8678
Migrating to uWS
2020-09-28 18:52:54 +02:00
arp
3f9659ef3c
improvments
2020-09-28 15:40:34 +02:00
arp
af4611ed29
rewrote the login workflow
2020-09-25 19:23:33 +02:00
David Négrier
ac80850335
Switching SetViewport to protobuf
2020-09-24 17:36:10 +02:00
David Négrier
24a6cd7f8e
Switched ITEM_EVENT to protobuf
2020-09-24 17:24:37 +02:00
David Négrier
cd083a2090
Merge branch 'develop' of github.com:thecodingmachine/workadventure into protobuf
...
# Conflicts:
# back/package.json
2020-09-24 16:22:16 +02:00
David Négrier
0c4c43f88c
Adding USER_LEFT message to protobuf
2020-09-24 16:11:47 +02:00
David Négrier
2dad601311
Adding JOIN_ROOM message in protobuf
2020-09-24 14:50:28 +02:00
David Négrier
d7209d8864
Migrating messages locally into back and front
2020-09-24 11:16:08 +02:00
David Négrier
b4f971c501
Switched group position to protobuf
2020-09-24 10:05:16 +02:00
Gregoire Parant
7f4014cccf
Fix CI
2020-09-23 19:07:45 +02:00
Gregoire Parant
7584c3a04d
Fix CI
2020-09-23 18:44:24 +02:00
Gregoire Parant
3cb079c80c
Fix CI
2020-09-23 18:37:54 +02:00
Gregoire Parant
d5fdb9d857
Fix style
2020-09-23 18:07:31 +02:00
Gregoire Parant
bcb126a146
Merge branch 'develop' into feature/global-message
...
# Conflicts:
# back/src/App.ts
2020-09-23 17:26:00 +02:00
Gregoire Parant
942d2cbcef
Refactor and remove prevent default keyboard
2020-09-23 17:22:00 +02:00
Gregoire Parant
8c43c67741
Create feature to send and read audio message
2020-09-21 15:00:39 +02:00
David Négrier
76d3779438
Moved GroupUpdateMessage to protobuf
2020-09-21 11:24:03 +02:00
arp
a19f09bef2
improve the register workflow
2020-09-21 10:51:48 +02:00
Gregoire Parant
16b3e48711
Add menu to switch
2020-09-21 01:16:10 +02:00
Gregoire Parant
1829912c91
Fix remove last childnode
2020-09-21 00:42:39 +02:00
Gregoire Parant
e0ae79eaf1
Fini quill box
2020-09-21 00:34:25 +02:00
Gregoire Parant
9b955ebd20
fix style quill box
2020-09-20 19:31:24 +02:00
Gregoire Parant
844bffa988
Create file controller to upload audio document
2020-09-20 19:01:21 +02:00
Gregoire Parant
45ad4bbb36
Send and play audio message
2020-09-20 17:12:27 +02:00
Gregoire Parant
4c7e458e52
create event and brodcast event in backend
2020-09-19 01:08:56 +02:00
David Négrier
b148ca3708
Linting
2020-09-18 18:16:26 +02:00
David Négrier
df0636c513
Migrating user position messages to protobuf
2020-09-18 15:51:15 +02:00
David Négrier
e9ca8721a6
Migrating userId to "int32" to save some space and adding userMoves message in protobuf
2020-09-18 13:57:38 +02:00
arp
ed9552b62b
added a register route via token
2020-09-17 18:21:49 +02:00
David Négrier
4b55b54a07
Adding first protobuf message exchange
2020-09-17 17:14:47 +02:00
Gregoire Parant
e59cbcfaa7
Create console global message
...
- Add style
- Create zone and button to show the admin console
2020-09-16 21:50:04 +02:00
Gregoire Parant
509196785b
Initialise global message
...
- Create new class to manager global message. My idea is that this class permit to manage audio or text message.
- Update html to have main content id and inject html in this.
- Create front event to receive startMessage and stopMessage.
- Delete impoted variable not used.
2020-09-16 18:38:50 +02:00
David Négrier
f5f9dcac04
Making groups part of zones
2020-09-16 16:06:43 +02:00
David Négrier
3a9196fb82
Merge
2020-09-16 11:41:03 +02:00
David Négrier
d24ec0bd75
Plugin PositionNotifier into the main application.
2020-09-15 16:21:41 +02:00
David Négrier
f8d462b0d7
Fixing "any" type
2020-09-15 10:10:35 +02:00
David Négrier
9b702c75e3
Adding batched messages + the notion of notifier / zones (not plugged in the system yet)
2020-09-15 10:06:11 +02:00
David Négrier
e418e8fd09
Setting the depth of the chat mode / presentation mode to 99999 to avoid melting buttons with map.
2020-09-10 09:31:53 +02:00
David Négrier
f70ba1411a
Hiding cam details when entering a Jisti room
2020-09-01 14:43:21 +02:00
David Négrier
9516f6615c
Centering character based on game div
...
Previously, character was centered based on window size, but when doing CoWebsite browsing, window size != game size, leading to poorly centered characters
2020-08-31 17:56:11 +02:00
David Négrier
8655aef629
Fixing URL passing in WebRtc setup
2020-08-31 15:34:21 +02:00
David Négrier
ed116cf2a3
Switching on our very own turn server
2020-08-31 15:33:50 +02:00
David Négrier
6f6873e870
Merge pull request #251 from thecodingmachine/fix_camera_stop
...
Camera was not properly closed in EnableCameraScene
2020-08-31 15:31:33 +02:00
David Négrier
634eecd42a
Fixing issue when both mic and cam are stopped
2020-08-31 15:21:05 +02:00
David Négrier
c739037bc4
Camera was not properly closed in EnableCameraScene
2020-08-31 14:54:52 +02:00
David Négrier
9351719873
Adding the notion of silent zone
2020-08-31 14:10:01 +02:00
David Négrier
df7b5cc2e3
Adding a "silent" notion (triggered in Jitsi meets)
2020-08-31 14:03:40 +02:00
David Négrier
0a8ba37049
Adding Jitsi meet support
2020-08-31 12:18:00 +02:00
David Négrier
a128ff117b
code style
2020-08-30 17:40:04 +02:00
David Négrier
01319b50ca
Adding a "openWebsite" property that opens websites when we walk over the zone.
2020-08-30 17:37:38 +02:00
David Négrier
168697eb46
Adding a GameMap class that helps tracking when the properties of the tiles the user is changes (when the user moves)
2020-08-30 15:44:22 +02:00
David Négrier
13272968cf
Clicking on a video puts it in presentation mode
...
Adding the ability to put a video in presentation mode by clicking on it.
Also, adding small CSS animations on hover.
2020-08-27 10:16:34 +02:00
David Négrier
7dc9e32b84
Merge branch 'screenshare2' into outline
2020-08-24 18:24:47 +02:00
David Négrier
7f5f802b86
Avoiding flickering when entering presentation mode with no presentation
2020-08-24 18:23:02 +02:00
David Négrier
fca93663b4
Merge branch 'develop' of github.com:thecodingmachine/workadventure into outline
2020-08-24 18:15:44 +02:00
David Négrier
044495cf05
Centering character in free space
...
This commit adds the ability to put the character where there is free space when a discussion is hapening (either in presentation or chat mode)
2020-08-24 14:19:36 +02:00
David Négrier
b7c2f8be7b
Adding colors for cam/mic/screen share button
...
Microphone and camera are now red when disabled.
Screen-share is green when enabled.
Also, they are now always partially visible (they were completely hidden previously until hovering in the lower right corner)
2020-08-22 15:26:40 +02:00
David Négrier
91f422d0c3
Fixing stop of stream in bi-directional screen sharing.
2020-08-21 22:53:17 +02:00
David Négrier
c442d6ce67
Lint
2020-08-20 22:29:14 +02:00
David Négrier
dc36af19bc
Detecting press on "stop screen sharing"
2020-08-20 22:23:38 +02:00
David Négrier
1162439479
Overloading destroy method instead of having a separate method to remove video.
2020-08-20 22:23:22 +02:00
David Négrier
27ffb6b13d
Refactoring SimplePeer code: splitting Peer instantiation into 2 subclasses (VideoPeer and ScreenSharingPeer). This leads to way leaner code.
2020-08-20 16:56:10 +02:00
David Négrier
894f7c8009
Removing useless roomID parameter in WebRtcSignal message
2020-08-20 15:21:07 +02:00
David Négrier
0119534283
First version of screen-sharing that works when a user is joining a group after screen sharing begun.
2020-08-20 00:05:00 +02:00
David Négrier
cc1cb2f671
Fixing linting
2020-08-18 14:59:50 +02:00
David Négrier
2e61c2ef62
Getting back code in compilable fashion after huge rebase
2020-08-18 00:12:38 +02:00
Gregoire Parant
4b72958193
Fix peer connexion for two player with screen sharing
2020-08-17 23:56:46 +02:00
Gregoire Parant
a8f27e6084
Create event to start webrtc screen charing
2020-08-17 23:54:26 +02:00
Gregoire Parant
a4f42111d7
Update screen sharing feature
2020-08-17 23:47:17 +02:00
Gregoire Parant
0bbed7717a
Continue screen sharing
2020-08-17 23:39:50 +02:00
Gregoire Parant
3e2c5049f2
Fix to add special screen sharing
2020-08-17 23:36:02 +02:00
Gregoire Parant
209057e3fc
New fictive user screen sharing
...
- Create new fictive user
- Add new fictive user in WebRtc group
- Add screen sharing video on left side
2020-08-17 23:32:39 +02:00
Gregoire Parant
6c1b8122ef
Fix CI
2020-08-17 23:19:31 +02:00
Gregoire Parant
eed5333d69
Stability simple peer
2020-08-17 23:18:38 +02:00
Gregoire Parant
208b91e52a
Feature screen sharing
...
- Send stream of screen sharing in peer connexion
- Add button for share your screen
2020-08-17 23:17:00 +02:00
David Négrier
6b970adc6c
Merge branch 'develop' of github.com:thecodingmachine/workadventure into outline
...
# Conflicts:
# front/src/Phaser/Game/GameScene.ts
# front/src/Phaser/Player/Player.ts
# front/src/index.ts
# front/yarn.lock
2020-08-17 22:51:37 +02:00
David Négrier
fc78249eae
Code cleanup
2020-08-17 22:03:08 +02:00
David Négrier
beb0d1ef0a
Linter fix
2020-08-17 16:18:39 +02:00
David Négrier
6516e621b0
Adding display / hide of layout buttons when a meet start / ends
2020-08-17 16:12:53 +02:00
David Négrier
7fe2cc19c3
Adding buttons to switch mode
2020-08-17 15:20:03 +02:00
David Négrier
05ca8c813e
Fixing chat mode canceling flex display
2020-08-16 23:49:31 +02:00
David Négrier
1509777945
Improving video CSS (work on overlay)
2020-08-16 23:45:03 +02:00
David Négrier
88c099fc13
Improving layout
...
Fixing left-right switch on all cameras (except current player camera)
2020-08-16 23:19:04 +02:00
David Négrier
9f6c6e0ce1
Adding CoWebsiteManager + first working version of flex video
2020-08-13 18:21:48 +02:00
David Négrier
83fe024c45
Adjusting class in chat mode based on number of divs displayed.
2020-08-11 22:40:54 +02:00
David Négrier
7232bbaef9
Adding LayoutManager to position videos as cleverly as possible
2020-08-11 22:32:55 +02:00
David Négrier
24fb605f50
Switching to definitely assigned parameters
...
This allows us to go in "full strict mode" (yeah!)
See https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-7.html#strict-class-initialization
2020-08-07 23:39:06 +02:00
David Négrier
bc929615d1
Fixing problem when switching scenes with container
2020-07-29 11:42:18 +02:00
David Négrier
84529d6e99
Propagating customized sprites all over the game
2020-07-28 17:45:55 +02:00
David Négrier
6d0bccc0e1
Making a nice "customize" button
2020-07-28 15:53:44 +02:00
David Perez
866985326b
Fixing merge issue
2020-07-28 11:35:30 +02:00
David Perez
90c56ca683
merge
2020-07-28 11:29:21 +02:00
David Perez
21d2a7939b
custome characters
2020-07-28 11:24:34 +02:00
David Négrier
ee612f6585
Adding event support to items
2020-07-27 22:36:58 +02:00
David Négrier
d48d5b0285
Fix CS
2020-07-23 18:47:28 +02:00
David Négrier
2484e4f1df
Moving maps to their own container
2020-07-23 18:43:51 +02:00
David Négrier
ed146226cf
Adding Outline capabilities and a ActionableItem notion.
2020-07-23 18:09:24 +02:00
David Négrier
f7466994c5
Playing with pipeline to display outline
2020-07-15 23:44:01 +02:00
David Négrier
6879418098
Adding a 404 page when resources loading fails
2020-07-07 22:52:22 +02:00
David Négrier
55767f2c78
Fixing image tileset key
...
If 2 maps share the same tileset name (even if they use 2 different URLs for the tileset), the tileset image will be reused wrongly.
This commit fixes the tileset key to make it equal to the image URL.
2020-07-07 18:22:10 +02:00
David Négrier
67e07c04f8
Fixing loading of tilesets with margin or padding
2020-07-05 17:10:08 +02:00
David Négrier
63e2e176d3
Fixing tests
2020-06-25 11:56:11 +02:00
David Négrier
bfec2317c9
Fixing default value
2020-06-25 11:39:38 +02:00
David Négrier
bb6b07536e
Fixing Jasmine tests
2020-06-25 11:39:18 +02:00
David Négrier
1978c1a324
Lint
2020-06-25 11:35:20 +02:00
David Négrier
5f5cec93ea
Audio device => exact mode
2020-06-25 11:26:55 +02:00
David Négrier
e3e7b92c6a
Fixing errors when arrows touched and no cam
2020-06-25 10:43:42 +02:00
David Négrier
c322de4412
Moving to async/await
2020-06-25 10:43:27 +02:00
David Négrier
8db615551a
Fixing device switching in Firefox
2020-06-25 10:33:26 +02:00
David Négrier
d18abaf067
Enabling optional https in development
2020-06-25 10:32:47 +02:00
David Négrier
371b4f0063
Fixing Firefox compatibility by remove references to InputDeviceInfo
2020-06-25 09:28:00 +02:00
David Négrier
a52b1f612b
Reorganizing on x axis too.
2020-06-24 18:09:59 +02:00
David Négrier
b3c18702bb
Adding borders, centering camera, fixing small bug on resize when no camera is enabled
2020-06-24 17:49:38 +02:00
David Négrier
253108eba0
- Making the EnableCameraScene responsive
...
- Enabling click on arrows
2020-06-24 17:29:23 +02:00
David Négrier
3de37bafed
Adding a scene to configure the webcam
2020-06-24 15:35:07 +02:00
David Négrier
d78006e106
Fixing memory leak with listeners
...
The listeners from MediaManager and SimplePeer were never removed, leading to a huge amount of listeners all over the applications when switching regularly of scene.
2020-06-23 15:02:35 +02:00
David Négrier
74af7d52c3
Improving error handling in MediaManager
2020-06-22 22:55:28 +02:00
David Négrier
a5514ce78a
Code cleanup and removing exception in favor of console error
2020-06-22 18:42:54 +02:00
David Négrier
407c6db070
Fixing difference between MapKey and scene key (prevented proper caching of resources)
2020-06-22 17:18:24 +02:00
David Négrier
3f927280a6
Lint
2020-06-22 16:11:48 +02:00
David Négrier
9b174836cd
Making sure connection is established again EVEN if the tab is not displayed
2020-06-22 16:11:02 +02:00
David Négrier
1e4ffa20ab
Cleaning GameManager
2020-06-22 16:10:34 +02:00
David Négrier
403ea223a8
Reconnecting also on socket error
2020-06-22 16:10:18 +02:00
David Négrier
f88f28db3f
Refactoring reconnection: putting it into the GameScene directly.
2020-06-22 15:00:23 +02:00
David Négrier
d785a8a1bf
Refactoring connection to be part of a GameScene
...
Most of the refactoring issues we are seeing are probably due to the fact that we are trying to manipulate a ScenePlugin out of a Scene (the GameManager is not a Scene and holds a reference to a ScenePlugin coming from a Scene that might get invalidated by Phaser 3).
Furthermore, if we want in the future to be able to scale, scenes could be hosted on different servers. Therefore, it makes no sense to have one connexion for the whole application.
Instead, we should have one connexion for each scene.
2020-06-22 11:58:07 +02:00
David Négrier
4496c49621
Fix linting
2020-06-19 18:51:58 +02:00
David Négrier
2b820c7d56
Adding an event queue in the GameScene.
...
Events are processed only in the 'update' method.
We hope this will solve a number of null pointer errors. See #194
2020-06-19 18:18:43 +02:00
David Négrier
e2be99490b
Finishing removing any reference to "any" in the front.
2020-06-19 16:36:40 +02:00
David Négrier
39928b46f9
Removing any in the front
2020-06-19 14:30:34 +02:00
David Négrier
8348d13bfe
Fixing use const instead of let
2020-06-19 14:30:34 +02:00
David Négrier
54f2518b5e
Enabling stricter lint on front
2020-06-19 14:29:29 +02:00
David Négrier
817b25b0be
Fixing reconnect issue
...
In the case the reconnect event was triggered on "wake-up", the disconnect event was not sent. But because of a bug in the way we handle the setTimeout, the reconnection to the GameScene never happened after we forced the disconnect scene.
This fixes the issue.
2020-06-17 16:06:02 +02:00
David Négrier
b8f9e25b26
Merge pull request #184 from thecodingmachine/debugreconnect
...
Adding console log when trying to reconnect
2020-06-17 15:43:20 +02:00
David Négrier
b14524625c
Adding console log when trying to reconnect
2020-06-17 15:37:02 +02:00
David Négrier
b1d39c4690
More logs
2020-06-11 14:13:13 +02:00
David Négrier
ea30a02762
Fixing reconnect issues
2020-06-11 14:12:03 +02:00
David Négrier
473c5aa052
Fixing events fired multiple times
...
Callbacks for socket.io events were registered each time a disconnect was called, leading to message being dispatched plenty of times if there was several disconnections.
2020-06-11 13:34:25 +02:00
David Négrier
e50a4fd88b
Fixing setTimeout being called several times
2020-06-11 11:34:22 +02:00
David Négrier
f7265c213e
Patch
2020-06-11 10:40:43 +02:00
David Négrier
43c7c9ad07
Fixing null initialization
2020-06-11 10:29:11 +02:00
David Négrier
77167c28a6
Making sure that even is a user did not move, the reconnection can happen without issues and resume at the old position
2020-06-11 10:04:23 +02:00
David Négrier
ce7b4092a6
Fixing suspend/resume
...
In case we suspend a laptop and resume it, the RECONNECT event is called by socket.io without any error being thrown (so without us being redirected to the Reconnect Scene).
This fix makes sure we go to the reconnect scene before going back to the main scene.
2020-06-11 09:37:33 +02:00
David Négrier
80fddb3c69
Removing dead code
2020-06-10 16:01:01 +02:00
David Négrier
f518830073
Minor change to make sure the scene starts even if in background (does this really work?)
2020-06-10 16:00:54 +02:00
David Négrier
500dc83a85
Completely resetting GameScene on disconnect
2020-06-10 15:43:22 +02:00
David Négrier
43e4489d4d
Fixing start position on disconnect
2020-06-10 14:57:32 +02:00
David Négrier
bd3be2a138
Merge pull request #157 from thecodingmachine/fixing_long_disconnect
...
Adding connecting spinner and blinking error to webrtc display
2020-06-08 18:09:12 +02:00
David Négrier
5042f2f82c
Lint
2020-06-07 23:00:05 +02:00
David Négrier
c0809e28db
Adding support for putting the hash in a map referenced in an exit scene.
2020-06-07 22:57:32 +02:00
David Négrier
db3ef81842
Adding the ability to add several entry points
...
We can now have several start layers and choose an entry point using a # in the URL
2020-06-07 13:23:32 +02:00
David Négrier
f2c9647882
Adding connecting spinner and blinking error to webrtc display
...
I put a connecting spinner around the user name when the user is connecting.
Also, if an error occurs, we will see a blinking red circle around the player name.
2020-06-06 22:49:55 +02:00
David Négrier
96c5d92c46
Fixing disconnection taking ~15 seconds
...
Most of the time, sending a disconnect event to one of the players is enough (the player will close the connection
which will be shut for the other player).
However! In the rare case where the WebRTC connection is not yet established, if we close the connection on one of the player,
the other player will try connecting until a timeout happens (during this time, the circle with the name is displayed for nothing).
So now, we send disconnection event to every body (not only the people in the group, but also to the person leaving the group)
2020-06-05 13:07:18 +02:00
David Négrier
b82b13e351
Finalizing strict mode fixes
2020-06-04 18:56:59 +02:00
David Négrier
6f69a62d4d
More strict fixes
2020-06-04 18:56:59 +02:00
David Négrier
082a11b0cd
Allowing ill defined initializers (because of the way Phaser 3 is designed)
2020-06-04 18:56:59 +02:00
David Négrier
7292bc3cab
More strict fixes
2020-06-04 18:56:22 +02:00
David Négrier
111bfcfe8c
More strict typecheck fixes
2020-06-04 18:56:22 +02:00
David Négrier
a231024502
Fixing strict type checks
2020-06-04 18:56:22 +02:00
David Négrier
82e2c0d985
Merge pull request #149 from thecodingmachine/multiple_start_positions_in_layer
...
Allowing several start positions in a given start layer
2020-06-03 11:20:57 +02:00
David Négrier
69d2fa6944
Allowing several start positions in a given start layer
...
If more than one tile was set in the "start" layer, the last tile would be selected.
Now, the tile is selected at random among available tiles.
Also, a message is issued if no tiles have been put on the "start" layer.
2020-06-03 11:14:04 +02:00
David Négrier
9ddf22d36b
Removing GameScene from the list of known GameScene when leaving
...
This is important because when we come back to the GameScene later, some properties of the GameScene object might be initialized with the values of the previous GameScene.
Like the position if the user previously disconnected.
Closes #146
2020-06-03 10:45:25 +02:00
David Négrier
2dc682ea72
Fixing warning on character selection
2020-06-02 15:57:11 +02:00
David Négrier
d72e60610e
Adding PlayersPositionInterpolator to interpolate/extrapolate players positions
2020-06-02 13:44:42 +02:00
David Négrier
d69ce8a6a6
Adding PlayerMovement class to interpolate/extrapolate position along tests (installing Jasmine)
2020-06-02 10:48:04 +02:00
David Négrier
077b29bfbd
Sending position only every 200ms while moving
2020-06-01 22:42:18 +02:00
Gregoire Parant
b931a8f117
Fix animation player
2020-06-01 13:20:45 +02:00
David Négrier
f69f99f449
Adding localStorage for selected user
2020-05-26 22:26:50 +02:00
David Négrier
52e3b47cc1
Storing user name in local storage
2020-05-26 22:17:00 +02:00
David Négrier
f36bd240a7
Fix lint
2020-05-26 17:43:25 +02:00
David Négrier
0492dfdf3a
Fixing import
2020-05-26 17:37:26 +02:00
David Négrier
04a1f90ed5
Adding communication between LoginScene and SelectCharacterScene
2020-05-26 17:25:29 +02:00
David Négrier
5806e379c8
Fixing selection on keyboard after selection using mouse
2020-05-26 17:02:04 +02:00
David Négrier
da0d9fed87
Adding a new SelectCharacterScene
...
Taking what was done in the LoginScene regarding character selection and putting it in its own scene.
Also, making character selection possible via the keyboard.
2020-05-25 23:26:27 +02:00
David Négrier
21576946f0
Commenting out the notion of status in the GameManager
...
It seems to be useless
2020-05-25 22:37:07 +02:00
David Négrier
62cb8cca87
Also removing dead class
2020-05-25 22:36:44 +02:00
David Négrier
17e7f1b37a
Removing dead code from previous messaging system
...
Remvoing messages that were no more used in the new messaging system (the code used to handle the message that sent the position of all users on the front side)
2020-05-25 22:36:44 +02:00
David Négrier
1fa39b0781
Fixing typos.
...
Replaced connexion with connection and LogincScene with LoginScene
2020-05-24 23:14:12 +02:00
David Négrier
cd586a9e0c
Renaming /maps to /start-map
...
Closes #90
2020-05-24 22:53:10 +02:00
David Négrier
2448fef53a
Adding a notion of instances per mapAdding a notion of instances to room
...
The URL signature becomes:
https://workadventu.re/_/[instance]/[path_to_map.json]
This allows us to create many instances of the same map (and therefore to create several different worlds for different people)
An exit on a map can target another "instance" by passing the "exitInstance" property.
2020-05-23 17:45:49 +02:00
David Négrier
080e08eeef
Merge pull request #122 from thecodingmachine/reconnecting_scene
...
Adding a special scene to wait for server reconnection
2020-05-23 17:12:36 +02:00
Gregoire Parant
f4ed2e52bf
Fix CI
2020-05-23 16:50:17 +02:00
David Négrier
e41eda9979
Prettifying lost connection screen
2020-05-23 16:13:37 +02:00
David Négrier
36858f8747
Adding a special scene to wait for server reconnection
2020-05-23 15:43:26 +02:00
Gregoire Parant
ab32021fc0
Fix mediam stream manage and server back down
2020-05-23 14:00:36 +02:00
David Négrier
ab798b1c09
Changing the "Point" notion to add a notion of "moving" in addition to the notion of direction.
...
Also, refactoring JOIN_ROOM event to add complete position.
2020-05-22 23:04:45 +02:00
David Négrier
f44a44c109
Removing logs
2020-05-20 12:30:17 +02:00
David Négrier
125a4d11af
Refactored and optimized messages
...
Now, when a user moves, only his/her position is sent back to the other users. The position of all users is not sent each time.
The messages sent to the browser are now:
- the list of all users as a return to the join_room event (you can send responses to events in socket.io)
- a "join_room" event sent when a new user joins the room
- a "user_moved" event when a user moved
- a "user_left" event when a user left the room
The GameScene tracks all these events and reacts accordingly.
Also, I made a number of refactoring in the classes and removed the GameSceneInterface that was useless (it was implemented by the LogincScene for no reason at all)
2020-05-19 19:11:12 +02:00
David Négrier
1bbd0866cb
Code cleaning
2020-05-16 16:07:57 +02:00
David Négrier
3b6ace03fa
Getting rid of roomId in Message class (this is not needed since all messages sent are for the room we are currently in)
2020-05-16 00:19:27 +02:00
David Négrier
4d1c3517ec
When sharing user position, only position is sent now!
2020-05-15 23:47:00 +02:00
David Négrier
cdfa9acf01
JoinRoom now ONLY sends the roomId.
2020-05-15 23:24:04 +02:00
David Négrier
b80e3e07d8
Sending player details (name + character selected) on connection
2020-05-15 22:49:50 +02:00
David Négrier
5a3668a12e
Refactoring messages
...
Socket.io can stringify JSON messages itself, so there is no need to pass a string to "emit". You can pass a serializable object!
This commit removes all the useless toJson() methods, JSON.serialize and JSON.parse!
Woot!
2020-05-15 22:04:49 +02:00
David Négrier
4de552437d
Completely getting rid of "userid"
...
Previously, userid was generated by the "/login" route and passed along.
This commit completely removes the uuid "userid" (and disables the LoginController too and any Jwt check).
"userid" is replaced by the "socket id" of the connection.
So a user is now identified using a socket id, which is unique for a given connection.
2020-05-14 23:20:43 +02:00
David Négrier
34d3a292db
Removing log trace
2020-05-14 22:00:31 +02:00
gparant
182882fded
Fix border view
2020-05-14 20:54:34 +02:00
gparant
787e1c463c
Media webrtcA
...
- Update peerConnexion manage
- Add muted microphone logo
- Add icon user
- Sound when user enter in room webrtc
2020-05-14 20:39:30 +02:00
David Négrier
6e71d7f28a
Merge pull request #109 from thecodingmachine/Auto-reconnect
...
Auto-reconnect
2020-05-13 22:03:56 +02:00
gparant
ec297e3912
Auto-reconnect
2020-05-13 20:22:42 +02:00
kharhamel
e2531343d1
fixed a game crash on firefox on http
2020-05-13 16:56:22 +02:00
David Négrier
dd5a0c9933
Fixing domain name
2020-05-13 16:17:58 +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
daa559738b
Adding history support
...
Arriving on a new map now changes the URL.
All URLs starting with _ are automatically redirected to index.html by the web server
2020-05-12 22:38:44 +02:00
David Négrier
9417e4a4d2
Refactoring/centralizing map loading in GameManager
2020-05-12 22:38:44 +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
d3ff717f9e
Minor Fix overflow css style
2020-05-12 00:22:55 +02:00
David Négrier
0daddb3669
Merge pull request #93 from thecodingmachine/fix-recette-grp
...
Fix recette GRP
2020-05-11 22:59:22 +02:00
David Négrier
7ded674cc4
Merge pull request #95 from thecodingmachine/lyon_map
...
Refactoring "exit" to allow multiple maps
2020-05-11 22:56:47 +02:00
David Négrier
d51462abd4
Fixing typo
2020-05-11 19:19:42 +02:00
David Négrier
39f1952f94
Putting player names depth at a high depth to have them always visible
2020-05-11 19:16:36 +02:00
David Négrier
98628957a4
Refactoring "exit" to allow multiple maps
...
Adding several layers named "exit" causes issues with Phaser 3.
This PR makes any possible layer being an exit layer (it only depends on the exitUrl property)
Also, fixing start position (it takes into account the layer width now)
2020-05-11 18:49:20 +02:00
gparant
e35c188854
Fix update world back end and deleting group in front end
2020-05-11 13:17:02 +02:00
gparant
141280e691
Fix url to get the next map in GameScene
2020-05-11 00:25:06 +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
58b65030bd
Fix feedback @moufmouf strategy of maps managing by back.
2020-05-10 18:34:55 +02:00
gparant
68ac145882
Fix feedback @moufmouf on circle texture
2020-05-10 17:55:30 +02:00
gparant
69777ad1cb
Remove middleware to secure access API.
2020-05-10 17:31:27 +02:00
gparant
029a7a9a64
Correct feedback @moufmouf
2020-05-10 14:49:49 +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
4157a12f5d
Update name map
...
- Change name in game scene and login scene
2020-05-09 16:47:55 +02:00
gparant
59127534ac
Fix User depth
...
- Update strategy layers depth
- Add depth to manager layers positions between all users
2020-05-08 17:35:40 +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
25b7fc5e36
Merge pull request #82 from thecodingmachine/fix/webrtc
...
Fix webrtc
2020-05-08 16:14:49 +02:00
David Négrier
b2a5cb1720
Refactoring display of circle around group
...
The circle is now a sprite and not generated on every frame using a giant "graphics" object
2020-05-08 16:09:50 +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
8991b6f817
Add layer override
2020-05-08 13:18:34 +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
David Négrier
05fbcad252
Fixing "none" animation does not exist log
2020-05-07 23:33:21 +02:00
gparant
3ec167ee44
Merge branch 'master' into feature/login-page
...
# Conflicts:
# front/src/Phaser/Game/GameScene.ts
# front/src/Phaser/Login/LogincScene.ts
2020-05-06 02:20:28 +02:00
gparant
ebbe60f10f
Delete comment
2020-05-06 02:13:00 +02:00
gparant
b12d762ffe
Fix to add frame of player user
2020-05-06 02:12:37 +02:00
gparant
4e04357b71
Merge branch 'refactoring_messages' into feature/login-page
...
# Conflicts:
# front/src/Phaser/Player/Player.ts
2020-05-06 01:58:04 +02:00
gparant
5a6415607d
Send event and play animation with user frame
2020-05-06 01:50:01 +02:00
David Négrier
86abdfe30b
Only sending move events if the player actually moved
...
If the player did not move a pixel (and if it did not change direction), then do not send an event to save bandwidth and processing.
2020-05-04 23:11:59 +02:00
David Négrier
ad3484285b
Fixing Cypress tests
2020-05-04 18:38:04 +02:00
gparant
58a1a8a3c9
Add select player in login page
2020-05-04 01:48:14 +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
b260dc32b5
Merge from master
2020-05-03 18:04:01 +02:00
gparant
fb255140e5
Add feature to mute or switch off cam
2020-05-03 17:19:42 +02:00
David Négrier
df5b183cba
Merge
2020-05-03 15:51:16 +02:00
David Négrier
c4f1aa1811
Removing comment
2020-05-03 15:31:20 +02:00
David Négrier
76b745ebea
Putting the name in GameManager rather than passing it from scene to scene.
2020-05-03 15:29:40 +02:00
David Négrier
5601e5e134
Adding login method back for future use in LogincScene
2020-05-03 15:18:15 +02:00
gparant
85ab0a231f
Fix style cam
2020-05-03 14:29:45 +02:00
gparant
0d6ce5e6e9
Merge branch 'master' into webrtc
...
# Conflicts:
# front/src/Phaser/Player/Player.ts
2020-05-02 20:51:49 +02:00
gparant
fdb40ec3e2
Fix webrtc multi
2020-05-02 20:46:02 +02:00
kharhamel
ad65de75fd
used the vent system to remove the dependency of Player on Connexion
2020-05-02 16:56:36 +02:00
gparant
aff77fe074
Merge remote-tracking branch 'github.com/master' into webrtc
...
# Conflicts:
# back/src/Model/Group.ts
# back/src/Model/World.ts
2020-05-02 00:36:04 +02:00
gparant
c7f8f92e85
Fix webrtc
2020-05-02 00:31:44 +02:00
David Négrier
d72741ce0c
Fixing linting
2020-05-01 23:48:30 +02:00
David Négrier
0c04d4305b
Displaying the name of a player above its head (names are not passed through the network yet)
2020-05-01 23:38:09 +02:00
David Négrier
42ddd8b858
Changed font from text
...
Input name can only be 4 characters long
Passing name to next scene
2020-05-01 23:19:51 +02:00
David Négrier
85f84517f6
Adding logo in the bottom right corner and placing help text in function of height
2020-05-01 22:23:41 +02:00
gparant
e06b20fe96
Update video style and start peer connexion
2020-05-01 21:15:00 +02:00
kharhamel
dd0744387f
reenabled diagonal movement
2020-04-30 19:36:28 +02:00
kharhamel
62d2498e34
remove the GameSceneInterface from LoginScene
2020-04-30 19:18:35 +02:00
gparant
dbf0bef149
Delete file
2020-04-29 17:55:55 +02:00
gparant
58df4118d1
Refactor
2020-04-29 17:49:40 +02:00
gparant
91851c95f3
Merge remote-tracking branch 'github.com/master' into webrtc
...
# Conflicts:
# front/src/Connexion.ts
# front/src/Phaser/Game/GameManager.ts
# front/src/Phaser/Game/GameScene.ts
# front/src/index.ts
2020-04-29 17:37:17 +02:00
gparant
2bfa57b0ba
Merge world and webrtc conexion
2020-04-29 01:40:32 +02:00
gparant
4e556782af
Fix integration login scene in game manager
2020-04-29 00:01:37 +02:00
gparant
8c935e8b27
Merge branch 'master' into webrtc
...
# Conflicts:
# front/src/Phaser/Game/GameManager.ts
2020-04-28 20:50:51 +02:00
David Négrier
edc1136401
Merge branch 'master' of github.com:thecodingmachine/workadventure into simplify
2020-04-27 22:39:46 +02:00
David Négrier
cdd18fd5ac
Merge pull request #59 from thecodingmachine/map-v0
...
Map v0: Resize chunksize from 16 to 32 pixels
2020-04-27 18:22:24 +02:00
David Négrier
0d6c4032d5
Playing with zoom levels
2020-04-27 18:12:36 +02:00
kharhamel
ee4a59578a
first step in simplification: remove the concept of room in the front end
2020-04-27 15:03:05 +02:00
gparant
ecdbf4269a
Merge branch 'master' into webrtc
2020-04-26 23:22:40 +02:00
gparant
3f975171c2
Fix import
2020-04-26 23:22:13 +02:00
gparant
b49c012319
Add button to enter un visio
2020-04-26 20:55:20 +02:00
gparant
707931724f
Start visio with user colision
...
When user enter in colision with other colision, webrtc start visio
2020-04-26 19:59:51 +02:00
gparant
d7d7be9ed0
Web visio, add and remove video element
2020-04-26 19:12:01 +02:00
kharhamel
25ac579a90
prettier login page
2020-04-26 18:48:41 +02:00
kharhamel
d691b58d0b
basic login page with a text input and a click button
2020-04-26 17:54:56 +02:00
gparant
e178712457
Fix send message webrtc
2020-04-26 17:43:21 +02:00
gparant
e4a30712b5
Update front mutli peer conncexion
2020-04-26 17:42:49 +02:00
gparant
575054fe4f
Fix multi video
2020-04-25 20:29:03 +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
David Négrier
33bcbd4650
Merge pull request #44 from thecodingmachine/map-v0
...
My first map representing TCM office grand floor without KEN office
2020-04-24 19:08:08 +02:00
gparant
a5b5072de1
Fix webrtc
2020-04-20 01:10:47 +02:00
gparant
89816a13e4
Fix video call
2020-04-19 22:30:42 +02:00
gparant
5b62ac39fb
Create webrtc connexion between two player
2020-04-19 19:32:38 +02:00
David Négrier
46fcb86b28
Computing movement amount from framerate
...
Depending on the amount of power a computer has, the framerate will not be the same.
Hence, the amount of movement of a user should be constant on each frame.
If a frame was slow to print, the movement should be higher to keep a constant speed.
This PR takes the framerate into account when moving the players.
2020-04-18 17:16:39 +02:00
David Négrier
db605d100e
Merge
2020-04-16 22:44:31 +02:00
David Négrier
9175682f32
Backporting master changes
2020-04-15 23:57:36 +02:00
David Négrier
2037147d18
First working version of the office map! Yay!
2020-04-15 23:31:39 +02:00
David Négrier
8ddd4656e6
Adding automatic loading of layers
2020-04-15 23:10:12 +02:00
David Négrier
5f118c2a4a
Removing all reference to 'Tiles' constant in code
2020-04-15 19:39:26 +02:00
David Négrier
1dd66b4998
Merging
2020-04-15 19:30:49 +02:00
David Négrier
482a344f45
Autoload tiles
...
This commit adds a listener in the preload function that will be triggered as soon as the map is loaded.
This function will load the resources from the map (tilesets) defined in the map.
That way, we don't have to define manually the list of tiles that have to be loaded (at the expense of a slight delay in loading since we must wait for the map to be loaded to start loading the tiles).
2020-04-15 19:23:06 +02:00
kharhamel
a2ed7164e4
implemented basic e2e testing
2020-04-14 20:04:55 +02:00
NIP
c42dbc3f95
Fix JS issue regarding multiple tilesets
2020-04-13 21:24:48 +02:00
NIP
84f0420694
Change GameScene to import new png, change map name and add missing png files
2020-04-13 20:34:19 +02:00
NIP
f00d10d56a
Change calque names into game scene TS file
2020-04-13 20:05:13 +02:00
kharhamel
1774594e76
deleted cameraManager, use camera follow code instead
2020-04-13 19:57:14 +02:00
kharhamel
33c58874e0
create an env variable for debug mode
2020-04-13 19:40:10 +02:00
gparant
d6653c61cc
Add comment talk when user have a collision & comment collision shwon
2020-04-13 16:56:06 +02:00
gparant
ba3f0e07f8
Refactor sizing hitbox charactere
2020-04-13 16:53:19 +02:00
gparant
b391ee271a
Fix move & stop player
2020-04-13 15:41:11 +02:00
gparant
ab70b28bb3
Fix, current player say
2020-04-13 15:35:38 +02:00
gparant
2afe6b4b6e
Fix feadback @Kharhamel
2020-04-13 15:34:09 +02:00
gparant
48fe86634f
Add feature to move bubble
2020-04-13 15:15:20 +02:00
gparant
01dbff7aee
Merge branch 'interaction' into kharhamel-interaction
...
# Conflicts:
# front/src/Phaser/Game/CameraManager.ts
# front/src/Phaser/Game/GameScene.ts
# front/src/Phaser/Game/MapManager.ts
# front/src/Phaser/Player/Player.ts
2020-04-13 13:42:21 +02:00
kharhamel
c51f5f4aa9
added som ebasic speech bubbles
2020-04-12 19:35:51 +02:00
kharhamel
05379c8001
the other playes now run away from the player on contact
2020-04-12 19:06:31 +02:00
kharhamel
97a55ab66c
fixed the player animations
2020-04-12 18:28:05 +02:00
kharhamel
d1106d757d
made the player pushable by other models
2020-04-12 17:13:33 +02:00
kharhamel
2b2b615e7b
added other players models and fixed collision with other entities
2020-04-12 17:08:28 +02:00
kharhamel
6e27377b07
rewrote the app code to more easily allow for collisions
2020-04-12 16:12:08 +02:00
gparant
bbc3935d60
Fix feedback @kharhamel
2020-04-12 13:57:00 +02:00
kharhamel
241cbd720a
added a rock
2020-04-11 18:17:36 +02:00
kharhamel
793e5318f7
created a class to centralize all user inputs catching and expose user events
2020-04-11 16:46:28 +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
gparant
9d83ba22d5
Fix play anim
2020-04-07 23:56:16 +02:00
gparant
25895e51f7
Fix and refactor with comments of @moumoug
2020-04-07 22:38:53 +02:00
gparant
77780bd27b
Change comment with new message strategy
2020-04-07 21:03:33 +02:00
gparant
67c3eaa7f4
Fix Message send to add direction
2020-04-07 21:02:23 +02:00
gparant
aba3322188
Fix CI
2020-04-07 20:46:30 +02:00
gparant
bac1e804ad
Refactor to include connexion
2020-04-07 20:41:35 +02:00
gparant
5d463d097a
Refactor Class
...
- Add MapManager permit to create map, camera and player.
- Add CameraManager permit to move and update camera.
- Add player Call extended of Phaser.GameObjects.Sprite. Permit to manager player data and moving in the map.
- Add Animation class permit to manage the player animations.
2020-04-07 19:23:21 +02:00
gparant
e52183830d
Camera following player.
...
- Add condition to follow the player.
- Add condition for the player never out map border.
2020-04-07 01:28:36 +02:00
gparant
ddc39d6e50
Fix to move the camera only in the map. The camera stops on the border map.
2020-04-06 22:55:09 +02:00
kharhamel
406b299f91
allow player movement with proper animation
2020-04-06 19:53:07 +02:00
David Négrier
cf7125301a
Merge branch 'master' of github.com:thecodingmachine/workadventure
2020-04-06 17:59:06 +02:00
kharhamel
d0c09ecd4f
added a way do speed up the camera movement
2020-04-06 16:59:14 +02:00
kharhamel
7146decb5b
added code to freely move the camera using the arrow keys or z,q,s,d
2020-04-06 16:52:18 +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
David Négrier
b10f8d9069
Loading first sprite
2020-04-05 16:20:53 +02:00
David Négrier
531899ea6b
Fixing missing closing parenthesis
2020-04-04 16:06:38 +02:00
David Négrier
9290dfd6c5
Automatically resizing game when window is resized
2020-04-03 18:41:06 +02:00
David Négrier
26b8412f3c
Initial commit
2020-04-03 14:56:21 +02:00