SPI2004 Networking and databases

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

      Recommended prerequisite knowledge: SPI2003 Game Systems and Mechanics, SPI2000 Gamification and Application Development

Course content

The 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

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

Knowledge

The candidate

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

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

  • 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 individual and in groups to solve given assignments.  Teaching is mostly done through pre-recorded videos, presented reading material and through learning activities in class, individual or in groups.

 

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

Compulsory activities
  • submission of 1 group assignment
  • submission of 1 individual 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
Individual
6 Hour(s)
50
Oral examination
Passed - not passed
Group
50
Form of assessment
  • 1 portfolio assessment, assessed with grades from A-F
  • 1 oral examination assessed with pass/fail
    • Both parts must be approved in order to pass the overall course

 

 

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)