pperuzzo@pperuzzo:~$ cat ambient
in 2020, it became particularly difficult for interior designers to collaborate. leveraging vr technology, i created a collaborative (multiplayer) software that allows designers to interact in a virtual space.
i started by developing the vr client software from scratch using unity and c#. leveraging my
expertise in writing c# unity code, i ensured that the ambient software was well-structured, easy to
maintain, performant,
modular, and reusable.
to implement the real-time vr multiplayer part of the software, i chose the photon engine.
this allowed users to interact within the virtual environment and communicate through
a voip system.
the multiplayer part consists of two key components:
- a custom web server with a database
- a custom photon server
for the web server, i deployed a php laravel server on aws elastic beanstalk. the key role of the
server
is to listen to photon's webhook events and update the aws rds database accordingly.
the custom web server facilitated seamless communication between the client's (unity)
application, allowing for efficient data management and processing.
i needed a custom photon server to allow customized behavior in the photon event handling
system.
firstly, i edited the open-source c# photon server code by introducing the necessary events. then i
deployed
the photon server on a windows machine on aws ec2.
finally, with all three components fully deployed (client application, server, photon server), the project was completed.
demo of the finished ambient software
the source code for this project is available publicly on github: