The Last Game

Posted: July 5, 2010 at 8:48 pm

So with the 10 year anniversary of Deus Ex doing on at RockPaperShotgun, I’ve begun to seriously and honestly think again about games, game design, and what I want from it.

It turns out, these things run through my head all the time. I find them to be a wonderful way to experience stories, ideas, places, relationships…..essentially anything and everything in a new and genuine way. When I was young, I used to play Sim City and think that someday I would be able to play out the lives of individuals in the same manner (which eventually became The Sims). When Sim Town and Sim Tower came out, I started to think that what would be a real nice change of pace is a full simulation from the ground up. I thought how amazing it would be to seamlessly go from ground, into space, and land on another planet. Spore is the first step, but I want a more visceral experience. I want to be able to land and wander around in a fully living/breathing city with it’s own social norms and economy with spacefaring traders the only link between these disparate sections of the same community. I truly, deeply wish you could leverage EVE Online as the connecting fabric between Global Agenda, Planetside, Star Wars Galaxies, and The Old Republic creating a supermassive (and hopefully super-successful) MMO. A persistent state of identity across multitudes of highly detailed locales and game mechanics seamlessly integrated into one hell of an amazing experience.

I do believe this is possible, but it would have to take form in a completely different manner. Let’s say I am in charge at EA trying to get this to work. You grab 1 studio to design a fully encompassing game with subsections of game mechanics that can stand alone on their own as a game themselves. For instance, you have one part that is all about trading and building corporations and the interesting interactions that happen between competing corporations. This is akin to EVE, and can be successful on its own. Another section has to do mostly with large scale open field warfare in land based combat. This could be your Planetside game. Another part is the interaction on the local level of creating a city and maintaining it. This is your Sims Online meets APB. Each of these games gets developed by a different studio with the goal of eventually combining them together maybe a year or two after launch. This allows each community to figure out it’s own identity and culture and gives the developer time to solidify their own mechanics and start getting ready for the transition to a larger community.

What I love about this concept is that if you started with one big game, people would be turned away by how massive and confusing it is. If you start them as separate, however, people can pick and choose which kind of experience they want to take part in. Then, when the games together, you have all sorts of interesting interactions happening. You might have a major corporation in the EVE world funding the war efforts in a Planetside battle so that they can gain the mining rights in an area.

My favorite scenario: A soldier from the Planetside area could be in town shopping at the Sims area and decide to steal some ammo before going back into the field. This causes a bounty to be put out to the APB players. The corp he is employed by decides to ship him off to another planet via the EVE part of the game to defend an operation that is under attack, not knowing about his earlier transgression. The APB players then send a message out that a transport is leaving with a known felon on board, leading to the transport being ambushed at the nearest jumpgate by some bounty hunters. This causes a delay and the reinforcements don’t make it in time. Now all of a sudden an operation on the other side of the galaxy is in the hands of a rival corporation because some dude wanted free ammo.

You have operational issues such as keeping the economies in line with each other, making sure players don’t all crowd into certain areas, getting the different games to talk kindly to each other, and somehow getting a largely seamless transition from one area of the game to another. However, I think the difficulties are far outweighed by how exciting the opportunities and interactions are.

From a business perspective you have risk split up into several properties that can fail without jeopardizing the success of the whole project(though yes I do realize that MMOs are extremely expensive and risky - much less several of them!). If you successfully join them together, you have a property that cannot be rivaled by anything or anybody for a long time. Nothing can beat World of Warcraft because people don’t want to leave it for the same experience - entertainment inertia if you will. To succeed - have to do something different. However, if your game encompasses nearly all experiences - competitors will have to make something MUCH better or MUCH bigger to even compete.

I call this The Last Game because it’s not a just a space game, or a dungeon crawling game, or an FPS…….its all games together. Games are, at their root, an abstraction of the world around us. No matter how odd the game - they all have one foot firmly planted in reality so that we can enter their world with at least a semblance of understanding. A game that can combine so many aspects of our universe becomes not just A game, or A good game, it becomes THE game. It becomes the only game that matters - only to be supplanted by a newer version of the same game. Really it only ends until it realistically simulates the universe itself. Though, at that point, you’re really just talking about the creation of The Matrix. Of course, this isn’t where I intended my line of thought to go, or this blog post for that matter. It is, however, where the idea ends. Along with this post.

Tewts

Posted: June 27, 2010 at 5:44 pm

