Português English

Blogs

The City and The City feature
2010.10.15

The City and The City

The city and the city top 0.jpg

Masterpiece. The crazy style of China Miéville is notorious. He specialized in a science fiction sub-genre called weird fiction, which mixes the real world with some out-of-the-place elements that are common to the characters, somewhat like Lovecraft. Almost all his books are great. But The City and The City is really great.

The story is a noir murder investigation. The main character is the detective Tyador Borlú and the story is first-person point of view. Borlú is a great character, clever but not a Sherlock, and a little sarcastic about his job.

One curious thing is that I “read” the audiobook. In the beginning, I was completely lost because the name of the characters and places: Besźel, Ul Qoma, Tyador Borlú are just unusual.. II had to check the names on the internet to see how they are written. After some time, they become familiar.

{SPOILER ALERT begin}

Its basic concept is fascinating: two cities that occupy the same physical space, at the same time. People that live in one have to “ignore” the existence of the other. “Trespass” is a crime worse than murder. Crazy crazy concept. That is just one element that sticks you to the book.

{SPOILER ALERT end}

As of September 2010, the novel only won the Hugo Award for Best Novel, tied with Paolo Bacigalupi’s The Windup Girl, the BSFA Award for Best Novel of 2009, as well as the 2010 Arthur C. Clarke Award and won the World Fantasy Award for Best Novel.

The city and the city content 2105.jpg
The city and the city content 2106.jpg
The city and the city content 2107.jpg
The city and the city content 2109.jpg

My Rating: 9★★★★★★★★★
Goodreads: 3.89
The New Business Scenario for Games feature
2010.09.10

The New Business Scenario for Games

There was a time that making and selling games was simple. puf…. old times. The last years opened several options. The amount of variables now can be a bit overwhelming and inevitably will make people get the wrong conclusion. A lot money to be made and to be lost!

Indies

The indie movement is officially in vogue. World of Goo, Limbo, Amnesia, Darwinia… they made, together, quite some revenue and receive amazingly good critics. The small financial risk, the creative independence to explore some bold choices are all elements of its rise.

A important part of the emergent trend of indie games is the access of good middleware. Unreal released the same award winning engine that power AAA games in an indie-kinda-friendly license. UDK, its name, is impressively complete. Torque continue to expand. Unity 3D 3 is better than ever and even big fishes are using it. The cost of AAA tools reduced so much that the “limited only by our imagination” cliché is now more true then ever.

The new business scenario for games content 2113.jpg

Handheld

Recent data indicates that the handheld (game-only devices) market is in decline, mostly because the smartphones are now powerful enough to host not only Tetris and Bejeweled but full featured 3D games. Some games for iPhone and Android are really impressive. And because the distribution costs are really a tiny fraction from a full console distribution (Apple store and Android Market only charge a small percentage), the market is dominated by indie companies, that have a better development cycle ans scale.

The new business scenario for games content 2114.jpg

Browser

Zynga, by generating more revenue with FarmVille than Facebook entirely, proved that casual gaming can be lucrative and be a big-company business. But like the new handheld scenario, it’s flooded by low quality titles made by indies. Zynga also proved that micro-transactions can be considered as a serious option. Several big 3D engine suppliers are creating browser plugins so more high quality games can be placed in an internet only environment.

Consoles

With the new motion controllers and online strategies, consoles are living a new good era. The prices are going down and they are getting even more popular on south american, asian and eastern european countries. The problem in this segment is the high competition in the AAA tier. The production cost is so high that is getting more and more common to read about studios being closed or rearranged after one single bad-selling project.

Cloud

The most surprising things on gaming, almost unbelievable, is the use of external computing for gaming. OnLive (defunct) is already live and sells games as service: they run the game in their computers and you only need a monitor and joystick/keyboard. No need for a top-notch computer or console. The games could be even played, at full power, in a tablet or old computer.

The amount of computing power needed is enormous. And I mean it: I cannot think that they invested less than billions of dollars in several data centers. The paradox is the servers are all in US, the very market that games prices are lowest and piracy is not a major issue. Brazil, Russia and Europe would be much more receptive to this model, but I don’t think the cost would ever pay off…

The bottom line is: for major companies, the “several studios working on a single franchise ratter than several franchises being developed by a single studio” mantra will still apply. Call of Duty and GTA will continue to generate millions. But I foresee the rise of several small and mid-sized companies that will focus on niches pointed above. Zynga is one of them. I believe that there will be a quite a number that will make the break even point and grow simply because the market size expanded and entry barriers lowered.

Good luck.

The new business scenario for games content 2115.jpg

Edited 2022-07-13: Torque

2010.07.15

Hardware Bottlenecks

We prices of hardware are getting cheaper and cheaper. If we werent using legacy computers, the whole world could be buying massive amounts of power.

