22/02/2022
Na disciplina Jogos e Interação, os alunos de Ciência da Computação do Insper vão propor, desenvolver e publicar games
Leandro Steiw
A indústria brasileira de games faturou 2,3 bilhões de dólares em 2021, uma parcela modesta dos 176 bilhões de dólares que os jogos eletrônicos movimentam em todo o mundo. Mesmo assim, é um mercado que cresce mais de 10% ao ano e que sempre abre vagas para os profissionais de computação. No novo curso de Ciência da Computação do Insper, os alunos vão aprender a desenvolver games na disciplina Jogos e Interação, do quinto semestre, ministrada pelo professor Luciano Pereira Soares.
Doutor pela Escola Politécnica da Universidade de São Paulo, com pós-doutorado em Portugal e na França, Soares participou ativamente da criação e implantação dos cursos de Engenharia do Insper. Atualmente, suas pesquisas focam em realidade virtual, tema ao qual foi apresentado na graduação em Engenharia de Computação pela Universidade Federal de São Carlos. A tecnologia ainda era incipiente, os equipamentos custavam caro e a interação entre dispositivos tomava bastante da paciência dos pesquisadores.
Nostalgia à parte, desde aquela década de 1990, a realidade virtual está intrinsecamente associada ao horizonte de possibilidades dos games. Antes, porém, é preciso aprender o básico. Excelentes ideias podem ser aplicadas em jogos, inclusive nos jogos 2D. “A nossa preocupação é com a questão de design, a experiência de usuário, o desempenho, o tempo de resposta, entre outras coisas. E, acima de tudo, criatividade”, diz Soares.
Como será a disciplina Jogos e Interação?
Vamos seguir a experiência das turmas de Engenharia de Computação. A disciplina é superorientada a projetos. Teremos seis ou sete projetos, que serão ajustados durante o semestre. O primeiro é um projetinho muito simples. Seguindo o tutorial, o aluno faz o básico e depois vai acrescentando suas próprias ideias ao jogo. No segundo, já se passa um tutorial mais sequinho. Depois, serão microjogos, similares a WarioWare e Dumb Ways to Die. Cada estudante faz um joguinho, daqueles que duram segundos, e depois juntamos todos, então fica um jogo mais elaborado e divertido. Os seguintes são um projeto livre 2D, um projeto 3D e um projeto final livre. Para a avaliação, “gameficamos” a disciplina, então os alunos vão ganhando pontos de experiência durante a realização dos projetos. A disciplina também tem muitos quizzes, que não valem nota, mas simulam uma competição e dão uma mexida no ânimo deles.
Os projetos, em geral, são muito bons. No site da disciplina, você consegue verificar os trabalhos dos semestres passados, baixar para o seu computador e rodar. Alguns são simples, como se espera, mas outros são bem impressionantes. A disciplina para o novo curso deve manter uma proposta pedagógica similar, puxando pontos mais peculiares da Ciência da Computação. Na Engenharia, adotamos a plataforma Unity, uma ferramenta com uma curva de aprendizado relativamente curta, então é possível fazer jogos e sistemas interativos interessantes bem rapidamente e manter todos os formalismos e processos do desenvolvimento de jogos profissionais.
Qual é o perfil dos alunos?
O público da disciplina de Jogos é curioso. Eu tenho um número mágico aqui, não é muito preciso, mas uso para planejar e conduzir as aulas. Um terço dos alunos chega superempolgado para essa disciplina; um terço é na linha “tudo bem, vamos lá”; e um terço não gosta de jogos. Temos que tomar cuidado para tentar agradar a todo esse público. Para os empolgados, podemos dar mais desafios que eles pegam e vão longe. Para os que não são tão empolgados, justificamos a disciplina com questões de usabilidade, user experience. Falo que é uma disciplina que usa muito design, então o que se faz para jogos vale para vários tipos de interfaces que eles poderão desenvolver. Então, falamos de programação.
Acho que é uma das poucas disciplinas, provavelmente a única, na qual ensinamos C#, que é uma linguagem um pouco diferente. No curso de Engenharia, vemos várias linguagens de programação, e aqui puxamos o C#, que é importante eles saberem, pois o mercado de forma geral gosta de pessoas que conhecem essa linguagem e é muito comum ver ela em pré-requisitos para vagas de emprego das mais diversas áreas.
Você falou em três tipos de alunos. Todos chegam com conhecimentos básicos? O que é necessário saber para cursar Jogos e Interação?
No Insper, não temos pré-requisitos, mas a disciplina já foi colocada lá na frente do currículo com a ideia de os alunos estarem mais preparados. Para desenvolver bons jogos você precisa programar bem. É um curso de jogos para engenheiro de computação, não é um curso de jogos genérico. Por exemplo, algo de produção de conteúdo mais artístico, vamos modelar um bonequinho… essa parte mais artística, fazemos por demanda. O curso é projetado assim: nos primeiros dois terços, é mais orientado, cobrindo todos os objetivos de aprendizado planejados; e, no último terço, entramos com os projetos mais livres, não há conteúdos novos específicos planejados. Mas, às vezes, o aluno gostaria de saber como se modela tal objeto, queria ver a integração machine learning no jogo. Então, fazemos uma aula sobre isso. O último terço do curso é superflexível.
Um graduando que chega aos últimos semestres de Engenharia e Ciência da Computação tem que saber programar relativamente bem. Não há muitos pré-requisitos além desse. É preciso criatividade. Para a ferramenta Unity, existem os tutoriais e muita documentação na internet. E, claro, damos todo o apoio porque volta e meia alguém trava. Nesta disciplina, temos dois técnicos de laboratório, o Pedro Emil Freme e o Willian Rodrigues, que ajudam no atendimento aos alunos. E os projetos saem bacanas mesmo.
Eles saem com o game pronto para jogar, ou é mais como experiência mesmo?
Tem que sair com vários jogos montados. Cada um desses projetos, espero que seja um jogo completo, não é para fazer pedacinhos. Em microjogos, eles fazem um pedaço de um jogo mais amplo, do qual dou o esqueleto para eles. Depois que todo mundo entregou, a gente integra, faz virar um jogão. Os demais, eles têm que entregar o jogo numa plataforma chamada itch.io, um site de projetos de jogos indies que funciona de duas formas: você ganha doações ou cobra pelo game.
Tivemos um projeto de dois alunos do Insper que fez sucesso, ganhou um dinheiro bom com doações, ficou em destaque na home page do itch.io entre projetos do mundo inteiro. É um projeto diferente, que brinca um pouco com a nossa noção de perspectiva. Todos os estudantes entregam no itch.io. Foi algo que colocamos na disciplina há algum tempo e funciona superbem, para eles entenderem como é o processo de publicar um jogo, e assim por diante. Não estou esperando que alguém ganhe muito dinheiro com isso. Não é o objetivo da disciplina. Mas permite a experiência de publicar os próprios jogos para usuários do mundo.
Poderia nos falar da sua experiência profissional?
Eu não sou na verdade um cara de jogos. Minha experiência é em realidade virtual, essa é a minha área de atuação, de pesquisa. Vamos ter a disciplina de RV, mas como eletiva. É curioso, porque o meu primeiro projeto, quando fazia a graduação e ganhei uma bolsa, foi desenvolver um jogo. Isso na década de 1990. Fui mais numa vertente de realidade virtual. Só que esses assuntos sempre foram meio misturados, e hoje mais do que nunca. Por exemplo, quando eu era professor na PUC do Rio, tínhamos projetos com a Petrobras. Um dos últimos projetos foi um sistema de treinamento para plataformas de petróleo em realidade virtual, que era um jogo basicamente, com vários desafios. A minha experiência em games veio muito da realidade virtual.
Tudo é muito misturado. Não existe onde acaba game e onde começa realidade virtual. Hoje, usamos game engines, tipo Unity. No meu doutorado, não havia essas plataformas, ou não eram acessíveis. Então, desenvolvi uma graphic engine do zero, focada em RV, mas usávamos para jogos também. Agora, está muito mais fácil, temos ferramentas muito boas. Os capacetes de RV são fáceis de integrar. Naquela época, era um inferno integrar essas coisas, a qualidade era bem questionável. Enfim, tudo evoluiu muito.
Mas você era gamer antes da faculdade?
Eu sempre joguei… agora, quase nada. De vez em quando, os alunos me puxam um jogo, lançado há alguns meses, e os técnicos no laboratório é que salvam a minha pele, porque eles estão antenados nisso. Não tenho mais tempo para ficar acompanhando tanto esses jogos que lançam. Conheço os de mais destaque; os outros, médios, nem tanto. Mas, sim, sou o cara do Atari. Tem certa idade aí. Aprendi muito com isso.
Um problema nos cursos de jogos, e estamos tentando evitar isso, é sermos muito nostálgicos. Ficamos lembrando coisas passadas. Vamos fazer coisas modernas, não ficar falando só de história. Às vezes, esses jogos antigos são mais viáveis de aprender. Como é que vou fazer de início um God of War? Não dá, é muito complexo. Então, pegamos exemplos mais antigos. Para falar um pouquinho de inteligência artificial, usei um exemplo do Pac-Man, um pouco bobinho, mas fácil de entender. Space Invaders é outro. Muito simples, com uma interface bem limitada, fácil de se criar coisas. Usamos experiências desses jogos mais antigos para começar. Depois, os alunos vão evoluindo.
O objetivo é desenvolver jogos legais, e em 2D dá para fazer jogos muito bacanas. Temos um projeto obrigatório em 3D, mas o foco do curso mesmo está no 2D. E o último projeto é livre. Normalmente, os alunos menos empolgados fazem em 2D, porque é mais simples e se obtêm resultados bons, e os mais empolgados fazem em 3D.
Até porque alguns jogos 2D são mais interessantes do que um 3D.
Sem dúvida. Como há um custo menor no 2D, consegue-se, às vezes, aplicar recursos mais criativos, um design mais bem-acabado, mais cuidadoso. O custo para fazer um jogo em 3D é muito maior. Precisa-se de muito mais horas, muito mais dedicação, muito mais refinamento. Então, é complicado. Um bom jogo 2D consome menos tempo. Você presta mais a atenção nos detalhes. Por isso que estamos focando neles. A nossa preocupação é com a questão de design, a experiência de usuário, o desempenho, o tempo de resposta, entre outras coisas. E, acima de tudo, criatividade.
O aluno pode dirigir o Projeto Final de Engenharia (PFE) para a área de games?
Pode, quando há a oportunidade. No PFE, também colocamos ofertas de projetos em games. O desejo pelos jogos existe, mas o universo de alunos está preocupado com mercado de trabalho. Às vezes, eles se direcionam para o segmento que está mais aquecido. Hoje, jogos têm demanda, óbvio que tem trabalho, mas não dá para comparar, por exemplo, com o mercado de data engineering. E as empresas de jogos não são tão famosas. Então, existe um dilema para resolver. Mas alguns se interessam pela área, sim. E continuam. Um estudante de semestre anterior foi para uma empresa mais voltada à realidade virtual e, agora, está na Wildlife (companhia brasileira que desenvolve jogos mobile). Atualmente, pelo PFE, outro aluno está na NTT, antiga Everis, desenvolvendo aplicações em realidade virtual e jogos. Os alunos que se formam no Insper conseguem trabalhar perfeitamente na indústria de games.