I'm Jon Olick. I make shiny things. I simplify.

I presented Sparse Voxel Octrees at Siggraph 2008.

Monday, January 17, 2011

Business and Ethics

I've been reading a book called the Ten Day MBA

Its got a pretty interesting chapter on Ethics...


The proponents of relativism hold that we can't decide on matters of right and wrong, or good and evil. Things are rarely black or white. There are so many shades of gray. Relativism proposes that ethics are "relative" to the personal, social, and cultural circumstance in which one finds oneself. Relativists are not torn by ethical dilemmas since they do not believe that truth can be discovered through soul searching. Professors teach relativism so that students may guard against it. To understand relativism, you need to recognize its four forms.

Naive Relativism
Naive relativism holds that every person has his or her own standard that enables him or her to make choices. No one can make a moral judgment about another person's behavior. So many variables affect behavior that an outsider cannot possibly be privy to all the elements that went into making a decision. Therefore, an executive at Borden is not equipped to make a moral judgement regarding the actions of the CEO of Nestle, whose corporation is possibly selling harmful baby formula in developing countries.

Role Relativism
Role Relativism distinguishes between our private selves and our public roles. These public roles call for a "special" morality which we separate from the individual making the choices. The president of a fishing company may personally dislike the incidental killing of dolphins in his company's tuna nets, but as an executive, he must not let his feeling interfere with the best interest of the company.

Social Relativism
Social relativism is akin to naive relativism. People refer to social norms to render ethical judgments. "Industry Practices", "club rules", "professional codes of conduct", and "accepted practices" are the cop-outs of the social relativist. In the produce industry, it is "industry practice" to ignore child labor laws and employ small children to work in the field and miss school.

Cultural Relativism
Cultural relativism holds that there is no universal moral code by which to judge another society's moral and ethical standards. If a whole culture holds certain beliefs, how can an outsider sit in judgment? "When in rome..." The concept of cultural relativism becomes more important as companies compete globally. Multinational corporations often follow local laws and customs that may violate ethical standards in their home countries. Discussions about aparthied revolve around issues of cultural relativism. Adopting a cultural relativist philosophy, a multinational corporation might have justified its participation in South African gold and diamond mining activities despite the employment of "slave" labor in the mines.

In some instances US corporations and citizens are barred from adopting the host country's business practices. In some countries it is ordinary business practice to pay bribes to get favorable treatment from businesses and government. The Foreign Corrupt Practices Act of 1977 outlaws overseas bribery.

The relativism concepts provide MBAs with an awareness of and a way to guard against inaction on ethical and moral issues. They provide a framework to go beyond currently held beliefs and patterns of behaviors.

Natural Law
Natural law serves as a guide to some who believe that the "right" thing to do is revealed in nature or the bible.

Utilitarianism holds that an action is justified if it provides the greatest benefit for the greatest number of people.

Universalism propounds that any action is condonable if the motive behind the action is good, since the results of a person's actions are so often not in his or her control.

My Personal Take
What is ethics?
Ethics, in my opinion, is what you do when you think that nobody is watching.

People are easily corruptible. Money and more specifically the love of money, really is the root of all evil. To justify putting an additive into a baby formula because it saves you money when it actually hurts the people your giving it to.. is morally wrong. I don't care if you think that because it costs less you can sell it to more people, and thus less babies go hungry. Its evil and wrong to knowingly sell things that hurt other people. Find some other way to make more money. Sure the road is harder, but the payoff is that everyone is better -- Not just the company. Doing what is ethical is doing the right thing, and saying no to doing what is wrong just because it is easy.

Nobody is perfect. Everybody makes mistakes. Sometimes, you might find yourself doing something that you think you shouldn't be doing. Making the choices which correct those things after the fact takes courage. Courage to face yourself in a mirror. Do it though. For your self, your family, your community, and your world.

Saturday, January 8, 2011

This is why Facebook is Valuable

The data plot above is google.com, the data plot below is facebook.com. Google has a market cap of 250 billion. What the investors are betting on, is that with all that juicy information they get from users, they can make uber targeted ads that people can't help but click. Basically achieving the same click-through ratio that searching enjoys, about 1 in every 100 people (sometimes better). Now, I'm not really sure if they can achieve that ratio or not, but I do know one thing -- I hardly use facebook anymore, but I have been using google consistently for 11 years. I don't think I'm alone in that. Maybe that doesn't matter? Maybe they figure the can get enough of the world hooked on facebook, it doesn't matter that they don't get everyone hooked on facebook. Who knows. But anyway, yes it does look like a good investment. The stock will likely triple after the IPO. I would suggest to buy it until the honeymoon period wears off, then sell like crazy.