General processors (cpu) and specialized processors (video cards) are really powerful and affordable. We now can create a super fast computer with a fraction of the price of a few years ago. A HUGE potential is simply wasted. Except for gaming, video creation and some other situations, a person will not use it at full power 99% of the time.

Both permanent storage (hard drive disks) and non permanent (RAM) are also very affordable. A terabyte HHD is cheaper than two 500 GB, which are cheaper than 4 of 250 GB. The current inflexion point is around 1.5 TB, but is progressing.

With so resources available, good programs are getting less and less relevant. Algorithms are for people who don’t know how to buy computers.

We are now focusing on extract the most of our bottlenecks. Power consumption, wired and wireless connections speed are probably the biggest ones. We still are about to see a ground breaking technology to deal with these. Meanwhile, solutions like cache and problems like lack of synchronization between devices will persist.

Unity 3D feature
2010.05.20

Unity 3D

Started recently to play with Unity 3D, an IDE/Platform to develop games. I’ve heard about it because they recently decided that the indie version to be free. And because this version is quite similar to the Pro version and the Pro version is affordable, I decided to give it a try.

I am really impressed with the package. It is solid in features but what impressed me most is the easy user interface. Generally, programs that strive to be easy to use also make things too restrictive. Unity 3D is not one of them. It is a super intuitive IDE but also can be changed through code.

As I discussed before, the competition of engines should be irrelevant to game makers because we have a lot of data demonstrating that while the technology might help, the actual implementation is what matters. Good games with old/bad engines and Bad games with state-of-the-art engines are quite common.

The main reason to choose one is… current knowledge. Learning things all over again is costly, and Unity address this by adopting several standard technologies. For scripting, you can use C# (very close to Java and C++), JavaScript or Boo. For 3D models, it imports the most used formats (3DS, Max, Ma, Blender…). The same goes for 2D (which also includes importing Photoshop native files), sound and music. All that means that your workflow and suite of programs will remain basically the same.

With the indie version being free, a huge increase of documentation and community support is expected. The same for professional assistance. I’m happy to move from Torque (which uses several conceptual dogmas that I’ve never liked) to Unity.

PS: with the web player, its possible to create games for web pages just like Flash… take a look in the demos.

Unity 3d 3 content 2128.jpg
Unity 3d 3 content 2127.jpg
Unity 3d 3 content 2126.jpg
Unity 3d 3 content 2125.jpg

Settings API feature
2010.04.03

Settings API

After creating several sites using several CMSes, one single thing still annoys me: the lack of a proper export settings feature. Putting a local testing site in the official online server is always a nightmare, since we have basically try one of the options:

  • Copy the whole database: it also copies several testing data we used.
  • Step-by-step replication: After 3 days, you will still discovery several options that were not copied
  • Manually select DB table-by-table to copy: unless you really know of are you doing, its quite crazy

In Drupal world, one of my most admired companies, Development Seed, created both Features and Strong Arm that try to address this, but the lack of broad and ubiquitous support we still feel that we will miss something.

Settings API content 2095.jpg

There are 3 types of data that a computer program might have:

  • External: the spreadsheet for Excel, html to a browser, the image for Photoshop… its the reason why the program exists.
  • Internal: the data that makes the program works. It’s the settings.
  • Temporary: stuff that the program creates in order to gain performance. It, by definition, don’t need to be backed up because the program can recreate everything

Every program that is a platform should provide a Settings API. It would help on 4 big scenarios

Local / Production

There are several situations that we need to maintain a testing site for development new features without testing in the real production site. But time to time, we are satisfied with the test results and we and to apply the modification into the production site. For some business, like 3rd party site development, its the daily job, so its a must to make this workflow faster and painless.

Debug

After installing several plugins, its each to get a very unstable site, because they are changing same data. It would be much easier to monitor modifications and find solutions. A settings comparison tool would be great, so we could see what were overwritten.

Distribution / Template

Platforms, by definition, allow us to build stuff over it. But quite often projects are similar. So why not create a template for other people to use it? For a site builder like Drupal, we could create eCommerce, Blog, Forum templates for an easy deployment. It’s an extraordinary feature for newcomers.

Settings API content 2096.jpg

Stack

If the program is settings aware, a good extra feature is to apply in a stack. It’s a similar concept of CSS, cascading settings based on specific variables. Imagine, for example, a site about football teams. While the site has a main theme, each team’s page can have one and the users can have a personal one. We could enabled this cascaded settings for each setting.

Multidimensional settings

If we have different content types in a site (ex: static pages, forum pages and news pages), we could have a page to change all settings related to each content type and have a page to change a specific setting of all content types.

As we can see, settings is a very important part in a program. We have to think it with more care to leverage its potentials.

Bruno MASSA