Code Monkey home page Code Monkey logo

game-server-programming-course's Introduction

Game Server programming with ASP.NET Core and MongoDB

This is a course about game server programming made for Metropolia UAS Game Development curriculum. The aim of the course is to give an overview of creating Web API's suitable for creating online features typical for games. This is not about creating realtime multiplayer games.

The technologies chosen for this course are ASP.NET Core and MongoDB. The main reasons for choosing these particular technologies are that they are open source and capable of handling demands of global scale online games.

The weekly schedule

  1. Introduction to game servers, C# for server development
  2. C# for server development; Basics of ASP.NET Core Web API
  3. Continuing on ASP.NET Core Web API; REST-architecture
  4. Intro to NoSQL databases; Basics of MongoDB
  5. Continuing on MongoDB
  6. Basics of server security
  7. Building scalable, stable, and fault tolerant servers; Student presentations

Way of working

Read the articles from the reading lists before the lectures where the concepts are presented.

Try to complete the assignments on the same week they are presented. The final deadline is two weeks from the week they are presented. This is to make it possible to ask questions about the assignments during the next week's class room time. The assignments should be put inside your own GitHub (or similar) repository where I can have access to them.

The project assignment will be presented on week 2 and it's recommended to start working on it as soon as possible after that.

No assignments are accepted after the final deadline.

Tools used in the course

If you are running Windows and your VSCode uses powershell in the terminal, I recommend that you change it to CMD.

Grading

The course grading scheme is straightforward:

There is a total of 100 points to be gained from the course.

  • 50 points come from the assignments (points are gained by completing the assignments)
  • The other 50 comes from the project (points reflect the quality of the project)

Points are rounded to the closest 10. After rounding the points are converted to the final grades which are numbers from 0 to 5.

  • 50 or less equals 0 (course failed)
  • 60 points equals 1
  • 70 points equals 2
  • 80 points equals 3
  • 90 points equals 4
  • 100 points equals 5

You can also affect your grade positively by participating actively in the lectures.

Deadlines

The deadlines for the assignments are the following:

TBD.

Completing the course without class room participation

It's highly recommended to participate in the lectures because the concepts taught in the course have been generally hard for students to grasp - usually being able to ask questions and get personal support ensures success in the course. In addition to support, being present in the lectures gives you more chances to demonstrate your skills and affect your grade positively.

But if you nevertheless can not participate in the lectures, the course can be completed by doing the assignments and the project within the deadlines.

Remember to read the reading materials and slides through carefully, the information found in those should be enough to complete the exercises.

game-server-programming-course's People

Contributors

vsillan avatar

Watchers

James Cloos avatar lvshiling avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.