{"id":683,"date":"2015-04-20T13:59:10","date_gmt":"2015-04-20T13:59:10","guid":{"rendered":"http:\/\/www.dtic.upf.edu\/~jagenjo\/?page_id=683"},"modified":"2022-03-09T23:48:26","modified_gmt":"2022-03-09T23:48:26","slug":"entorns-com-virtual","status":"publish","type":"page","link":"https:\/\/tamats.com\/upf\/?page_id=683","title":{"rendered":"ECV"},"content":{"rendered":"<h2>Entorns de Comunicacio Virtual<\/h2>\n<p>En la asignatura miraremos de hacer uso de diferentes tecnologias estandard (html + JS) para conectar diferentes usuarios.<\/p>\n<h2>Material<\/h2>\n<ul style=\"font-size: 1.5em;\">\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1nIL7WxeEsrtN-JPlUWtVNjZKVCe3Xz6SLIaxI2okjxY\/edit?usp=sharing\">Whats a VCE?<\/a><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1j6CqGnWdBiWGyxFVLZBjIADFpv0aUj65zHpsri5bMHs\/edit#slide=id.p\">Introduction to HTML + CSS + JS<\/a><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1fEUe3UWgS-_NwaI6CkGHsIr_sld8u3_ybvVqm-tJSWg\/edit?usp=sharing\">Javascript<\/a><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1aWSQ6hiMk4gZe8w-UniaaGZfempCl9q489BnipHBOQw\/edit?usp=sharing\">Communications in JS<\/a><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/13p-deR4WsZg3XiFE4BLVIUeqEWLaELj4xTr8uAjcvJM\/edit?usp=sharing\">Asynchronous Javascript<\/a><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1JpsklDAlFmjdgzujyu7QgslX1Kp9Sv9hfhooYn5plws\/edit?usp=sharing\">Server-side in NodeJS<\/a><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1GUKa2Ch28kVPvVah5ObklfYjwqiDJNwE4L2je5tj7_A\/edit?usp=sharing\">Realtime in the web<\/a><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1K75ruV95tdfEgcgZItmiJCeMIEK2FDBEjjIxqK8ungo\/edit?usp=sharing\">Creating Virtual Spaces<\/a><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1Nx2NXeqYTNI4ZdaEmgy5aYSSCMpbcBnfDLQAqziap38\/edit?usp=sharing\">Synchronizing Worlds<\/a><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1-UDwnTRBBmIPhDQyF_NDLtkneyuKtcuIHWBUh6ahXjA\/edit?usp=sharing\">Model View Controller<\/a><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1nvUzB3Z79XBoTSyB1ZFNPX6_iK1r-GOdU90WxfjrjnU\/edit?usp=sharing\">3D on the Web<\/a><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1-2mcw4nyevxJcEqNDqQvzw6CtXk-AXt-X1SouhvTMQU\/edit?usp=sharing\">Databases<\/a><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/15fgNnedsg2I9nXw9Qx7Y5Ny_HeJdr__Je5eHCFWtho4\/edit?usp=sharing\">Keys for a goof VCE<\/a><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1e4fRA92ERvRNVmYmAjJBrHUWekkL6bsRxDkS9Spy4DA\/edit?usp=sharing\">Modern JS<\/a><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1OwsDMcKNLQ96svKUDAa-fH85Eos41e30Ucr8UM4gMus\/edit?usp=sharing\">Modern APIs<\/a><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1aQP3DxTGaG6-PdsuO_z-wEZ6LjhAJe4Zmn_QvHvHXwM\/edit?usp=sharing\">An Open Web<\/a><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1ZTLtguSAjvtwKi2kgFpsvrx3pYfBur5SHi3-4WoHOa8\/edit?usp=sharing\">The Future of the Web<\/a><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1Ff7Gs9hodcdMJSJLYWT5mABAcGhAtODn_wG_iR_6WdM\/edit?usp=sharing\">Publishing your project<\/a><\/li>\n<\/ul>\n<p>Previous Years<\/p>\n<ul style=\"font-size: 1.5em;\">\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1pvi5pTIXuvNb4vydG56fbuPYSyTutyyzru2o5n25b9A\/edit?usp=sharing\">Examples of VCEs<\/a><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1hpbruQC5dquZPFv9svKiv-311HOlTZOJPonQ-NUnCWs\/edit?usp=sharing\">Concepts: Tools for Creativity<\/a><\/li>\n<li><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1miThqBOTR6w4smpZUyeyXYGKAuHEUJdRHjeiembMYUY\/edit?usp=sharing\">Minimum Viable Product<\/a><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/13g7pw3ILdgiFm6DykI9f1HEok7coQikWDpBUeuz6h9E\/edit?usp=sharing\">Beyond Social Networks<\/a><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/15fgNnedsg2I9nXw9Qx7Y5Ny_HeJdr__Je5eHCFWtho4\/edit?usp=sharing\">Development Tips<\/a><\/li>\n<\/ul>\n<p>Recursos<\/p>\n<ul>\n<li><a href=\"?page_id=514\">Recursos sobre Javascript<\/a><\/li>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1pWsmikOtHqECNlHl1cmpK_OaVBP4NH2BmFtYH3vMmug\/edit?usp=sharing\">ThreeJS basics<\/a><\/li>\n<\/ul>\n<p>Server: <a href=\"http:\/\/ecv-etic.upf.edu\/\">ecv-etic.upf.edu<\/a> (or locally <a href=\"http:\/\/ecv-esup.s.upf.edu\/\">ecv-esup.s.upf.edu<\/a>)<\/p>\n<h2>Assigment I<\/h2>\n<p>To make a chat app that connects to the course server: &#8220;wss:\/\/tamats.com:55000&#8221; or &#8220;wss:\/\/<a href=\"http:\/\/ecv-etic.upf.edu\/\">ecv-etic.upf.edu\/node\/<\/a>9000\/ws&#8221; using the SillyClient from the library <a href=\"https:\/\/github.com\/jagenjo\/SillyServer.js\">SillyServer<\/a> so users can send messages between them.<\/p>\n<ul>\n<li>Material: <a href=\"https:\/\/docs.google.com\/presentation\/d\/1rqqRO7ZV5ioQaTBWCO4Lhp8ip2QzSkrIWwUKRAC0F9U\/edit?usp=sharing\">slides for the first assignment<\/a><\/li>\n<\/ul>\n<p>When working from the university, remember to install the <a href=\"https:\/\/www.upf.edu\/bibtic\/es\/informatica\/xarxes\/vpn\/\">VPN of the UPF<\/a> to be able to connect to the server.<\/p>\n<p>The due date to the assigment will be Januaty 24th. You must send me a ZIP containing all the code and a README.TXT file with all the useful info (Fullnames, NIAs, MAILS) and info that you think could be useful to me.<\/p>\n<p>Some features that you could add:<\/p>\n<ul>\n<li>Special commands to do actions (change room topic, change username, etc)<\/li>\n<li>Private messages between users (check sillyserver sendMessage parameters)<\/li>\n<li>To add some very basic text based game inside the chat (like a trivial)<\/li>\n<li>Allow to have avatars for every user<\/li>\n<li>To create a canvas and allow users to draw together<\/li>\n<\/ul>\n<h2>Assigment II<\/h2>\n<p>Improve the chat from the first assigment so there is a canvas on the website visible by all users, where there is some kind of virtual space representation where every user can be seen.<\/p>\n<ul>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1k0PEcuPLEb0XfYI-0xQCP2p37JnaBdtdfXExP9TnFBk\/edit?usp=sharing\">Slides of Assignment 2<\/a><\/li>\n<li><a href=\"uploads\/spritesheets.zip\">Spritesheets for characters<\/a>.<\/li>\n<\/ul>\n<p>The deadline is February 9th<\/p>\n<h2>Final Assigment<\/h2>\n<ul>\n<li><a href=\"https:\/\/docs.google.com\/presentation\/d\/1OM8MBtvClDoo4mLW8CzIn-dbIjAqjw4Ii4vVkK5wAuk\/edit?usp=sharing\">Slides for the Assignment 3<\/a><\/li>\n<\/ul>\n<p>Read the slides to know more about the objectives and to find the URL to the framework.<\/p>\n<p>The deadline is to be announced<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Entorns de Comunicacio Virtual En la asignatura miraremos de hacer uso de diferentes tecnologias estandard (html + JS) para conectar diferentes usuarios. Material Whats a VCE? Introduction to HTML + CSS + JS Javascript Communications in JS Asynchronous Javascript Server-side in NodeJS Realtime in the web Creating Virtual Spaces Synchronizing Worlds Model View Controller 3D [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=\/wp\/v2\/pages\/683"}],"collection":[{"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=683"}],"version-history":[{"count":30,"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=\/wp\/v2\/pages\/683\/revisions"}],"predecessor-version":[{"id":871,"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=\/wp\/v2\/pages\/683\/revisions\/871"}],"wp:attachment":[{"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=683"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}