Design


Carafe Like Antlers (Etienne Meneau)“Etienne Meneau’s Strange Carafes are pricey, hand-blown art-glass wine-decanters in the form of roots, or upside-down antlers.”
- Cory Doctorow

Beautiful! Absolutely beautiful!

If I owned any Nectar of the Gods, I would definitely keep it in one of these.

The-strange-Carafes
ETIENNE MENEAU sculptures




Love: a computer game environment by Eskil Steenberg

Boing Boing reports:

Eskil Steenberg is a solo game-developer who’s bent on creating an entire massively multiplayer online world single-handedly, using procedural generation techniques that cause the game to build itself by starting with clever rules and exploring them outwards. Based on the reports at Rock, Paper, Shotgun, it sounds like Steenberg’s really got something, and the screenshots are drop-dead knockout gorgeous.

- Cory Doctorow @ Boing Boing: Link.

Love, by Eskill Steenberg

Rock, Paper, Shotgun describes Love as

… An exploration-based moderately-multiplayer FPS with astounding impressionistic visuals and a procedurally generated universe.

… So far [Steenberg] has already populated it with weird animals and wondrous, gaseous visuals, and he intends to build the world into a kind of communal adventure, where gamers work together to furnish a central village, defend it from enemy attack, and explore the surround world and its many dungeons. Players will be able to do things like deform elements of terrain, allowing them to build tunnel networks or walls to defend their property. Items will also be intended for the good of all as Steenberg creates them and drops them into the world. You won’t be picking up rifles in your adventures, but more likely the plans for the rifle-building machine, that can then be utilised by everyone in your village. Part Zelda, part Tale In The Desert, part adventure shooter, and wholly abstract and beautiful, Love looks the kind of amalgam of art, programming and internet savvy that we’ve desired without even being able to imagine.

- Jim Rossignol, Rock, Paper, Shotgun: Link.

Love.



Stéphane Bura has posted an extensive and interesting study of player emotions in video game design. Bura presents theories, principles, speculations, and a pattern language of emotional game design, including numerous excellent graphics:

Emotion Engineering in Videogames
Toward a Scientific Approach to Understanding the Appeal of Videogames

Players don’t play to complete games, just as readers don’t read to finish books. Players play to feel emotions. Game design is experience crafting for the purpose of emotion engineering.
Game design is intrinsically hard because its output is an interactive system that is twice removed from its goal. The game designer produces rules for interaction that, with the participation of the player, generate game states that themselves induce emotions in the player.

If we can describe a given game state using a set of gameplay variables, we get the following cycle:

Stephan Bura: Game Design Cycle

Interactions between the player and the game produce changes in the gameplay variables.
For instance, finding a heart container in Zelda and getting a bigger full health bar obviously changes something in the game state. We’ll explore below what this could be.

Variations or stability of these variables induce emotions in the player.
For instance, having a bigger full health bar could make him more confident.

Player’s emotions influence how he interacts with the game.
For instance, being confident might make him take more risks; pride might keep him chasing a high score; or boredom might make him stop playing altogether.

… Game design works backwards around this cycle, trying to predict player emotions from changes in the interactive system. But our knowledge of the dependencies between interaction and emotion is so sparse that most changes require testing. Testing in part requires implementing the changes, which costs time and money. Thus, in a professional setting where budget is an issue, game design innovation can quickly become a risk.

- Stéphane Bura: Link.

Via Play This Thing!

Bura has labelled his essay “(v 1.0.1)”; I take this as a good sign, that he’ll continue to develop this already impressive work.



Here’s one for the software developer in all of us:

“It’s absolutely critical … to not think of these layers as persistence, business, and presentation. Database, processing, and user interface are much more appropriate terms.”

[I]t’s completely infeasible to encapsulate an application’s business logic into a single layer. It’s also logically impossible.

By the time a developer creates the perfect persistence layer — something that takes in any type of data, tucks it away somewhere, and provides an easy mechanism to retrieve it — he has created a separate infrastructure application. Recreated, actually. The operating system’s file system already does exactly that.

