Oct 11 2007

Behind Fez : Trixels (and why we don’t just say voxels)

Published by Renaud Bédard at 10:04 under Fez, XNA

A follow-up with much greater detail to this post can be found here.

Alright, here’s a couple of explainations about the rendering technology behind Fez, what we call trixels.

Some people on deviantART and the TIGS blog post have pointed out how these are pretty much just voxels, but with a trendy name. As the lead programmer, I beg to differ… a bit.

First, everything is rendered 3D, at all times. The 2D views are just orthographic (a.k.a. isometric) views of the world from a direction or another. Since the Z component disappears, the character considers the whole world as 2D and can go from very far objects to very close objects without distinction.

Each visible pixel-art tile that you see while playing the game in 2D view is part of a 3D cube, which we call a trile. Each trile is a 16×16x16 volume which is formed of 4096 potential trixels. Obviously, not all trixels are rendered, else it would be incredibly slow… so only the border trixels are considered. But in the data storage, it’s basically a 3D presence array which tells the renderer if a trixel is present/on, or absent/off.

Up to now, I could’ve called them voxels and it wouldn’t have made any difference… but when it comes to rendering, we want every 2D side of the trile to look like believable pixel art, so it needs to be made of smaller cubes. Standard voxel triangulation is complicated because it wants to look as close to the initial (curved, organic) shape as possible… but we don’t! We want that pixelated, 8-bit look.

So we make assumptions. And that allows very intuitive polygon reduction and culling algorithms, allowing pretty good detail on these triles.

As for the texturing, cubemaps are used, which links trixels to pixels even more. Each pixel of the cubemap (so each visible 2D pixel) ends up as trixel of the trile.

So there you have it. Trixels are voxels, but with some special properties, a special (simpler) triangulation algorithm, and in a pretty special game. :)

The pretty pictures :

1st : Pretty ugly trile with sculpted trixels in “fezzer”, the game content editor.
2nd : Wireframe version of that trile, computed in realtime; notice how little polygons are needed and used.
3rd : A scene, rendered with the game engine.


Unsexy trile

Sexy wireframe


Trixels!

13 responses so far

13 Responses to “Behind Fez : Trixels (and why we don’t just say voxels)”

  1. GDon 12 Oct 2007 at 14:12

    pixelated 16^3 little carved cubes you say… nice… :)

  2. ampon 29 Oct 2007 at 05:50

    Wow, that’s beautiful! :)

  3. orion 12 Dec 2007 at 14:08

    Anything like a playable demo any time soon?

    the project is amazing…

  4. Markon 03 Jan 2008 at 20:47

    I was pissed that Crush was only going to be available for the PSP, so I really want to try this. When will it be available?

  5. Torrey Holbrook Walkeron 24 Feb 2008 at 15:10

    Can’t wait to give this a shot. It was great meeting you at the party on Saturday (I was the guy with the dog). Looking forward to seeing what you come up with next!

  6. bugon 01 Mar 2008 at 17:09

    You guys know that you have to open this up to the game hackers now, don’t you? Even if you have to charge a tiny bit for the engine or editor, keeping the lock on it will make that little “powered by trixels” note in the preview seem like just pretentiousness.

  7. Fez = godly. | theGrimon 24 Apr 2008 at 05:28

    [...] trixel thing is just really something to see in action. « Game of the Month specials. Points – video [...]

  8. Nobody’s Life » Fezon 03 Apr 2009 at 08:27

    [...] :) . За технологията и други подобни има дискусии тук и тук. These icons link to social bookmarking sites where readers can share and discover new [...]

  9. [...] should probably check the first post I made about trixels to get the basic idea [...]

  10. [...] say. People who count peas and know it better all the time, just go over to read the articles: Part one, part [...]

  11. Elvis Brevion 04 Dec 2009 at 07:55

    trixel work in XNA or only c++?

  12. Sugoi » Voxlarna är tillbakaon 05 Dec 2009 at 18:51

    [...] 3D-pixlar verkligen fått en uppsving. Det lovande indiespelet Fez använder en liknande teknik (trixels), samtidigt som 3D Dot Game Heroes charmar en hel spelvärld med sin visuella stil som delas med [...]

  13. Renaud Bédardon 07 Dec 2009 at 14:34

    @Elvis : It’s XNA / C#, but it won’t be released as an engine/toolset… it’s just the underlying technology for development of our game Fez.

Trackback URI | Comments RSS

Leave a Reply