Spellcasters Chronicles — Post-Mortem
This post only reflects my personal opinions and experiences.
Spellcasters Chronicles has been officially shut down this week.
While most of my time at Quantic Dream is spent on Star Wars Eclipse, it was fun to work on such a different project.
As a graphics engineer, the non-photorealistic shading and hard performance constraints were interesting.
I'm a bit sad to see this game end like that, but the show must go on.
Non-Photorealistic Rendering
One might think that NPR is an easy job for a graphics programmer. Especially toon shading, which is a well-known technique with lots of successful examples. I learned the hard way that it can be an endless time-trap without a clear vision and artistic process.
Making an AAA game with photorealistic rendering is pretty straightforward. Upgrade your engine with the latest techniques, allocate more iteration time and performance for the key aspects of your game, correctly calibrate your PBR materials, and it's a wrap (I may be oversimplifying for the sake of the argument).
In contrast, NPR is a blank canvas with no obvious starting point. Especially since you can't copy-paste another game's graphics, NPR artistic directions are expected to be unique and tailored to the game (although Spellcasters was heavily inspired by Fortiche's Arcane series, and Zelda BOTW).
This led us to waste a lot of time iterating on the graphics, testing the infinite possibilities of NPR shading. I don't mind — I learned a lot from the process. If you are interested in reading more about some of our experiments, I wrote a post about it here.
Optimization
Spellcasters is a free-to-play MOBA game, mixed with some RTS mechanics. It targeted a very large audience, which means it should run on low-end hardware. However, it was also expected to be prettier than the usual MOBA game, and handle hundreds of animated NPCs on screen.
Since QD is used to delivering pretty graphics for high-end hardware, this was a new kind of challenge. The biggest difference is that competitive multiplayer games allow themselves to heavily downgrade their graphics, focusing only on the gameplay.
Some of them even completely bypass the dynamic shadows, keeping only the static ones. We tried to adapt as much as possible, but the early access still ended up as a performance dumpster fire.
Personally, I enjoyed the time I spent on various optimizations. My biggest contribution was a fog voxelization system, using indirect dispatch prepass and layered rasterization. Rendering 10k volumetric particles went from 50ms to 0.5ms — that was fun.