By the time a developer creates the perfect presentation layer — something that takes in any type of data and displays it in a flexible manner — he too has recreated an infrastructure application. ASP/PHP/etc with HTML already does a fantastic job of implementing that goal.

There is absolutely nothing wrong with having a multi-layered application. In many cases, anything but that would be a bad design. It’s absolutely critical, however, to not think of these layers as persistence, business, and presentation. Database, processing, and user interface are much more appropriate terms.

- Alex Papadimoulis @ Worse Than Failure: Link.

Big Ball of Mud

“Complete rubbish” sums it up nicely.

There’s a pattern for this recommendation, and it’s very common — The Big Ball of Mud.

- Comment @ WTF: Link.

Business Logic: the Junk Drawer

The business layer is not mythical, it’s simply done poorly in most instances because most development departments have no definition of what is business logic and what is presentation logic or database logic.

When I separate, I ask myself what I am doing in a class. If my class exists only to enable display, then it’s view logic. Sure there’s page-flow which is defined by the customer, but it’s still the way the interface works, not the way the application processes data.

What about when the class does both, enables a view and implements business logic? The answer to that is pretty simple … your class is doing too much.

Persistence logic should pretty simple. There should be a way to find, create, update, and delete. Anything more than that is business logic.

I have a fourth class, that is utilities. All code that does something that has nothing to do with the application like xml parsing or string utilities(yes I know there are a ton of them them available to download, but this is an example) goes in the utilities.

Everything else is business logic. In my mind, if you correctly define the other three, business logic is like the junk drawer because it’s such a broad category.

- Comment @ WTF: Link.

Understanding the Problem Domain

As programmers we try to scrape by learning the least we have to about the problem domain, and instead lean heavily on people qualified to properly understand it.

Unfortunately, this means we cannot look ahead and we make some pretty stupid design decisions. A lot of the needless complexity and “over engineering” comes from a poor grasp of the actual problem. Meanwhile, we understand the technical issues very well, and so we quite properly manage to slot them into time-tested patterns.

- Comment @ WTF: Link.



Virtual worlds for do-it-yourselfers:

Metaplace
“Metaplace is a world-creator that runs right in your browser, and that makes it incredibly simple to share objects, characters and entire worlds.”
- Boing Boing

Right now, there are lots of people who want to use virtual worlds for research, or education, or business, but it’s just too darn hard to get one going. Now you can create a world in just a few minutes and start tailoring it to your needs. Basically, we wanted to democratize the process of making online spaces of all sorts…

We speak Web fluently. Every world is a web server, and every object has a URL. You can script an object so that it feeds RSS, XML, or HTML to a browser. This lets you do things like high score tables, objects that email you, player profile pages right on the player — whatever you want. Every object can also browse the Web: a chat bot can chatter headlines from an RSS feed, a newspaper with real headlines can sit on your virtual desk, game data could come from real world data… you get the idea. No more walled garden.

Link.



“A prodigious amount of thought goes into the design and layout of a casino’s gambling floor. The layout of slot machines and card tables is carefully designed in order to maximize the casino’s profits and lure customers into the games.”

Psychology of Slot Machine Design

(more…)



Eben Bayer and Gavin McIntyre: Mushroom Insulation“The insulation is created by pouring a mixture of insulating particles, hydrogen peroxide, starch, and water into a panel mold …. Mushroom cells are then injected into the mold, where they digest the starch producing a tightly meshed network of insulating particles and mycelium. The end result is an organic composite board that has a competitive R-Value — a measurement of resistance to heat flow — and can serve as a firewall.”

Student inventor Eben Bayer … has developed an environmentally friendly organic insulation. The patented combination of water, flour, minerals, and mushroom spores could replace conventional foam insulations, which are expensive to produce and harmful to the environment.

… Bayer’s knowledge of the Earth and fungal growth lead him to develop a novel method of bonding insulating minerals using the mycelium growth stage of pleurotus ostreatus mushroom cells.