I remembered to finally post the animation Stephanie and I worked on (her since August, me since January). I was responsible for lighting and effects work, though I was lucky enough to have input on other things as well (story, layout, etc.)

Finally

Posted: June 25, 2010 at 8:00 pm

Since I consistently make market predictions and am always right (muahahahaha) I figured I would actually write them down and stand by them.

Firstly: Apple is inflated. Back when it was around 210 it felt overinflated before the iPad announcement (though when it touched 190 I yelled BUY!) It has hit the stratosphere mainly on hype and brand - or really overhype. Good products are enroaching on their space, they currently have a brooding iPhone 4 fiasco, and I’ve noticed brand fatigue amongst even diehard users. iPad has done well in initial sales but it won’t be a continued driver of revenue for them long term. A year from now the value will be a very different picture. A dearth of new products and major updates to current products will turn its price downward. It’s like Google a few years back when people thought it would reach $1000 a share. I called that bubble - I’m calling this one too.

Second: EA is drastically undervalued. There is a good management team over there with great products making extremely smart decisions. Stock value will grow drastically over the next few years.

A year ago I made the prediction we would touch 11,000 in March and tumble immediately back to realistic levels (upper 9,000). I was early by about a month.

Finally, I asked the question “Why is Ford so cheap?” last March. They had plenty of cash, good products, and good brand.

Renderman for Maya and GI

Posted: April 22, 2010 at 4:14 am

So I’ve been tinkering with RFM for a while. Everyone always says use an environment light to do your GI. Like an idiot - I never understood how to get it to do what I wanted…which is not simulate the whole freaking thing for me! I’m a lighting artist - I hate when the computer takes all the control away from me. So I finally figured out how to make a sweet GI pass where the environment light does NOT contribute to the solution - it’s just the vehicle for calculation. The steps are as follows:

1. Create an Environment light.
2. Set Environment Color to black (this essentially turns the light off).
3. Turn shadowing to colorbleeding
4. Click the button to the right of Bake Shadowing. in your rmanRenderRadiosityPass create a new camera. Point this camera at the area of the scene you want GI to be in.
5. I turn off “Contribute Radiosity” in the environment light just for good measure.
6. Make sure raytracing is off. Why? Because YOU DONT NEED IT! Yeah PRMan Rocks.
7. Render. You now have GI.

By the by - if you want to only use certain lights for your GI solution - click the button to the right of “Light Set” in your rmanRenderRadiosityPass. This creates a light set in your outliner that you can drop lights into. Lights in this set will be the only ones used for creating your GI solution.

It’s taken me a long time to figure this out but I am much happier for it.

Dont use symbols in your paths

Posted: April 10, 2010 at 3:19 pm

Ever.

I’ve been having issues getting shaders to open in Renderman/Slim for a few weeks now. Couldn’t figure out why. Turns out - it was compiling shaders to art/A&M/projectname/…… which apparently it has the capability to do. It just doesn’t have the ability to READ from a filepath with a symbol in it. I moved the project from underneath A&M and all of a sudden it started working again. I guess they aren’t escaping their paths correctly on read. Don’t you just love running software originally written for linux?

Windows 7 and missing icons

Posted: January 31, 2010 at 7:57 pm

I’ve had missing icons recently. Seems this happens from time to time in the operating system (for whatever reason). Seems like a pretty silly bug to have an issue with.

In any case, I found a way to fix it by deleting your icon cache. To do this:

  1. Press Ctrl-Shift-Escape to get the task manager.
  2. In the Processes tab, click on explorer.exe and click End Process. You’ll get a confirmation dialog. Click “End Process” to confirm.
  3. From the File menu (still in the task manager), choose New Task (Run…).
  4. Copy/paste/enter the following command in the run box:
    Code:
    cmd /c del %userprofile%\AppData\Local\IconCache.db /a
  5. Open the Run box again with File –> New Task (Run…). This time, enter this command:
    Code:
    explorer.exe
  6. All should be okay now. Open the Start Menu and confirm that your icons are fixed now.

Boom.

Emitting Fluid from Particles in Maya

Posted: December 9, 2009 at 6:56 am

Edit: Maya 2011 now supports this out of the box. Go nab it.

So after a days worth of research I now have the information needed to emit fluid from particles in Maya. A whole new world of possibilities has been opened!

First off grab this file - though I only know it works FOR SURE in Maya 2010 x64 on Windows 7. Anything other than that and you’re on your own to compile it!

