A collection of projects and games built while learning C# outside of game engines such as Unity. The goal of these projects was to strengthen my understanding of the language, explore desktop application development, and build confidence before diving into graphics programming with OpenGL/OpenTK.
Each project focuses on different aspects of software development, including game logic, UI design, rendering, input handling, networking, and object-oriented programming.
A fully functional multiplayer chess game built using WPF and .NET.
- Complete implementation of chess rules
- ♜ Castling
- ♟️ En Passant
- 👑 Pawn Promotion
- Move validation system
- Turn-based multiplayer gameplay
- Interactive graphical board interface
- C#
- WPF
- .NET
A recreation of the classic Nokia-era Snake game developed using WPF and .NET 8.
- Smooth grid-based movement
- Score tracking
- Collision detection
- Increasing difficulty as the game progresses
- Retro-inspired gameplay experience
- C#
- WPF
- .NET 8
A simple yet complete clone of the iconic Tetris game built with WPF and .NET 8.
- Classic tetromino gameplay
- Piece rotation system
- Hard drop (instant drop)
- Ghost/snapshot piece preview
- Line clearing mechanics
- Score tracking
- C#
- WPF
- .NET 8
A fully featured multiplayer implementation of the timeless Tic-Tac-Toe game.
- Multiplayer gameplay
- Win and draw detection
- Interactive UI
- Clean and responsive game board
- Lightweight and beginner-friendly architecture
- C#
- WPF
- .NET 8
Previously known as BasicTK – 2D Renderer
A small experimental project created to explore the fundamentals of OpenGL programming in C#.
This project served as my introduction to graphics programming, rendering pipelines, and low-level drawing concepts before moving on to more advanced graphics applications.
- Basic 2D rendering
- OpenGL integration
- Rendering pipeline experimentation
- Learning-focused architecture
- C#
- OpenGL
- OpenTK
This repository will continue to grow as I explore new concepts and technologies within the C# ecosystem.
Possible future additions include:
- More multiplayer games
- OpenGL/OpenTK experiments
- Physics simulations
- Utility applications
- Game engine components
These projects were created primarily for learning, experimentation, and improving my understanding of software development with C#. While some projects may be simple, each one represents a step in my journey toward building larger and more complex applications.