Shopify Party is a browser-based internal tool that we built to make our virtual hangouts more fun. With Shopify’s move to remote, we wanted to explore how to give people a break from video fatigue and create a new space designed for social interaction. Here's how we built it.
Overview
Shopify Party is a browser-based internal tool designed to enhance virtual hangouts by allowing users to interact through 3D avatars in a playful environment. The article details the development process, including game design principles, the tech stack utilized, and optimization strategies to ensure smooth performance.
What You'll Learn
How to create a browser-based game using Unity WebGL
Why to use Normcore for real-time multiplayer synchronization
How to implement a simple character customization system with textures
How to optimize 3D games for performance using GPU instancing
Prerequisites & Requirements
- Basic understanding of game development concepts
- Familiarity with Unity and WebGL
Key Questions Answered
What are the key design principles behind Shopify Party?
How does Normcore facilitate multiplayer interactions in Shopify Party?
What optimization techniques were used to ensure smooth performance in Shopify Party?
How does Shopify Party handle character customization?
Technologies & Tools
Key Actionable Insights
1Implementing a non-prescriptive gameplay model can enhance user engagement in virtual environments.By allowing players to create their own rules and interact freely, you can foster a more enjoyable and less structured experience that encourages creativity and social interaction.
2Utilizing Normcore for real-time synchronization can simplify multiplayer game development.This framework allows for efficient state management without a dedicated server, making it easier to develop and maintain multiplayer experiences.
3Optimize your game for performance by using simple materials and GPU instancing.These techniques can significantly improve rendering efficiency, especially in environments with many identical objects, ensuring a smoother experience for users.
4Character customization can be streamlined by using texture overlays instead of complex 3D models.This approach not only saves development time but also allows for greater flexibility in design, enabling users to create diverse character appearances quickly.