Contacto WhatsApp 961135355

Universidade Lusófona do Porto

Linguagens de Programação II

Curso

Videojogos e Aplicações Multimédia (ULP)

Grau|Semestres|ECTS

Licenciatura | Semestral | 6

Ano | Tipo de unidade curricular | Lingua

2 |Obrigatório |Português

Total de horas de Trabalho | Tempo de Contacto (horas)

150 | 60

Código

ULP2533-898

Disciplinas complementares recomendadas

Não aplicável

Modalidade de Ensino

Face-a-face

Precedências

Não

Estágio profissional

Não

Conteúdos Programáticos

Apresentação de Unity3D e Visual Studio como ambientes de desenvolvimento;
C# como linguagem de scripting;
Eventos da classe MonoBehaviour (ex: Start/Awake, Update e FixedUpdate);
Ordem de execução de eventos em scripts de Unity;
Conceitos base de Algoritmia e de Design Patterns;
Threads e Coroutines;
Criação de Components;
Elementos de Graphical User Intefaces;
Raycasting e Física;
Dispositivos de Entrada (Teclados, Gamepads, Rato, Camera);
Inspectors e CustomInspectors;
Técnicas de Debugging e Gestão de Memória;
Implementação de mecânicas de jogo simples em C#;

Objetivos

Esta unidade curricular extende os conhecimentos previamente obtidos na área da programação para o desenvolvimento de comportamentos específicos, componentes ou conteúdos com base na linguagem C#.
No final desta unidade curricular o estudante deverá ser capaz de implementar scripts em Unity com base na linguagem C#, permitindo-lhe implementar funcionalidades e mecânicas de jogo simples.

Conhecimentos, capacidades e competências a adquirir

O estudante deverá conhecer os eventos pré-definidos numa aplicação baseada em Unity, e deverá decidir a quais deve recorrer para implementar as funcionalidades desejadas.
O estudante deverá também dominar os métodos de programação assincrona e paralela com threads e corotinas, assim como conhecer as suas vantagens e limitações.
Deverá também ser capaz de implementar novos componentes e expor algumas variáveis na janela de inspector, dando uso às funcionalidades já disponibilizadas pelo motor ou criando os seus próprios inspectors específicos e personalizados.
Adicionalmente, alguns conceitos especificos de programação recorrendo a uma linguagem orientada a objectos (neste caso C#) também deverão ser assimilados (ex.: Herança, Polimorfismo).

Metodologias de ensino e avaliação

Esta disciplina tem por base uma avaliação contínua com exame final. Momentos de avaliação formativas poderão ser desenvolvidas no início e decorrer da disciplina, conforme necessário.
Como unidade curricular com componente teórica e prática, a avaliação compreende duas componentes que complementam a avaliação contínua. A componente teórica é avaliada por meio de um exame (AE) no final do semestre, em que os alunos deverão demonstrar os conhecimentos teóricos respondendo a algumas perguntas, identificando técnicas e estratégias adequadas para resolver certos problemas e desenvolvendo scripts mais simples.
Para a componente prática é pedido aos estudantes um projecto de Unity (TP), fazendo uso da linguagem C#, que demonstra os conhecimentos e a adaptação às condições exigidas pelos projectos da indústria dos videojogos.
Assim, a nota final é dada por:
NF = 50% TP + 50% AE
De notar que ambas as componentes têm uma nota mínima de 8 valores. A melhoria de nota pode ser feita apenas através

Bibliografia principal

Unity in Action, Second Edition: Multiplatform game development in C# by Joe Hocking
ISBN-10: 1617294969