2D MMO RPG
Game Overview
2D MMO RPG was an ambitious multiplayer project developed in Unity by myself and a teammate, Thomas, who was new to Unity. The game aimed to bring an MMO experience to a 2D space with custom-built networking using TCP and UDP protocols for server-authoritative gameplay. Although the project stayed in its early stages, we implemented core MMO mechanics, from inventory management to basic combat and UI elements for player stats.
Contribution
My Role
I led much of the coding and Unity development, given my prior experience. I worked on the networking solution, implemented server-authoritative features, and developed UI elements for health, mana, and experience, as well as the inventory and hotbar systems.
Team Contributions
The project was a collaborative effort:
- Thomas: Assisted in coding various gameplay elements and UI, gaining experience with Unity as we developed the game together.
- Artist: Provided a few assets, while the majority of art assets were outsourced to match the game’s aesthetic needs.
Gameplay Mechanics
- Custom Networking Solution: Built with TCP and UDP for reliable server-authoritative management of player interactions.
- Minimap: Displays players and enemies nearby for better spatial awareness in gameplay.
- Inventory and Hotbar: Features draggable items, with the ability to assign items to the hotbar for easy use with keys.
- Combat: Basic fireball attacks and enemies that explode or deal damage based on proximity.
- UI and Stats: Real-time UI shows health, mana, and experience, with a leveling system to indicate player progress.
Skills Demonstrated
Skill | Description |
---|---|
Networking (TCP/UDP) | Developed a custom networking solution with TCP and UDP protocols to manage server-authoritative interactions. |
Inventory and UI Design | Created a draggable inventory system, hotbar functionality, and a UI for health, mana, and experience indicators. |
Server-Authoritative Gameplay | Ensured reliable, server-managed gameplay, controlling combat, movement, and interactions between players and enemies. |
Unity Collaboration | Worked alongside a teammate new to Unity, guiding development and sharing Unity practices and coding strategies. |
Game Features
- Multiplayer Infrastructure: A custom-built networking solution for server-authoritative gameplay.
- Interactive Minimap: Shows players and enemies, aiding in real-time player positioning.
- Inventory System: Draggable items and hotbar integration allow players to use items quickly during gameplay.
- Stat Indicators: UI displays for health, mana, and experience keep players informed of their status.
- Basic Combat: Fireball attacks and proximity-based enemy damage mechanisms provide foundational combat elements.
Technical Concepts and Tools
Networking Protocols
Implemented a custom networking solution using TCP and UDP to manage player actions and server authority.
Inventory and Hotbar System
Developed a UI-based inventory with draggable items and a hotbar for easy access to abilities and items.
Server Authority in Gameplay
Created server-authoritative mechanics to manage interactions between players and enemies reliably.
Gallery
Learning Takeaways
Developing 2D MMO RPG was an insightful experience in custom networking and server-authoritative gameplay in Unity. Balancing collaboration, especially with a new Unity user, highlighted the importance of clear communication and efficient development practices, while also building a foundational understanding of multiplayer mechanics.
Tools Used
- Unity: Game engine for development, UI, and asset integration.
- Jetbrains Rider: C# IDE.