Skip to content

Contains main game loop, client-side, server-side and other game-related logic

License

Notifications You must be signed in to change notification settings

TheNegumProject/Negum.Game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Negum.Game

1. General Overview

Negum.Game is a library which provides core functionality and main game loop for 2D fighting game engine.
It is a higher lever wrapper around Negum.Core library.
The main purpose of this library is to provide User with a set of pre-defined tools and classes which perform the most common and repetetive tasks.

1.1. Library structure

TBD

1.2. Features

  • General entities definition like Player, Team, Match
  • Standard fight (match) definition
  • Hook - Accept User input
  • Hook - Render image / sprite
  • Hook - Play audio / music
  • Hook - Load font
  • Hook - Draw font
  • Hook - Draw menu
  • Hook - Draw stage (background, foreground, effects)
  • Hook - Draw player (sprite, effects)
  • Add support for shaders
  • Support triggers
  • Singleplayer-only - F1 kills enemy
  • Support configuration from IEngine
  • Main game loop
  • Connect to local server for singleplayer
  • Multiplayer support (Client, Server)
  • Client-Server communication via special Packet-system
  • Up to 4 players offline (configurable)
  • Max number of players online (configurable)

1.3. Sending single Packet pipeline

  1. Client gathers data about the packet and serializes them
  2. Client writes packet data to the communication stream
  3. Server reads packet data
  4. Server handles the packet
  5. Server gathers data about the packet and serializes them
  6. Server writes packet data to the communication stream
  7. Client reads packet data
  8. Client handles the packet

2. How To Use

2.1. Installation (NuGet)

Easiest way to install Negum.Game library is via NuGet like so:

dotnet add package Negum.Game

Or check it directly Here

2.2. Code / Sample Usage

TBD


3. Default Usage

TBD


4. License

Click Me