What are you looking for?
B3_Students have the ability to gather and interpret relevant data (usually within their area of study), to make judgments that include reflection on relevant social, scientific or ethical issues
B4_That students can convey information, ideas, problems and solutions to both specialized and non-specialized audiences
V6. Develop video games in high-level programming languages in graphics engines based on specifications.
V15. Design and plan quality assurance strategies, test and data analysis of video games and interactive products.
T1_That students know a third language, which will be preferably English, with an adequate level of oral and written form, according to the needs of the graduates in each degree
T2_That students have the ability to work as members of an interdisciplinary team either as one more member, or performing management tasks in order to contribute to developing projects with pragmatism and a sense of responsibility, making commitments taking into account the available resources
The subject introduces the student to the programming of 2D games. The main tool used is Unity, although the course focuses more on the key concepts of game development and not on the specific tool used to implement the examples and practices.
During the development of 3 independent projects the main concepts are theoretically introduced in the first classes with small examples that students can experience. Once the concepts have been explained, the students carry out their project, with the support of the teacher at all times during the classes. The games must be delivered on time and in the proper form.
The exam consists of implementing in a practical and eoric way concepts presented in class.
This subject has methodological and digital resources to make possible its continuity in non-contact mode in the case of being necessary for reasons related to the Covid-19. In this way, the achievement of the same knowledge and skills that are specified in this teaching plan will be ensured.
At the end of the course students must be able to:
E6.1. Design the software architecture of a video game according to specifications.
E6.6. Develop 2D and 3D video games (or parts thereof) in high-level languages on platforms and engines designed for this purpose.
The subject uses the following work methodologies:
Master class, Video capsules, Problem solving and Small group laboratory.
Topic 1: Character Controller
1.1 Pattern Command
1.2 Character Movement
1.3 Controller Assignment
Topic 2: Physics & HUD
2. 1 Observe pattern
2. 2 Joints
2. 3 Events
Theme 3: Camera
3. 1 Camera Follow
3, 2 Camera Shake
3 Smoothing
3. 4 Game Loop
3. 5 Coroutines
Topic 4: SOLID Principles
Topic 5: Physics for dynamic platformer environments
5. 1 Jumping
5. 2 Wall Bouncing
Topic 6: IK
6. 1 Descent Gradient
6. 2 IK Logic
Topic 7: Combat and Enemies
7. 1 Finite State Machines
7. 2 Enemy movement & Health
7. 3 AI
7. 3. 1 Patrolling on platforms
7. 3. 3 Edge detection
7. 3. 4 Player detection
7. 3. 5 Behavioral trees
Topic 8 Spawning & Procedural Generation
9. 1 Prototype Pattern
9. 2 Factory Pattern
9. 3 Pooling
9. 4 World Generation
Topic 9: GUI & Dialogue System
8. 2 Juicy UI animations
8. 3 GUI Architecture
8. 4 Custom Event system
8 Dialog System
8. 6. 1 External data sheets
8. 6. 2 Location
8. 6. 3 Dialogue trees
With the aim of collecting evidence of the achievement of the expected learning outcomes, the following activities of an evaluative nature will be carried out (related to all the common competences):
The practices try to develop a 2D platform game in which the students will have to implement a solution to the problems that this type of games poses and that are explained in class. Teachers will make clear the features that the game must have and what elements it must have. Students will be able to decide how to implement them and propose different strategies (mechanics, types of enemies, traps ...) where their ability as programmers is demonstrated.
A1. Laboratory practice: 2D Video Game Project - Game 1 (Evidence of learning outcome E6.1 and E6.6)
Physics + Player Control + Camera
A2. Laboratory practice: 2D Video Game Project - Game 2 (Evidence of learning outcome E6.1 and E6.6)
Platformer Physics + AI Enemies + Dialog System
A3. Laboratory practice: 2D Video Game Project - Game 3 (Evidence of learning outcome E6.1 and E6.6)
Procedural generation
A4. Final practical and theoretical exam (Evidence of all learning outcomes)
General criteria of the activities:
The grade of each student will be calculated following the following percentages:
A1. Laboratory practice: 2D Video Game Project - Game 1 15%
A2. Laboratory practice: 2D Video Game Project - Game 2 15%
A3. Laboratory practice: 2D Video Game Project - Game 3 15%
A4. Final practical and theoretical exam 55%
Final grade = A1 0.15 + A2 0.15 + A3 0.15 + A4 0.55
Considerations:
The maximum grade that can be obtained in the extraordinary call will be 5.
An activity not delivered or delivered late and without justification (court summons or medical matter) counts as a 0.
http://gameprogrammingpatterns.com/
https://www.habrador.com/tutorials/programming-patterns/
Learning C # Programming with Unity 3D. Alex Okita.
Web tutorial for games creation tools with the Unity engine (http://unity3d.com/es/learn)
https://unity3d.college/
Gamma, E., Helm, R., Johnson, R. and Vlissides, J.
Design patterns: Elements of reusable object-oriented software
1995 - Addison-Wesley - Reading, Mass.