This project showcases a dynamic Items and Inventory System designed for an immersive gaming experience. It features a Scriptable Object-based inventory system with item categories, a custom editor for scalability, and intuitive UI elements such as tabs, toggles, scroll views, and a 3D preview display. Players can interact with a game world, collect and manage items, and use a functional weapon system with ammunition.
1. Explore the Environment
Navigate a game world filled with scattered, interactable items.
2. Interact with Items
Pick Up Items: Collect items from the environment and add them to your inventory.
Drop Items: Remove items from your inventory and place them back in the game world with realistic physics.
3. Inventory Features
Scriptable Object-based system: Ensures flexible, reusable, and scalable inventory management.
Carry multiple items of the same type (e.g., health packs, keys).
Automatically organized inventory with item categories for better management.
Custom editor for adding new items and improving scalability.
4. Intuitive Inventory UI
Tabs, toggles, and scroll views for seamless navigation.
3D preview display for selected inventory items.
5. Weapon System
Carry only one unique weapon at a time.
Weapons are usable, firing projectiles when activated.
6. Bullet System
Bullets must be picked up as separate items from the environment.
Weapons consume bullets as ammunition during firing.
This is a fully functional chess moves calculator. It’s designed with clean and modular code, making it easy to extend and customize. The game handles chess piece movement dynamically, highlights possible moves in real time, and tracks the board state efficiently.
Strategy Pattern: Each piece type (Pawn, Rook, Knight, etc.) has its own movement logic encapsulated in a separate class.
Singleton Pattern: The chessboard manager is a single instance that tracks tiles, pieces, and interactions across the game.
ChessPiece.cs :
Represents each piece on the board.
Decides where the piece can move using its assigned movement strategy.
Highlights moves dynamically based on the board state.
ChessBoardPlacementHandler.cs :
Handles the chessboard tiles and manages the state of all pieces.
Clears old highlights, shows new ones, and ensures the board stays consistent.
Movement Strategies :
Each piece type (Pawn, Knight, etc.) has its own strategy class (e.g., KnightMoveStrategy) that encapsulates its unique movement rules.
ChessPlayerPlacementHandler.cs :
Manages the position of a piece and syncs it with the board dynamically.
Smart Movement Logic: Each chess piece has its own movement rules powered by the Strategy Pattern—making the code flexible and easy to maintain.
Real-Time Highlights: The game highlights valid moves in green and potential captures in red, giving clear feedback as you play.
Efficient Board Management: The chessboard is managed with a 2D grid system, ensuring smooth interactions and fast lookups for moves.
Zombie Shooter 3D is a first-person shooter game where players navigate a post-apocalyptic world, facing waves of zombies. The game features dynamic enemy behaviors, requiring thinking and quick reflexes to survive. With engaging mechanics and challenging gameplay, Zombie Shooter 3D offers an intense experience.
NavMesh for Zombie AI.
State Machines to manage enemy states (Idle, Chase, Attack).
Single Responsibility (SOLID Principle) ensured.
Implemented OOPs and Coroutines.
Developed: an Enemy AI system suing NavMesh in Unity to create dynamic behaviors.
Implemented: state machines to manage enemy states and transitions, enhancing gameplay depth.
Applied: the Observer Pattern to facilitate efficient communication between game components, ensuring responsive and decoupled interactions.
Employed: the Singleton Pattern to manage global game states and resources, maintaining consistency and optimal performance.
Aqua Recall is an AR memory game inspired by the Indian card game Chattai, blending cultural heritage with modern tech. Set in a virtual aquarium, players match fish pairs within a minute, using Vuforia’s AR markers for immersive gameplay. With unique 3D fish species and seamless worldspace UI, the game challenges players to score points and keep their three lives intact, making every second count.
Implemented: precise control over pitch, yaw, and roll movements to simulate realistic fighter jet maneuvers.
Employed: Unity's Timeline tool to choreograph complex in-game events and animations.
Conducted: iterative testing and refinement to achieve high fidelity in both flight mechanics.