“The insulation is created by pouring a mixture of insulating particles, hydrogen peroxide, starch, and water into a panel mold,” Bayer says. “Mushroom cells are then injected into the mold, where they digest the starch producing a tightly meshed network of insulating particles and mycelium. The end result is an organic composite board that has a competitive R-Value — a measurement of resistance to heat flow — and can serve as a firewall.”

… Bayer’s process resulted in a new energy-saving, cost-effective, environmentally friendly class of insulation that could replace traditional synthetic insulators such as foam and fiberglass. This spring he began working with fellow classmate Gavin McIntyre … [they] will be forming a company called Greensulate to commercialize the technology.

Beyond insulation applications, the duo envision modifying the growing mixture slightly to include reinforcing materials that could be used to create strong, sustainable “growable” homes. Examples of this application include inexpensive structural panels that could be grown and assembled on-site in developing nations where usable housing is scarce and generally hard to obtain, or in disaster areas where temporary housing is essential.

[Link]

Via Boing Boing.



Law of Optical Volumes: The Math Behind Wired’s New Logo

When the February issue of Wired Magazine debuted with a new logo, we explained inside the magazine that it “obeys the Law of Optical Volumes.” We were being coy –many readers went scurrying to Wikipedia and Google to investigate this curious law, only to find … nothing.

Here’s the skinny: The Law of Optical Volumes is Wired creative director Scott Dadich’s term for a typography rule that governs the spacing of characters within a font. The theory behind it has been evident on newsstands for years now, thanks in part to typography guru Jonathan Hoefler, whose firm Hoefler & Frere-Jones designed Wired’s new typefaces used throughout the magazine. You can also see Hoefler’s work at typography.com – or in The Wall Street Journal, Esquire and Martha Stewart Living.

And here’s a definition: The Law of Optical Volumes states that the area between any two letters in a word must be of equal measure throughout the word, and remain consistent throughout the body of text.

The Law boils down to the science of kerning. In typography jargon, kerning is the act of adjusting the space between two letters to make words and sentences lay out more evenly. For example in the word “VAST,” there is usually reduced space between the V and A, and maybe extra space between the S and T. Otherwise the “VA” would seem too far apart and the “ST” would seem cramped.

[Paul Boutin: wired.com]

Via Slashdot.



Fab@Home PrinterFor the do-it-yourselfer, the make-anything-yourself machine –

Fab@Home is a website dedicated to making and using fabbers - machines that can make almost anything, right on your desktop. This website provides an open source kit that lets you make your own simple fabber, and use it to print three dimensional objects. You can download and print various items, try out new materials, or upload and share your own projects. Advanced users can modify and improve the fabber itself.

Fabbers (a.k.a 3D Printers or rapid prototyping machines) are a relatively new form of manufacturing that builds 3D objects by carefuly depositing materials drop by drop, layer by layer. Slowly but surely, with the right set of materials and a geometric blueprint, you can fabricate complex objects that would normally take special resources, tools and skills if produced using conventional manufacturing techniques.

[Fab@Home]

Via Boing Boing: Build a fabricator at home.

More @ New Scientist –

The machine connects to a desktop computer running software that controls its operation. It then creates objects layer-by-layer by squeezing material from a mechanically-controlled syringe. A video shows a completed machine constructing a silicone bulb (16MB, wmv format).

Unlike commercial equipment, the Fab@Home machine is also designed to be used with more than one material. So far it has been tested with silicone, plaster, play-doh and even chocolate and icing. Different materials can also be used to make a single object – the control software prompts the user when to load new material into the machine.

[New Scientist]

I’m reminded of “Pay For the Printer” a short story by Philip K Dick. The Printer is an alien creature, a large blob, capable of replicating objects. Human colonists have grown dependent on the Printer to make copies of tools and other objects. The Printer gets old and tired, makes poorer copies, dies. I forget the details but I remember that it’s a sad story.

Speaking of PKD, here’s something interesting — Which PKD Story Are We In Today?
Frolix-8 matches up PKD titles with news items. An amusing example of phildickian thinking.