This is the 3rd part in a series of blogs covering the scalable client project.
Part 1 - Background
Part 2 - Problems with scaling pixel art
This part will explain what the current approach is, and some of the possibilities with this system.
As we concluded in the last part, scaling the existing art is riddled with compromises. The logical conclusion is to start over with the player icon art. This is clearly a very hard decision to take as there is a lot of effort put into the existing icon set, but I truly feel this is the right decision.
As I mentioned in the last part, the core problem is that the pixels are an imperfect representation of the image. In order to solve this, the idea is for the next icon set to be in a scalable vector format (SVG - Scalable Vector Graphics). This format has been around for a very long time, and is well established with plenty of available tools to create, modify and use them.
The basic premise is that instead of representing a line as a set of pixels, you keep the abstract information instead (so for example "line from point A to point B"). The result is that no matter how much you zoom in or out, you can do your best to render the information given the limitations of your current screen. Inherently, all the information is still there regardless of scaling.
This is really the big change, but since the idea is to go this path, there is no reason to continue with some features:
1. Custom colour schemes.
With some thought, the colours in an image can be made to be replaceable. The most obvious result of this is that icon authors only draw one image, and the computer can change between home and away colours automatically. Another result is that it will be possible to let coaches pick custom colour schemes for their teams (with some restrictions to avoid "griefing").
2. Component-based icons
What this means is that instead of having a "lineman" icon, a number of subparts are designed (helmet, head, shoulder pad, etc). With only a few variants available for various parts, there will be potentially thousands of combinations for each position. Coaches could be given the ability to pick their own parts for each of their players. This concept has a lot of hidden potential as well. For example, there could be parts that are specific for certain skills, which would give mutated players a unique look on the field. A +ST roll could make the player slightly beefier (larger).
There could also be parts and looks that only open up at certain SPP levels. Troll slayers could get larger mohawks when they skill up for example.
3. Animations
While this is not in scope initially, icon animations could certainly be a possibility. Early on, this could be static custom poses for various things but the concept theoretically extends all the way to full animations (think South Park style). In theory, it would also be possible to use the icon assets to make cartoons and/or animations due to the ability to scale the icons up to arbitrary sizes.
These features are things I am super excited about as I feel it taps into the "hobby" aspect of the game, where people who want to can effectively mod and paint their players in a way that is simply not possible as it stands. It makes you more invested in your individual players and will hopefully make your teams more personal.
Ok, so all this sounds fine and all, but you are probably asking does all this *actually* work?
Well, yes it does. I've been thinking about the technology for a very long time. I've played around with various technologies to get to a point where I am confident it's possible to do. Over the last month or so, I've ramped this up to actually start working on something more than proof of concept bits and pieces. Those of you who have been spending time on the Discord server will have seen me talking a bit about it and showing some screenshots of the tool I am working on.
The core purpose of this tool is to allow me to accept graphics from artists and relatively easily add the meta-data necessary to be able to support all these proposed features. The next blog in this series will go through the workflow and I will show some screen grabs of what it looks like as well.
Thank you for your time!