Rebuilding the StariumXCV Web Client
We’re rebuilding the client of StariumXCV! This new stage of development has deep connotations for what the game will be upon release. Let’s talk about it!
What’s a Web Client?
The “client” is what the user interacts with in a piece of software. This is often paired with a “server” that the client communicates with. This “client-server” relationship is pretty common for any application with an online component. A “web client” is a client that’s hosted on the internet, like a website. StariumXCV is played entirely through a browser, so everything on stariumxcv.com is our web client.
So when we say we’re rebuilding the web client, it means we’re rebuilding the parts of the game that players interact with; rebuilding the visuals and the feel of the game.
The Logical Choice
Updating the client has been something we were planning to do for a long time. The team has learned a lot over the course of this project, and we knew we could do better someday. The intention was to release with what we had, and then dedicate time to a client rebuild. Rebuilding the client seemed like such a big task, and we couldn’t justify taking that risk and making our fans wait so much longer.
As the project got closer to release, it became more important to nail down the post-release plans. The client rebuild needed some research so it could be mapped on the timeline. In that research, we learned about existing tools and libraries that reduced the work load immensely.
Our initial assumptions planned for a client rebuild that would take over a year, maybe two. Instead, it was looking like it would take less than a single year. Under this new time frame, releasing the game first didn’t seem like the best idea. Stopping the development of the current client and focusing on a new one would get us a better game in about the same amount of time. Building a new client became the most logical path.
The New Client
For the past few weeks, our development has been building prototypes and planning for a new client. The new client is in the earliest stages, and it’s already very exciting to see what it’s shaping into. Here’s a little sneak-peek from an early prototype:
There are a few key things that really make this client possible. First, development for the new client doesn’t have to re-figure out how to make the game work. With the new one, the team gets to put more energy into creating a smooth and engaging user experience. Having a version of the game that’s already technically solved makes development much easier. The problems we’re solving are much smaller because all the game logic is already done.
A library called, “PixiJS” has also turned out to be invaluable. This library offsets a massive amount of the work we thought was necessary, and is the underlying engine for the new client. PixiJS handles putting objects on the screen and interacting with those objects, which is a difficult thing to do robustly. This library enables us to worry about what goes on the screen instead of how it gets there.
The timing of this is perfect. The game is “solved” from a technical standpoint, JavaScript is very mature with great tools available, and we have a stable team that can take on big efforts like this. All of these things are coming together to allow us to make something we couldn’t before.
Join The Conversation
This new client is something we’re really excited to share with everyone. It’s too cool to keep to ourselves. The StariumXCV Discord server will likely be the first place to receive development sneak-peeks and early insights, and there are always devs lurking around to answer questions. Come and join! We want to hear what you have to say!