This is my first 2D game engine writen in C# and MonoGame
C# PowerShell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


This is my first 2D game engine written in C# and MonoGame


Artificial Intelligence:-

  • I have developed a pathfinding algorithm A* with support for clearance based pathfinding and I have optimized it by using a binary tree (min heap).
  • I have developed a way point system in which an AI would follow.
  • I have developed an AI with line of sight.


  • I have developed a simple rectangle and circle based collision system.
  • I have developed a simple physics system that can give an object Speed, Acceleration, Velocity, Gravity, Drag and deceleration.


  • Playing simple MP3 and WAV file formats in-game.


  • I have developed a tile based rendering system that can read the world or map information from an XML file and draw it on the screen. I have optimized this system by only rendering what the camera can see and by placing all of tiles on one big texture to save on draw calls.
  • I have developed a simple particle system on the CPU side.
  • I have developed a simple ambient, point, directional light system using HLSL 5.0.
  • I have developed a simple 2D animation system where you can read the animation information from an XML file.
  • I have developed a simple font rendering system that supports kerning.

User Interface:-

  • I have developed a fully functioning in game UI system from scratch that can be scaled without distortion or degradation of the UI quality.
  • The UI system includes Button, Textbox, Checkbox, Radio box, Menus, windows, Menu bar, Panels with scroll bars, Message box and Labels.


  • I have developed a simple network system using the server/client architecture using both TCP and UDP.
  • I have developed a simple registration and login system using PHP and or C# and SQL.
  • I have encrypted all of the packets from the server and client side using the SHA256 hash algorithms.
  • Connecting, downloading and uploading files to and from an FTP server.

File System:-

  • Writing and reading XML files.
  • Compressing and decompressing archive file formats.
  • Packaging all the game assets into an archive file format and reading them when needed without the need of decompressing the archive file.