{"id":192,"date":"2010-05-27T18:14:05","date_gmt":"2010-05-27T18:14:05","guid":{"rendered":"http:\/\/www.tecn.upf.edu\/~jagenjo\/?p=192"},"modified":"2019-07-22T12:55:00","modified_gmt":"2019-07-22T12:55:00","slug":"un-videojuego-como-pfc","status":"publish","type":"post","link":"https:\/\/tamats.com\/upf\/?p=192","title":{"rendered":"Un videojuego como TFG"},"content":{"rendered":"<p>Es habitual que cada curso conforme acaba el a\u00f1o, los alumnos que han cursado la asignatura de <strong>Taller de Jocs Electronics<\/strong> se planteen realizar como Trabajo de Final de Grado (TFG) un videojuego.<\/p>\n<p>Los que han tratado de programar un videojuego saben que no es una tarea sencilla, requiere de diferentes elementos interdisciplinares interconectados entre s\u00ed por una capa s\u00f3lida de ingenieria del software, y como tal puede tener cierto interes como TFG, pero se queda corto como trabajo de investigaci\u00f3n.<\/p>\n<p>Un TFG no trata sobre desarrollar una aplicaci\u00f3n, no hay que interpretarlo como &#8220;una pr\u00e1ctica pero m\u00e1s larga&#8221;. La idea es que el alumno ponga en pr\u00e1ctica su aprendizaje y vaya un paso m\u00e1s all\u00e1, investigue el estado del arte en un campo, analice los problemas que hay en \u00e9l y proponga una soluci\u00f3n ya sea original suya o combinando soluciones ya existentes de una manera diferente.<\/p>\n<p>Es por eso que suelo advertir a cuantos me piden &#8220;desarrollar un juego como TFG&#8221; de que <strong>un juego como tal no es un TFG ya que no tiene parte de investigaci\u00f3n<\/strong>, requiere de muchas horas pero si al final el resultado de dicho trabajo no resulta beneficioso para el resto de la comunidad entonces no tiene valor universitario.<\/p>\n<p>Entiendo que para el alumno le puede parecer m\u00e1s interesante un videojuego ya que aprende algo en profundidad dentro de un campo que le atrae m\u00e1s, pero para eso ya existen multitud de libros, tutoriales de la red y masters especializados.<\/p>\n<p>Solo tendr\u00eda cabida un TFG sobre videojuegos como tal si la propuesta del usuario tratase sobre aplicar videojuegos a otros campos (como la docencia, o las noticias), o si propone una nueva manera de enfocar el desarrollo de videojuegos, desde una perspectiva t\u00e9cnica, o sobre c\u00f3mo agilizar los procesos de desarrollo de juegos. Pero no suele ser nunca el caso. Los habitual es que el alumno pretenda que baste con hacer un videojuego utilizando tecnicas que existen desde hace decadas.<\/p>\n<p>Sin embargo, el mundo de los videojuegos por su caracter interdisciplinar toca decenas de campos donde s\u00ed que se puede innovar, como <strong>gr\u00e1ficos, inteligencia artificial, f\u00edsica, red, generaci\u00f3n de contenidos procedurales, animaci\u00f3n, interacci\u00f3n hombre-maquina, computer vision, realidad aumentada, etc<\/strong>. Campos donde poder aplicar conceptos m\u00e1s relacionados con la ingenieria del software y la ciencia computacional.<\/p>\n<p>Es por eso que si el alumno quiere profundizar en alguno de esos campos puede remitirse al departamento de la universidad tem\u00e1ticamente m\u00e1s cercano a su propuesta y trabajar en un proyecto que se sustente sobre un juego pero sin que el juego sea el TFG en s\u00ed (p.e. programar la IA de los enemigos usando redes neuronales, una capa de red que soporte cientos de usuarios&#8230;).<\/p>\n<p>Sin embargo, si el alumno tiene un interes especial por el mundo de los gr\u00e1ficos 3D (campo en el que yo trabajo) aqu\u00ed hay una lista ilustrativa de temas relacionados con gr\u00e1ficos que pueden servir como punto de partida para un TFG:<\/p>\n<ul>\n<li><strong>iluminaci\u00f3n <\/strong>(<a href=\"https:\/\/en.wikipedia.org\/wiki\/Physically_based_rendering\">Physically Based Rendering<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Shadow_mapping\">sombras<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Global_illumination\" target=\"_blank\">global illumination<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Deferred_shading\">deferred shading<\/a>, refracci\u00f3n, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Subsurface_scattering\">subsurface scatering<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Image-based_lighting\">image-based lighting<\/a>)<\/li>\n<li><strong>animaci\u00f3n: <\/strong>(animacion esqueletal, emociones faciales con <a href=\"http:\/\/en.wikipedia.org\/wiki\/Morph_target_animation\">morphtargets<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Procedural_animation\">animaci\u00f3n procedural<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Inverse_kinematics\">inverse kinematics<\/a>)<\/li>\n<li><strong>postprocesado <\/strong>(<a href=\"http:\/\/freespace.virgin.net\/hugo.elias\/graphics\/x_motion.htm\">motion blur<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Depth_of_field\">depth of field<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Screen_Space_Ambient_Occlusion\">ssao<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/High_dynamic_range_rendering\">hdr<\/a>)<\/li>\n<li><strong>render de materiales complejos<\/strong> (<a href=\"http:\/\/www.youtube.com\/watch?v=ok8ThRR-59Q\">fluidos<\/a>, <a href=\"http:\/\/www.youtube.com\/watch?v=fmexa7C3DUI\">humo<\/a>, <a href=\"http:\/\/www.markmark.net\/clouds\/\">nubes<\/a>, <a href=\"http:\/\/developer.nvidia.com\/object\/siggraph-2008-hair.html\">pelo<\/a>,  <a href=\"http:\/\/en.wikipedia.org\/wiki\/Volume_rendering\">datos  volumetricos<\/a>)<\/li>\n<li><strong>generaci\u00f3n procedural <\/strong>(<a href=\"http:\/\/en.wikipedia.org\/wiki\/Procedural_generation\">generaci\u00f3n de meshes<\/a>, ensamblado inteligente de meshes).<\/li>\n<li><strong>optimizaci\u00f3n <\/strong>(impostors, oclusiones, <a href=\"http:\/\/www.youtube.com\/watch?v=bkKtY2G3FbU\">teselaci\u00f3n en tiempo real<\/a>, carga dinamica y LoD).<\/li>\n<li><strong>inmersi\u00f3n <\/strong>(estereograf\u00eda, tracking de cabeza y ojos, manipulaci\u00f3n de entornos 3D).<\/li>\n<li><strong>nuevas plataformas<\/strong> (navegadores, webgl, dispositivos moviles, tablets).<\/li>\n<\/ul>\n<p>Y otros tantos que pueden salir de la combinacion de algunos de los anteriores.<\/p>\n<p>Si se quiere sacar ideas lo mejor es leer alguno de los libros sobre graficos disponibles en la red, como los <a href=\"http:\/\/developer.nvidia.com\/object\/gpu-gems-3.html\">GPU Gems<\/a>,<a href=\"http:\/\/tog.acm.org\/resources\/shaderx\/\">ShaderX<\/a>, o echarle un vistazo a los papers presentados en los Siggraphs de cada a\u00f1o (<a href=\"http:\/\/kesen.realtimerendering.com\/sig2011.html\">2011<\/a>, <a href=\"http:\/\/kesen.realtimerendering.com\/sig2010.html\">2010<\/a>, <a href=\"http:\/\/kesen.realtimerendering.com\/sig2009.html\">2009<\/a>, <a href=\"http:\/\/kesen.realtimerendering.com\/sig2008.html\">2008<\/a>).<\/p>\n<p>Dicho esto, estoy siempre abierto a sugerencias, siempre y cuando la propuesta incluya conceptos novedosos no solo para el alumno sino tambien para la comunidad en general.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Es habitual que cada curso conforme acaba el a\u00f1o, los alumnos que han cursado la asignatura de Taller de Jocs Electronics se planteen realizar como Trabajo de Final de Grado (TFG) un videojuego. Los que han tratado de programar un videojuego saben que no es una tarea sencilla, requiere de diferentes elementos interdisciplinares interconectados entre [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=\/wp\/v2\/posts\/192"}],"collection":[{"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=\/wp\/v2\/types\/post"}],"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=192"}],"version-history":[{"count":2,"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=\/wp\/v2\/posts\/192\/revisions"}],"predecessor-version":[{"id":725,"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=\/wp\/v2\/posts\/192\/revisions\/725"}],"wp:attachment":[{"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=192"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=192"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=192"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}