General information


Subject type: Mandatory

Coordinator: Adso Fernández Baena

Trimester: Third term

Credits: 4

Teaching staff: 

Samuel Jarque Abizanda

Teaching languages


Les classes de l'assignatura es faran principalment en català, tot i que la bibliografia i el material de suport podran ser en altres llengües (castellà i anglès).

Skills


Specific skills
  • E7. Develop video games in interpreted languages ​​to prototype gameplay, user experience and balance.

  • E9. Design and develop 2D animation short films.

General competencies
  • G3. Gather and interpret relevant data (usually within their area of ​​study) to make judgments that include reflection on relevant social, scientific, or ethical issues.

  • G5. Develop the learning skills needed to undertake further studies with a high degree of autonomy.

Transversal competences
  • T1. Communicate in a third language, preferably English, with an appropriate level of oral and written communication and in accordance with the needs of graduates.

  • T2. Work as a member of an interdisciplinary team either as an additional member or performing management tasks in order to contribute to developing projects with pragmatism and a sense of responsibility, making commitments and taking into account available resources.

Description


The new designer profile needs to acquire notions of programming, math, and physics to adapt to these new video game development requirements.

At the beginning of the subject of Programming II, students are already able to solve certain problems with the use of control structures and to store information in variables and data containers (taught in Fundamentals of Programming), and they also have clear concepts of encapsulation, polymorphism, and messaging between different objects in the object-oriented paradigm (taught in Programming I). The vehicular language between the programming subjects has been C # and not to defocus to the students, it must continue being it in the other programming subjects of the first year.

Programming II is students' first approach to programming applied to video games. While the goal of the degree is designers capable of programming mechanics and most likely to do so in video game engines such as Unity3D and UE4, learning should focus on forging a basis for solving design problems using algorithms. rather than learning a particular tool or engine.

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.

The Tecnocampus will make available to teachers and students the digital tools needed to carry out the course, as well as guides and recommendations that facilitate adaptation to the non-contact mode.

Learning outcomes


In general, this subject contributes to the following learning outcomes specified for the subject to which it belongs (Development):

  • E6.5. Incorporate the laws of physics and intelligent behavior effectively through specific libraries.

  • E6.6. Develop 2D and 3D video games (or parts thereof) in high-level languages ​​on platforms and engines designed for this purpose.

  • E6.2. Interpret the software analysis for further development.

Working methodology


The subject will use the following work methodologies:

Master class, case study, small group laboratories and question-based learning.

 

Contents


1. Programming paradigms

1.1. Structured programming

1.2. Object-oriented programming

2. Graphic programming

2.1.Concepts

2.1.1 2D rendering 

2.1.2 Game loop: draw and update

2.2. SFML library

2.2.1. Inputs: active polling and event handling

2.2.2. sprites

2.2.3. Sound and text 

3. Basic programming with motor 

3.1. Engine-game-actor structure

3.1.1. Components vs. Inheritance

3.2. actors

3.2.1. Movement: rotation, direction, speed and acceleration

3.2.2. LERP and Polar Motion

3.2.3. Animated Actors

3.3. HUD

4. Programming of tools and behaviors

4.1. Engine tools

4.1.1 Scene: actor management and lambda function

4.1.2. Timers and Spawners

4.1.3. Tilemaps

4.1.4. Viewports

4.2. Behaviors

4.2.1th FSM

4.2.2. Steering

4.2.3. Inner and outer radii

Learning activities


In order to gather evidence of the achievement of the expected learning outcomes, the following evaluative activities will be carried out:

A1. Exercises to do in class or at home (Evidence of learning outcome E6.2)

A2. Laboratory practice 1: Lists and actors (Evidence of learning outcome E6.6)

A3. Lab Practice 2: Animated Actors and Spawners using their own Component-based engine (Evidence of E6.6 and E6.5 learning outcome)

A4. Laboratory Practice 3: FSMs and Steerings using their own Component-based motor (Evidence of learning outcome E6.6)

A5. Final Exam (Evidence of all learning outcomes)  

 

General criteria of the activities:

  • The teacher will present a statement for each activity and the evaluation and / or rubric criteria.

  • The teacher will inform of the dates and format of the delivery of the activity.

Evaluation system


The grade of each student will be calculated following the following percentages:

 

A1. Exercises to do in class or at home: 14%

A2. Laboratory practice 1: Lists and actors: 12%

A3. Lab Practice 2: Animated Actors and Spawners: 12%

A4. Laboratory practice 3: FSMs and Steerings: 12%

A5. Final Exam: 50%  

 

Final grade = A1 0,14 + A2 0,12 + A3 0,12 + A4 0,12 + A5 0,5

 

Considerations:

  • It is necessary to obtain a grade equal to or higher than 5 in the final exam to be able to pass the subject.

  • An activity not delivered or delivered late and without justification (court summons or medical admission) counts as a 0.

  • It is the responsibility of the student to prevent plagiarism in all its forms. In the case of detecting plagiarism, regardless of its scope, in any activity it will correspond to having a grade of 0. In addition, the teacher will inform the head of studies of the situation so that applicable measures can be taken in the matter of sanctioning regime.

  • Attendance at laboratory practices is mandatory.

Recoveries:

  • The resit exam only recovers the final exam grade. The student with an NP in the final exam will not be able to take the resit exam.

REFERENCES


Basic

Moreira, A., Haller, J., & Hansson, HV (2013). SFML game development. Packt Publishing

Complementary

Buckland, M. (2005). Programming game AI by example. Jones & Bartlett Learning.