Friday, January 7, 2011

Facebook is worth 50 billion

You've got to be kidding me. This is obviously just investor valuation overload. Goldman paid 450 million for less than 1% of Facebook. Really....

So facebook has 500 million users. That means each user is valued at $100. And thats assuming that each user is an active user, which is not the case. The real valuation may be more like $250 - $500 per active user. That just doesn't make sense to me. Their primary revenue source is advertising. You get about $1 for every 1000 views in non-search advertising. If somebody visits their Facebook page once every day, then each user is worth $0.365 per year. To recoup the best case of $100 per user, that would take 300 years or so. As in, impossible. I don't know what those investors are smoking, but it must be Zuckerberg's !@#$.

In other news, Apple is worth more than Google. Seriously, and not by a trivial amount either.

Something is wrong with the world.

Sunday, January 2, 2011

Next generation graphics

While there are many directions for video games to improve in the future. Animation being a big one. People are looking for things to do for graphics. First, avoiding the uncanny valley in next gen games may be a big problem. In general high level though (probably mostly obvious)

- Higher resolution textures.
- Higher resolution geometry.
- More world clutter and detail.
- Enormous worlds with little to no loading.
- I'd like to see water reflections that are actually reflections and not just cube-maps.
- Some people think that many more dynamic lights (1000's in a scene) are the future of video games.
- Soft shadows via variance shadow mapping or the like.
- Hair on video game characters will get a huge upgrade. No longer will characters look like they haven't showered for 2 weeks.
- Smoke using fluid simulations (this would be awesome)
- Geometry LOD is going to be a serious problem (even more so)

If you were to stick with triangles, then you would probably do some kind of subdivision surfaces.

There are other options though like voxels which can give triangles a serious run for their money. When properly optimized, they can provide very consistent frame rates irrespective of world detail.

Voxels aren't all static either. Lattice skinning can be used for characters, as well as I've seen some research in the area of dynamic KD-tree generation. There has also been some research in completely dynamic voxels, such that the world is actually changeable real-time. Leaving a foot-print in the sand actually leaves a foot-print there. Possibly permanently depending on how you implement it.

You could also do interesting procedural stuff if you had the compute power, where grass could grow back over craters over time, etc... Other benefits of voxels are the sampling you can do to do motion blur, depth of field, etc stochastically.

You can guarantee a framerate by doing progressive rendering of the frame. Stopping at a certain ms. That gives a lot of freedom to the content people to make the world how they see it in their imagination and no longer be limited by what hardware can provide.

All very interesting stuff, and I'm sure its only the tip of the iceberg.

However... things are not without its challenges. The PS4 may make the life of voxels a little harder. You will likely have to write a custom ray-casting solution for the PS4.

I'm sure many people will continue to use triangles. Hell, even I might. I'm a reasonable guy and will likely measure both approaches and pick the best one for the task at hand. However, ignoring voxels as an option seems kind of silly to me. The game developing public needs a good example implementation of voxels in order for it to really take hold in any sort of realistic way. There is an open source one from NVidia which has lots of ideas pulled from my stuff, however their solution is not really prime-time ready. For example, it doesn't stream from disk so you can only do what you can fit in memory. I don't really have time to write a public implementation of voxels, or to really contribute anything significant to the nvidia one. I'm just too darn busy right now. Who knows though, maybe I'll have time in the future.

Ok, enough voxel talk.

Another big challenge is going to be doing things for 3D displays. I don't have a lot of experience with 3D conversions for games yet, but I will very soon. I'll write more when I know more. Doing so in a deferred renderer seems like it might be a bit troublesome.

I'm sure there is much more that I could chat about here with next gen graphics. Taking each of the previous things in detail. Maybe I'll do a dedicated post to each one.

Saturday, January 1, 2011

Playstation Brain

It would be very interesting for a next generation console (I'm looking at you Sony) to do a brain-wave controller. It would be different enough from both Nintendo and Microsoft to stand out. Of course the technology itself is incredibly primitive at the moment, but nothing a massive r&d push can't fix. :) How awesome would it be to play a game by not moving at all?