General information


Subject type: Mandatory

Coordinator: Adso Fernández Baena

Trimester: Second term

Credits: 4

Teaching staff: 

Lasse Loepfe

Teaching languages


The materials can be provided in Catalan as well as in Spanish or English. 

Skills


Specific skills
  • E6. Develop video games in high-level programming languages ​​in graphics engines based on specifications.

Description


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.

Learning outcomes


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.

Working methodology


The subject uses the following work methodologies:

Master class, Video capsules, Problem solving and Small group laboratory.

 

Contents


Topic 1: Introduction and physics of the player

1.1 Character Movement

1.2 Jump physics

      1.2.1 Vertical jumps

      1.2.2 Horizontal jumps

1.3 Modification of gravity

 

Topic 2: Artificial Intelligence

2. 1 Player detection

     2.1.1 Distance

     2.1.2 Field of view

     2.1.3 Obstacles

2 Patrolling

   2.2.1 Waypoints

   2.2.2 Detection of platforms

   2.2.3 Pathfinding


 

Topic 3: UI & Scriptable Objects

3.1 IU

3. 2 Dialogue system

    3.2.1 Dialogue without interaction

    3.2.2 Dialog Options

    3.2.3 Outcome of the dialogue

3.3 Inventories

     3.3.1 Adding objects to inventory

     3.3.2 Using inventory items

3.4 Shop

 

Topic 4 Spawning & Procedural Generation

4.1 Generation of maps

               4.1.1 Grid-based dungeons

               4.1.2 Cellular automata

               4.1.3 Random Room placement

               4.1.4 BSP Tree

4.2 Perlin noise

4.3 Object Pooling


Topic 5 Command Pattern

5.1 Store Actions

5.2 Entities

5.3 Undo / Redo

Learning activities


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)

Player control + Physics

A2. Laboratory practice: 2D Video Game Project - Game 2 (Evidence of learning outcome E6.1 and E6.6)

AI Enemies

A3. Laboratory practice: 2D Video Game Project - Game 3 (Evidence of learning outcome E6.1 and E6.6)

UI - Shop

A4. Laboratory practice: 2D Video Game Project - Game 4 (Evidence of learning outcome E6.1 and E6.6)

Generation procedure

A5. Laboratory practice: 2D Video Game Project - Game 5 (Evidence of learning outcome E6.1 and E6.6)

Command Pattern

A6. Final practical and theoretical 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. Laboratory practice: 2D Video Game Project - Game 1 10%

A2. Laboratory practice: 2D Video Game Project - Game 2 10%

A3. Laboratory practice: 2D Video Game Project - Game 3 10%

A4. Laboratory practice: 2D Video Game Project - Game 3 10%

A5. Laboratory practice: 2D Video Game Project - Game 3 10%

A6. Final practical and theoretical exam 50%

 

 

Considerations:

  • You must obtain a grade higher than 5 in the final exam to pass the subject.
  • You must obtain a grade higher than 5 a in the average of the practices to approve the asignatura.
  • 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.

  • It is the responsibility of the student to prevent plagiarism in all its forms. In the case of detecting a plagiarism, regardless of its scope, in some activity it will correspond to have a note of 0. In addition, the professor will communicate to the Head of Studies the situation so that measures applicable in matter of sanctioning regime are taken. .

REFERENCES


Basic

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)

Complementary

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.