JSON Parser Implementation

Project Overview This project implements a JSON parser in C# that transforms JSON text into usable data structures and vice versa. The implementation includes a lexer for tokenization, a parser for syntactic analysis, and a serializer for converting objects back to JSON text. View on GitHub Key Features Lexical analysis with comprehensive token handling Recursive descent parsing Support for all JSON data types Robust error handling Clean, maintainable code structure Implementation Details Basic Usage string json = "{ \"name\": \"John\", \"age\": 30, \"isStudent\": false }"; // Tokenize var lexer = new JsonLexer(json); var tokens = lexer....

2 min · 354 words · Me

Brick Breaker Game

Introduction Developed a 2D Brick Breaker game using the OpenGL Framework. This classic arcade-style game features smooth paddle movement, dynamic ball physics, and destructible bricks. The project demonstrates practical implementation of game physics, collision detection, and OpenGL rendering techniques. Project Preview Features Core Gameplay Responsive paddle control using keyboard input Dynamic ball physics with realistic bouncing behavior Multiple brick types with different properties Score tracking and level progression Lives system with game over state Graphics OpenGL-based rendering pipeline Smooth animations and transitions Particle effects for brick destruction Dynamic lighting effects Technical Features Efficient collision detection system Frame-independent physics calculations Resource management for textures and sounds Game state management system Implementation Details Game Architecture The game follows a component-based architecture with these main systems:...

June 11, 2025 · 2 min · 352 words · Me

Lily Game Engine

Introduction Lily is a custom game engine built from scratch using C++ and OpenGL. The engine features a modular architecture with core systems for rendering, physics, audio, and scripting. This project demonstrates modern game engine architecture and real-time rendering techniques. Core Features Entity Component System (ECS) architecture OpenGL-based rendering system Custom physics engine Audio system Scene management Resource management Event system Implementation Details Core Engine Architecture class LilyEngine { public: static LilyEngine& Get() { static LilyEngine instance; return instance; } void Init(); void Run(); void Shutdown(); Window& GetWindow() { return *m_Window; } Renderer& GetRenderer() { return *m_Renderer; } SceneManager& GetSceneManager() { return *m_SceneManager; } private: LilyEngine() = default; std::unique_ptr<Window> m_Window; std::unique_ptr<Renderer> m_Renderer; std::unique_ptr<SceneManager> m_SceneManager; std::unique_ptr<ResourceManager> m_ResourceManager; }; Entity Component System class Entity { public: Entity() = default; Entity(const Entity& other) = default; template<typename T, typename....

June 11, 2025 · 3 min · 479 words · Me

RayTracer in One Weekend

Introduction Made a ray tracer over a weekend. Was quite happy with the final results. Project Preview Implementation Details Core Ray Tracing Logic class ray { public: ray() {} ray(const vec3& origin, const vec3& direction) : orig(origin), dir(direction) {} vec3 origin() const { return orig; } vec3 direction() const { return dir; } vec3 point_at_parameter(float t) const { return orig + t*dir; } vec3 orig; vec3 dir; }; vec3 color(const ray& r, hitable *world, int depth) { hit_record rec; if (world->hit(r, 0....

June 11, 2025 · 3 min · 467 words · Me

Wordle

Introduction A desktop implementation of the popular word game Wordle, built using C++ and SFML framework. The game features a clean user interface, word validation, and visual feedback similar to the original web version. Features Daily word challenges Keyboard input handling Real-time visual feedback Word validation system Score tracking Animated tile reveals Implementation Details Game Core class WordleGame { public: WordleGame(); void processInput(char letter); void checkWord(); bool isGameOver() const; private: std::string targetWord; std::vector<std::string> attempts; int currentRow; int currentCol; bool gameWon; void loadWordList(); bool isValidWord(const std::string& word); std::vector<LetterState> evaluateGuess(const std::string& guess); }; UI System class GameUI { public: GameUI(sf::RenderWindow& window); void draw(); void updateTile(int row, int col, char letter, TileState state); void updateKeyboard(char key, KeyState state); private: sf::RenderWindow& window; std::array<std::array<Tile, 5>, 6> tiles; std::map<char, Key> keyboard; void initializeTiles(); void initializeKeyboard(); void animateTileReveal(int row); }; class Tile { public: void setLetter(char letter); void setState(TileState state); void animate(); void draw(sf::RenderWindow& window); private: sf::RectangleShape background; sf::Text text; TileState state; float animationProgress; }; Word Validation class WordValidator { public: WordValidator(); bool isValid(const std::string& word); std::string getRandomWord(); private: std::unordered_set<std::string> wordList; std::vector<std::string> dailyWords; void loadWordList(const std::string& filename); void loadDailyWords(const std::string& filename); }; Technical Features Graphics Custom UI components Smooth animations Color-coded feedback Responsive keyboard display Game Logic Word validation against dictionary Letter position checking Multiple attempt tracking Win/lose state management Input System Keyboard input handling Virtual keyboard support Input validation Backspace and Enter key handling Development Challenges Word List Management...

June 11, 2025 · 2 min · 297 words · Me

URL Shortener Service using Go

Lightweight URL shortener with in-memory storage and fast redirection

September 2, 2024 · 3 min · 557 words · Me

Tower Defense Game

Introduction A Tower Defense game prototype implemented in Unity, featuring pathfinding algorithms for enemy movement and strategic tower placement mechanics. The game demonstrates core tower defense gameplay elements while showcasing efficient pathfinding implementation. Features Enemy Pathfinding Implemented A* pathfinding algorithm for intelligent enemy movement Dynamic path recalculation when towers block paths Efficient path caching to optimize performance Tower Mechanics Multiple tower types with different attack patterns Strategic tower placement affecting enemy paths Tower upgrade system with enhanced capabilities Wave System Progressive difficulty scaling Dynamic enemy spawning patterns Wave completion rewards Technical Implementation Pathfinding Algorithm public class PathFinder : MonoBehaviour { private Grid grid; private List<Node> openSet; private HashSet<Node> closedSet; public List<Node> FindPath(Vector3 startPos, Vector3 targetPos) { Node startNode = grid....

August 1, 2023 · 2 min · 236 words · Me