Threedee's founder Emilio Santos told us about the unique technology the software utilizes to create high-quality 3D worlds, explained how "responsive geometry" works, and discussed the main strengths of the company's toolkit.
Introduction
My name is Emilio Santos, like most of the team, I was born and raised in Cuba and went to school there. I was fortunate to be with a group of uber-talented guys with whom I released Starpeace, a massively multiplayer game that unsurprisingly takes place in a world of large urban centers. From there on, I went to work for AAA games for companies like Electronic Arts and 2K.
Threedee
Ideas belong to nobody, they float around and sometimes choose us. I was coming off a long project on programming languages and started "seeing" how things were made. Moving from there to a geometry processor masquerading as a visual programming language was not much of a stretch. The goals have remained the same, to allow people without artistic inclinations (such as myself) to create beautiful ever-changing assets and to allow little guys (indies, small studios) to be able to create large interactive experiences.
Technology
Threedee works by applying transformations to an initial geometry. Not very unlike assets created in traditional modelers such as Blender or Maya. You would begin with a blueprint and start applying known operations such as extrudes, cuts, and insets. Unlike traditional modelers, variation is embedded in the modeling process so when finished modeling, the system can generate infinite variations. In particular, the user can change the initial blueprint of a building, and Threedee generates it automatically. A star-shaped building takes as long to build as you can draw a star.
Features
Threedee is capable of creating all sorts of man-made assets (not organics just yet) but we have concentrated on architectural assets such as buildings, bridges, etc. Our instruction set is general enough to produce all sorts of geometry.
Basically, every aspect of the geometry can be modified. The parameter to be tweaked is defined by the modeler as we allow to create variables to express custom parameters that later a non-modeler can customize.
We have advanced capabilities such as scripting where custom geometry can be created in JavaScript so actual programmers can create specialized assets. Threedee is a modular system, any collection of instructions (including advanced scripts) can be int "functions" that are reusable by any modeler. This is how the toolkit is expanded and it is available to all.
Responsive Geometry
Responsive geometry is at the core of our tech, it means our models (and functions) are developed once and then will fit everywhere. A clear example is the star-shaped building, but it applies to everything: at the micro level a type of window, once modeled, will fit any space so each window in your world is different, in fact, if the space you select for it is arched it will still fit therefore creating variation practically for free. At the macro level, entire cities could be hand-drawn by artists and buildings will populate any space at all.
Advantages of Threedee
There is a difference between a procedural workflow and a procedural modeler, we feel that existing procedural tools focus more on the workflow. It usually translates into these tools being used for kitbashing, or, pasting pre-made instances to achieve more complex models. In Threedee, there are no static meshes to concatenate, instead, the geometry is built from the ground up generating more variation and organic looks with less effort.
Just imagine the sheer number of prefabs needed to produce a curved surface whereas in Threedee you would just draw the curve and your building will "grow" on top of it. Not less important, a constant complaint about these systems is complexity. Threedee models are composed out of a dozen instructions, that’s it. In fact, by knowing half of those you can be a proficient modeler.
Integrating the Toolkit into Big Engines
We produce standard fbx files, so in a way, we’re already compatible with pretty much every program out there. Having said that, we are actively working on integration as we have tools ready for Unity and Max while working on Unreal 5.
We would love deeper integration not only on the big engines but also on modeling programs such as Blender. In particular, we would like to integrate our Mizer app that allows non-modelers to customize every aspect of every asset. There is no technical limitation to this except resources, we are very committed but also very small. We know you have many readers with the technical know-how, maybe someone would like to help?
Roadmap
The short-term roadmap includes improving our tools. We are working on a couple of killer instructions to add to our set. Our studio is knee-deep into developing interiors for our buildings (one of the most asked-about features) and we’re doing great at it. In the medium term, we plan to focus on integration, in particular, we are searching for a terrain engine to integrate with, this was also a frequent request at GDC.
Our ultimate goal is to produce entire worlds (terrain, trees, characters, sounds, everything) with minimal effort, we understand that we have one piece of the puzzle and are looking for the right partnerships to put everything together. At the same time, the possibilities we see ahead are enormous and, at some point, we’ll have to make hard decisions. For now, the worlds are the limit.