General information


Subject type: Mandatory

Coordinator: Juan José Pons López

Trimester: Third term

Credits: 4

Teaching staff: 

Manuel Rello Saltor

Teaching languages


  • Spanish
  • Catalan

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
  • G2. Solve complex problems in their field of work, by applying their knowledge, developing arguments and procedures, and using creative and innovative ideas.

  • 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.

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 the students' first approach to programming applied to video games. While the degree is aimed at designers capable of programming mechanics and most likely doing so in game engines such as Unity3D and Unreal Engine, learning should focus on forging a foundation of solving design problems using algorithms rather than learning a specific tool or engine.

 

Contents


1. Advanced data structures

1.1 Dynamic lists

1.2 Dictionaries

1.3 Queues and stacks

1.4 Ordered lists

2. Advanced programming

2.1. Structured programming

2.2. Object-oriented programming

2.3 Lambda functions

2.4 Generic programming

3. Graphic programming

3.1.Concepts

3.1.1 2D rendering 

3.1.2 Game loop: draw and update

3.2. SFML library

3.2.1. Inputs: active polling and event handling

3.2.2. sprites

3.2.3. Sound and text 

4. Basic programming with motor 

4.1. Engine-game-actor structure

4.2. actors

4.2.1. Movement: rotation, direction, speed and acceleration

4.2.2. Interpolations

4.3. HUD

5. Programming of tools and behaviors

5.1. Engine tools

5.1.1 Scene: actor management

5.1.2. Timers and Spawners

5.1.3. Tilemaps

5.1.4. Viewports and Views

5.1.5 Sources

5.2. Behaviors

5.2.1. collisions

5.2.2. Steering

5.2.3th FSM

Evaluation system


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

 

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

P1. Laboratory practice 1: 15%

P2. Laboratory practice 2: 15%

EP. Partial Exam (optional): 10%

EF. Final Exam: 50% (or 60% if the partial exam is not submitted)

 

Final grade = A1 0,10 + P1 0,15 + P2 0,15 + EP 0,1 + EF 0,5

In case the student does not present the partial exam, the calculation of the grade will be:

Final grade = A1 0,10 + P1 0,15 + P2 0,15 + EF 0,6

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 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.

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.

  • If the subject is passed thanks to the make-up exam, the maximum grade will be 5. 

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.