Our great sponsors
-
BabylonJS
Babylon.js is a powerful, beautiful, simple, and open game and rendering engine packed into a friendly JavaScript framework.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
It was time to work on the infrastructure, we already made some decisions and assumed pros and cons. I already have worked with Google Cloud and I especially love how they use Kubernetes, so I wanted to learn how I can use it in Oracle Cloud (via Terraform if possible). I use k8s and Terraform at my home lab, so it should be easy to set up the infrastructure for this project, and it was thanks to the OCI Terraform provider.
Now we are finally set! (or so we thought). Dylan was already working on the client, learning about Babylon.js and Lucas was already working on authentication and reading about Colyseus. I wanted to start a conversation about how the client - server communication should be because I already had some ideas about how to solve common problems such as protocols, backend solutions for messaging, scalability and availability; those were my first concerns. I have always been a backend guy and I must say that I suck at front end, and although I can do React and Angular, donโt ask me to do something fancy ๐ .
With all this information, I started to work on the design of the backend solution dealing with messages using Nats.io when Lucas came up with the idea of using Colyseus.io, which was a perfect fit for our needs* plus simplifies everything a lot!. *[Our needs at that time were: Time remaining to develop an MVP, and how to get the most from OCI while developing the game itself.]
The next step was to work on the CD/CI, and we chose to use the handy GitHub Actions which will trigger the deployment to our Container Registry the necessary docker images every time we push a change in our main branch.
Functions: Scalable, multi-tenant serverless functions based on Fn
For that, Dylan already created a Discord server, where we can leave comments, share ideas, questions or just share our struggles. Later on, I realized that we also need some kind of planning to synchronize ourselves, so we created a GitHub project with a simple board to write down the current status but also what was pending and what is done as well as somewhere to put our thoughts on some ideas and discuss them.
It was time to work on the infrastructure, we already made some decisions and assumed pros and cons. I already have worked with Google Cloud and I especially love how they use Kubernetes, so I wanted to learn how I can use it in Oracle Cloud (via Terraform if possible). I use k8s and Terraform at my home lab, so it should be easy to set up the infrastructure for this project, and it was thanks to the OCI Terraform provider.