Category: Dev Blog

Topics in AX: Creating the Sublime Experience of Order-to-Chaos

Architectural experience (AX) is a subset of user experience (UX), particularly in 3D game environments. AX is generated by a number of elements that are found in real-world architecture, such as surface, enclosure, circulation, materials, light, details, etc. along organizational principles such as axial symmetry, repetition through a rule set, radial and linear arrangements, etc.

When designing game environments, level designers often begin with circulation and zones. The walls, doors and ramps are added to carry players through or hold them back in zones that spawn resources or enemies, signal the location of an exit, provide cover from enemy attackers, etc. While this design process is very important for having the game environment jibe with the central mechanic of the game, it risks missing an opportunity to focus on AX, where the player experiences a joy in the architecture itself. More often than not, the gray box becomes a bit more detailed and textured, with the result  that the architecture becomes minimal back-drop for the action.

Many games have become notable for providing AX above and beyond the basic facilitation of game mechanic. The Assasin’s Creed franchise is a good example, where the game environments are a fantastic blend of historic urban fabric modified to stage the player’s specific questing objectives.

Symmetry and repetition may be bad in many cases for player orientation and rich gameplay, but this does not mean the game AX can’t deliver the  beauty of axial organization, repetition, proportion, etc., since these qualities may always be eroded with further environment editing: deterioration of wall planes, toppled towers, carts that block one getaway, but not another, a blood stain on this column, but not the others, etc. In fact, according to mnemonic practices of the ancient orators, repetition + differentiation are the keys to spatial memory.

Modeling grand architecture can be challenging using polygonal modelers. There is a logic of architecture that one can execute by hand, but for complex systems, such as an ancient basilica with many columns and arches, this can be cumbersome.

One strategy is to use a parametric modeler to build up the complexity of the world procedurally, with certain noise factors in the mix, but then freeze the model and further edit it in a polygonal modeling system to break the logic with autographical gestures, adding uniqueness to the environment that enriches the logically generated forms.

When we see a post-apocalyptic cityscape, it is the sublime effect of order turned to chaos that captures our imagination. Rectilinear buildings with evenly-space floor decks are turned into more organic forms through the destruction of parts of the facade to deterioration at the corners. A regular grid of streets becomes an obstacle course of burnt out vehicles and fallen lampposts.  Pure chaos can also have its sublime quality, but is very different from order-to-chaos frozen in a post-apocalyptic environment.

Order-to-chaos can also be found in ancient ruins on a cliff that has succumbed to natural erosion. The power of ruins is in the eye’s shifting from the perception of the original order and the later organic or randomized form of this order. Perhaps it is the psychological joy of pattern recognition, where when confronted with a noisy tableau, we begin to sense an order or pattern hidden in the noise.

I would argue that, in environment design and construction that is interested in maximizing AX, a logical additive modeling phase with a procedural modeler such as Archimatix, ported into a polygonal modeler such as ProBuilder for an autographic, hand-gestured phase of modification is a powerful workflow to achieve the order-to-chaos feel of the environment.

Archimatix Roadmap

V 1.0.7

Subdivision

Deformers

Adjustable max-min settings for Parameters

 

v 1.1.0

Shape Align

FreeCurve points to Parameters Binding

Node graph optimizations (hide relations cables, try bgtexture, etc.)

Lofter (ship hull’s, etc.)

 

V 1.2.0

3D Splines

3D Spline Sweep Mesh

3D Spline Repeater

Catmull control points

Road networks with intersections

 

V 1.3.0

Replication

Reduce Nodes to Thumbnails when zoomed out.

 

V 1.4.0

WinWall – 2.5D Booleans for cutting wall openings.

 

Getting a Handle on PlanSweep

 

 

Voila_Capture 2014-10-02_05-40-49_PM

Let’s take a look at how Handles can help you take control of Archimatix objects in the Unity SceneView. When you grab an object from the Archimatix library, it appears in the scene and is automatically selected, revealing the Handles that have been incorporated into it. By clicking and dragging these handles, you can alter various parameters. For example, with the conical object above made from a PlanSweep Generator, clicking on the centroid of the Section shape lets you change the size of the cone and the angle of its slope.

Voila_Capture 2014-10-02_05-41-16_PM

Advanced – Become a Handles Handler!

If you interested in making your own parametric objects, you can add Handles to customize how your users will interact with them. If you combine two shapes in a PlanSweep Generator, you will automatically have the Handles associated with the individual shapes. But you can go ahead and add your own handles as well. To do this, open the Handles section on any Palette and click the “+” button. Once the new Handle has been created, you can name it and then fill in the X, Y, and Z fields to tell the handle where it should place itself at any given time. In the fields add numbers or expressions using parameter names from the Controls section and mathematical symbols or functions.

For example, if you would like an outrigger handle that is always at twice the radius of an object, then you could fill the X-field in with 2*radius. As you slide the radius slider, on the palette, the handle in the SceneView will always be on the X-axis two radius’ away. Now, to have the handle alter a parameter, you add an expression (below the position fields).

 

 

 

 

 

The Venerable Column

Voila_Capture 2014-09-02_09-52-14_PMIn order to think through the nature of parametric relations, I have been working with what will be a foundational library item to ship with the first version of Archimatix: a parametric column. At first glance, a column seems so simple–a circular shaft on a rectangular base, topped with a capital and a rectangular abacus. What could be so difficult about that? Why make it parametric and not simply a modular primitive? As it turns out, the column is an architectural element that we are particularly sensitized to.  And columns are everywhere! Continue reading

Colliders and Lightmapping UVs

Voila_Capture 2014-08-28_12-26-18_PMUntil now, in the interest of speed, the meshes created by Archimatix have been just meshes drawn to the screen. Now, when you release a handle or slider, GameObjects are created with colliders and lightmapping UVs added automatically.

Continue reading

First Steps: Using the Step Iterator

Stair 2014-07-09_07-12-54_PMAll of the images on this post were generated from the same parametric model. One can control the overall dimensions of height and run of the stair, as well as Continue reading

Victorian Museum

Voila_Capture 2014-07-05_11-19-30_AM

 

Very typically these days, now that Archimatix is getting streamlined and addictive, I spent the better part of the afternoon playing with it and came up with this sort of Victorian museum type. I grunged up one with the help of Continue reading

Palladian Villa

Voila_Capture 2014-07-06_06-04-29_PMI got carried away again. Using Archimatix to create buildings is getting so addictive that modeling is starting to seriously cut into my coding time! Continue reading

Basilica Parts

Voila_Capture 2014-07-02_10-37-23_PM

Today I am testing work flow by modeling a classical basilica arcade. There are two different assemblies: one that is centered in the bay, and another that is on the bay line. The Iterator should have two input meshes for the two types. Continue reading

© 2017

Theme by Anders NorenUp ↑