Place that file in Program Files/Autodesk/Maya2010/bin/plug-ins/

Open Maya, load up the plugin through the plugin manager, then type

createNode simpleFluidEmitter

This will create your simpleFluidEmitter in your scene. It looks like any other emitter. Now, create your particle emitter like you would any other time. If you started from a clean scene, you should have a simpleFluidEmitter called fluidEmitter1 and a particle called particle1. You need to attach these two by using the code

addDynamic fluidEmitter1 particle1

Now every particle you emit from your particle emitter will have a nifty fluid emitter attached to it. Now you need to make sure that your fluid emitter has something to create fluid in. So go create a 3d Fluid Container and then open up your Dynamic Relationship Editor and connect fluidEmitter1 to your new fluid container (just like you would any other fluid sim) and voila! You are now using particles to generate fluid! Go on! Reap the rewards of my toil and failure! Create wonderful simulations!

BOT

Posted: December 1, 2009 at 6:55 pm

Here’s what I sold my soul (and summer) to.

Subdivide Selected

Posted: August 26, 2009 at 11:48 pm

Edit: You can totally manage Subdiv Selected through Shared Geometric Attributes. I fail at life.

First off - yes I am done with the Disney project. It went very very well and Kristi strongly urged me to apply for their internship program next summer (since I obviously won’t be done with my thesis by then. Pah!). She must have liked me and/or possibly my work as well. I like when things go nicely. I wouldn’t mind working with her and Adolph on a project sometime (maybe in a year? Aww yeah!).

In relation to that - this means the project is done! However the lawyers are deliberating on whether we can post it on the internet or not. Thus, I cannot share it until we get the word sent down from upon the mountaintop.

Now, if you’ve ever used Renderman for Maya (I doubt it) you know that adding the subdivision attribute to your objects is….well….pretty crappy. So I wrote a neat little script during the summer that adds it to everything you have selected in your scene. I figure I might as well post it here just in case I lose the script someday sometime somewhere. Plus you all (meaning Mom) can use pieces of it if you need.

/*
subdivSelected

Maya 2008 & Renderman for Maya 2.0.1

This script adds the Renderman SubDivision attribute for all polygonal meshes currently selected.
It will not add the attribute to any other object type and will automatically add the
attribute to the correct shape in the polymesh hierarchy

*/

$selectedmeshes = `ls -sl`; /* list everything selected */
int $size = size($selectedmeshes); /* find size of selected array */
string $attrnm=`rmanGetAttrName subdivScheme`; /* get the subdiv attribute name so you can add it later.
do it this way because the name is long/nasty/changes.
Hardcoding the name may leave you incompatable later on. */

for($i=0; $i<$size; $i++) /* loop until end of array */
{

string $shps[] = `listRelatives -shapes $selectedmeshes[$i]`; /* find the shape of what’s selected */

if (`objectType -isType “mesh” $shps[0]`){ /* check to see if its a polymesh. skip otherwise. */
rmanAddAttr $shps[0] $attrnm “”; /* add the subdiv attribute to the mesh */
renderManUpdateAE; /* Update and move on */
renderManShaderUpdateAE “”;}
}

Yes that’s a lot of comments. That’s how I write code boys and girls. Don’t complain that you actually know how this thing works at first glance.

Mickey is in town

Posted: June 7, 2009 at 2:56 pm

So my life is being owned by Disney at the moment. It would be super sweet and awesome if Nathan hadn’t turned “Team Awesome” into “Team Quarantine”

Everything is going decently well so far, but we are only a week in. You can wander along over here (Edit: link removed due to threats by Mickey’s lawyers. They’re a grumpy lot!) to stay on the “fringely-to-date” for everything we are doing. Yeah that’s right - it’s hosted on Disney’s servers. I’m important now. I don’t know if there will be spots for us to upload our progress later on or whatever, but that’s kind of home base for now.

The real reason I showed up was to share a MEL script I just had to write for some asset management yadda yadda yeah nobody is still paying attention anymore. The script returns the scene filename and removes the _mb or _ma at the end. Now you can quickly name nodes after the scene! Word.

string $currentScenePath = `file -q -sn -shn -wcn`;
$currentScenePath = startString($currentScenePath, size($currentScenePath)-3);

If you are working on filenames that are longer than mb or ma - just change that 3 to a 4. Simple.