SPI1004 Game programming

    • Course code
      SPI1004
    • Number of credits
      15
    • Teaching semester
      2027 Spring
    • Language of instruction and examination
      English
    • Campus
      Hamar
    • Required prerequisite knowledge

      Recommended prerequisite knowledge: SPI1002 Introduction to Game, SPI1003 Fundamental Game Design for programmers

Course content
  • Pointers (smart and shared pointers), memory allocation and control
  • Delegates, interfaces, templates
  • Engine colliders, timers, conditions, controls
  • Version control, asset import

Learning outcome

A candidate who has completed the course has the following learning outcomes:

Knowledge

The candidate

  • understand core principles of engine programming, including colliders, timers, and conditional systems
  • can demonstrate understanding of memory management concepts, including static/dynamic memory and smart pointers (unique, shared)
  • can integrate assets into a project and make use of version control tools
Skills

The candidate

  • can apply smart pointers and memory management strategies to ensure safe and efficient resource handling
  • can implement delegates, interfaces, and templates to create modular and extensible engine code
  • can design and integrate basic engine systems such as colliders for physics detection, timers for scheduling, and condition checks for logic flow
  • can use version control tools for branching, merging, and collaborative workflows
  • can import, organize, and manage game assets within an engine environment
General competence

The candidate

  • can work independently and collaboratively on engine development tasks using professional coding and collaboration practices
  • can critically evaluate coding approaches in terms of efficiency, maintainability, and scalability
  • can communicate technical solutions clearly, both orally and in writing, to peers and non-specialists
Working and teaching methods

The course is organised as a combination of lectures, workshops, practical exercises, group work, self-study and supervision.

 

Supervision will be conducted both at an individual level and in groups or project teams.

Compulsory activities
  • 1 individual assignment
  • 1 group assignment
  • 80% attendance in teaching and 100% attendance in specific learning activities according to the teaching plan
Examination
Form of assessmentGrading scaleGroupingDuration of assessmentSupport materialsProportionComments
Portfolio examination
ECTS - A-F
Faculty
Faculty for Film, TV and Games
Department
Department of Game Development - The Game School
Area of study
Matematisk-naturvitenskapelige fag/informatikk
Programme of study
Bachelor in Game Technology
Course level
Foundation courses, level I (100-LN)