SPI2004 Networking and databases

    • Course code
      SPI2004
    • Number of credits
      15
    • Teaching semester
      2028 Spring
    • Language of instruction and examination
      English
    • Campus
      Hamar
Course content

This course introduces the fundamental concepts and technologies of data management and network communication in the context of digital games. Students will learn how to design and implement database systems for storing game-related data and how to apply networking principles to enable multiplayer and online interactions. Emphasis is placed on practical implementation, scalability, and reliability, with examples drawn from both commercial and indie game development.

Learning outcome

Upon passing the course, students have achieved the following learning outcomes:

Knowledge

The student

  • has specialised knowledge of relational and non-relational databases, and their application in storing game state, player profiles, leaderboards, and persistent worlds
  • understand core networking concepts (client-server, peer-to-peer, latency, bandwidth, protocols)
  • can describe the architecture of multiplayer game systems, including matchmaking, state synchronization, and authoritative servers
  • can recognise challenges in scalability, security, and reliability in online games
  • understand database design principles such as indexing, query optimization, and transactions, and how they impact performance and scalability in online games
  • Understand the integration of databases with networking models (client-server, peer-to-peer) and how latency, bandwidth, and protocols affect data consistency and user experience

 

Skills

The student

  • can design and implement a database schema suitable for storing structured and unstructured game data
  • can use SQL and NoSQL technologies to store, retrieve, and manage game data efficiently
  • can implement basic network communication between game clients and servers using industry-standard APIs and protocols
  • can develop and test a simple multiplayer prototype, including synchronization of player states and events
  • can apply debugging and profiling tools to identify performance bottlenecks in networking and data access
General competence

The student

  • can work independently and in teams to design and implement networked game features and supporting data systems
  • can reflect critically on design choices for data persistence and networking models, considering scalability and user experience
  • can communicate technical solutions related to game data management and networking clearly in both oral and written formats
  • can demonstrate readiness to engage in professional development within game backend, multiplayer systems, or online service engineering.
Working and teaching methods

The students work both individually and in groups to solve given assignments. Teaching is mostly done through in-class lectures combined with presented reading material. Learning is done primarily through learning activities in class, individually or in groups.

Each topic is introduced with study materials such as texts, lectures, and online tutorials, along with minor assignments to be completed through self-study either individually or in groups prior to class. In class, learning activities include individual and group-based assignments, as well as group discussions, critique, pitches, and workshops.

Supervision will be conducted both at an individual level and in groups or project teams. This ensures that each student has access to the specific teaching resources and guidance needed in the collaborative projects and productions where “problem-based learning” is applied.

Compulsory activities

1 group assignment

1 individual assignment

Attendance in all organised activities

 

Examination
Form of assessmentGrading scaleGroupingDuration of assessmentSupport materialsProportionComments
Written examination with supervision
ECTS - A-F
Individual
6 Hour(s)
50
Practical examination
ECTS - A-F
Group
50
Form of assessment

For group exams, all participants in the group are collectively responsible for all content in the assignment / product / presentation.

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)