Browsed by
Category: Travel

Great time at the beach

Great time at the beach

I hadn’t taken much vacation this year (3 days to be exact), and had been grinding on a lot of code the last few months.  So, I dug through our list of corporate discounts and found a great place on the Oregon coast I could stay at for cheap.  So, I took 2 days off and went to Pacific City, OR and got this great view from my room every night.

I feel I got quite lucky because the weather at the coast isn’t usually very clear in the fall – but I got two near-perfect days.  Guess someone was looking out for me.  🙂

Siggraph 2011 Trip Report – Vancouver, BC

Siggraph 2011 Trip Report – Vancouver, BC

Summary: 
Very good trip, but not a huge ‘groundbreaking’ year of new technologies.

  • Courses were really good and had a lot of good information from top-notch game developers/houses.  Most of the courses included a review/update on ‘what is the current state of the art’ which is good for those who aren’t following those niches closely on a regular basis.
  • Voxels and voxel methods are kind of back in rage again – but for things like visibility, ambient occlusion, and AI pathfinding.
  • Lots of industry leaders questioning direction and disparate energies trying to figure out where the market and graphics are going.  API developers and HW vendors desperately trying to find out what the next platform of choice will be (laptop/mobile phone/pad/etc) so they can be positioned to capitalize on it when it becomes clear.  Nobody seems to know.
  • MLAA was the star tech of the show as far as people showing up with implementations and praise of it.
  • Many talks stressed that fact fast content creation and rapid artist pipelines are *the* driver of technologies and tools; and most coding/engine requirements are subservient to the needs of the content pipeline.
  • While the show floor was very much smaller than the California years, 3D printing and 3D capture was big.   You could get your face scanned at one booth and 3D print it at another one in just an hour or so.
  • Intel’s booth was really well attended with lots of interest in onloading techniques.  I had a number of good talks with developers – some of which wanted to know if we’d be bringing Larrabee back. J

 

Sunday:
Course
– Destruction and Dynamics for Film and Game Production
This all afternoon session started with a great overview of current destruction techniques.  There was a great and thorough overview of the current ways to break up a mesh (Voronoi, Boolean, FEM convex decomposition, and tetrahedral creation), the methods and problems of collision detection after the breakup, and constraint solving.  The focus now is not so much on the math of the constraint solvers, but on how to use them in intuitive and fast ways for the artists.

Takeaways:

  • Use the best freely/commercially already available solver for your purpose out there.  Constraint solvers are now very clever and (all things considered) computationally cheap. 
  • Don’t futz with the solvers to get what you want – use tons of constraints to get the effects you want.  Many movie models (like the earthquake scenes of the movie 2012) used literally thousands of constraints per building.  By using constraints, you can scale the effect up and get nearly the same look/feel as when you did it on the low-poly version.  Fiddling with the solver just gets you more and more headaches as low-poly pre-vis ones will collapse very different than high-poly versions and vice-versa.
  • Treat the solvers as black boxes and use different activation systems to achieve desired effects. It is easy and intuitive for artists to use these below methods and nobody needs to experiment with the super-fiddly parameters of the constraint solvers for each kind of breaking they want
    • Dynamic activation = when you break an impulse threshold, you break the constraint holding it in place
    • ‘Glue objects’ that simply hold sets of other constraints together to get ‘clumping’ effects. When the set has a higher impulse than the individual pieces
    • Cascaded activation = you don’t even consider objects as breakable until it becomes an edge piece or is touching an edge piece.   Gives nice ‘collapsing wall’ effects.

Monday:
Course – Advances in Real-Time Rendering – Parts I & II
http://advances.realtimerendering.com/

  • Went to an all-day course with presentations of new real-time techniques by such big-wigs as CryEngine3, Halo R&D team, Little Big Planet, Disney and many others.  It appears that voxel techniques are making a comeback for Halo and Little Big Planet guys.
  • Upcoming Halo title had a fascinating technique for occlusion via voxels.   They collaborated with Umbru software to develop a new kind of voxel-based visibility and portal system when their existing watershed algorithm started breaking down with the new outdoor content
    • Use a BSP tree of voxel areas to descritize the scene into a hierarchy of voxels and connect the polygon geometry with voxels.  Then use that unique structure to generate portals automatically, do fast runtime visibility, and AI pathfinding
    • They also changed their engine’s threading system to be job based instead of a more manual load-balancing that didn’t scale.  They found novel ways to avoid synchronizing the game engine between threads and dramatically reduce memory copies.
  • For their new Cars 2 game, Disney used a unique uniform-grid system to lay out light probes for their spherical harmonic lighting system. Lead to some great optimizations and easy authoring.
  •  Little Big Planet was using voxels for spherical harmonics and ambient occlusion lighting.  They also used a single particle system with really clever screen-space blending in Little Big Planet 2 to generate all their special water/explosion/fire effects.
  • Cryengine 3 guys talked about how they used previous frames with re-projection to get fast occlusion culling and local reflection.  They also used a lazy technique of updating cascaded shadow maps with further out maps getting updated much less often.
  • Frostbite used a rhombus shaped boken technique which has more passes, but is separable and therefore runable on multiple threads.  They also used cascaded maps for culling, not just shadowing.
  • Treyarch talked about techniques they used on Call of Duty Black ops.  They only allowed one dynamic light per surface, but unlimited lightmaps/lightgrids and environment probles per object to always maintain a 60fps goal but with great lighting effects.
  •  A talk by a new developer in ‘stealth mode’ who talked about Real-Time Image Quilting – which allowed realtime texture quilting without seams for expansive environments.
  •  The Gears of War 3 guys talked about overcoming lighting constraints on the PS3 by combining the light vectors into a single combined vector and doing tricks to extract it in the shader
  • Final talk was by a fellow who did super-accurate, highly realistic facial rendering with subsurface scattering.  His technique was an improvement on the nVidia one in many ways (speed/quality), but still not realitime.  Still, was interesting conversation about the difficulties of rendering realistic skin.

–         

Tuesday
Course- Beyond Programmable Shading I + II

All day course that talked about the direction and emerging graphics trends.  I alternated between this and looking at posters during the day.

  • Raja Koduri from Apple did a great talk on how power is managed in current devices.  He basically echoed what Intel has been saying: power isn’t scaling with Moore’s law – and how simple programming mistakes can save or kill a battery.  He talked about the need for dialog between hardware and software folks to develop API’s for power usage feedback and for current API’s that might need to be re-worked for low-power futures.
  • There was talk about allowing the actual scheduling methods used internally to graphics processors might need to be exposed in the future for greater programmability and what possibilities that might open.
  • There was a talk about how nVidia Optix SIMD-izes it’s ray tracing pipeline
  • Decent talk on current state of the art on bokeh, motion blur and DOF effects.
  • There was a good talk by Intel’s Marco Salvi on their OIT methodology along with other recent efforts.
  • At the end, there was a SUPER open-panel discussion with speakers about where DirectX/OpenGL/OpenCL were going.  The consensus is that there is no consensus.  Things are in a real flux right now with radically competing demands. Console devs want absolute control (open the gfx api command buffer to us!), mobile developers that want low-power/long life, desktop devs still wanting the best quality, and the uncertainty of the ‘platform of the future’ being really unknown (will we all be on iPads/consoles/laptops/etc).  The only thing they seem to agree on is that DirectX/OpenGL are basically still the best solutions we have unless we want to really bifurcate the API landscape – and it’s unclear whether we want to do that.  There’s a lot of opportunity for new technologies and new movers to make a big impact.

Poster sessions was pretty good with lots of entrants.  Nothing ground breaking, but there were several topics that I now want to look up. (don’t have notes with me today).

 

Wednesday:

  • Spent good part of the morning wandering the show floor, checking out some of the art and book displays, and seeing the show reels in the digital theater.  The afternoon was my turn in booth duty.
  • Show floor and hiring area was noticeably smaller than the California venue.  Big things this year: 3D printers were really big with lots of people doing super-cool live demos.  3D image capture was also big with some great facial/body capture systems.  Lots of 2-3 year computer art degree programs and schools were really pushing their schools.  I worry that there is going to be a glut of artists in about 3-4 years when these masses of graduates get out.

 

Thursday:

A grab bag day of talks as the all-day courses were mostly over.

Hiding Complexity (occlusion culling):

  • For Allen Wake’s almost all outdoor scenes, he used a method of culling shadows that looked from objects to their visible lights.  He’d then use scissor rects for each cascaded shadow layer to avoid filling pixels where they weren’t needed and not even render certain cascades if they were empty.  He also used temporal cues/temporal bounding boxes to avoid recalculating cascades if they didn’t change much
  • Latest Need for Speed – the classic SIMD tale.  They realized a 40x speedup by just throwing out their fancy data structures and simply SIMD-izing their culling system and arranging the data by the track layout.
  • Killzone 3 culling – many details, but basically they use a quick sw rasterizer distributed on many PS3 SPU’s to determine list of objects to draw on a 640x360p depth buffer in 16 pixel high strips.  In the visibility step, the assume all objects visible last frame are still visible, then test individual objects against the depth buffer in parallel.  Do simple sphere reject first, then bounding box test if sphere test passes.  For determining good occluders automatically, they use the low-poly physics mesh of the object.  They pick objects that have a fairly large bounding box, and who’s coverage area is near it’s bounding box area.  (actual coverage area is stored in meta-data).

Smokin’ Fluids:

  • Mostly non-realtime smoke simulation talks.  Best talk was on capturing thin features in smoke simulations. They used a moderately low voxel field with particles to simulate.  Then they did a clever pass over the data to ‘condition’ the voxel data to maintain superb fine details.  Turned out to be almost 10x faster than traditional method and didn’t suffer from the problems of simulations looking very different at higher and higher simulation densities.

Discrete differential geometry

  • Some pretty heady talks on discrete laplacians and circular arc structures.  Most of it was above my head – but was an interesting talk about how they could identify whether a curvy building could be made up of manufacturable, uniform pieces (like a geodesic dome)

Filtering Techniques for AA

  • Great talk on AA techniques which really turned into the ‘Why you should convert your game to MLAA today” cheering session.  Presentations started with different presentations on how people implemented MLAA in God of War III, on Xbox, and on PS3 for various games.
  • Good talk on FXAA and SRAA as alternatives from nVidia – but over half the room left by this point.
  • One guy from nVidia got up and said if they could give you MSAA or the like for nearly free if they’d convert back.  The speaker said, “No, I’d still keep MLAA on the CPU and then use the GPU for something else”.
GDC 2011 Trip report

GDC 2011 Trip report

It’s been about 4 years since I last attended GDC, but some interesting trendlines seem to have solidified/gone away since last time I was there.  Winning mobile developers was THE topic for the show. Sessions continued to be very good – but I noticed that almost (if not more than) half of them are now related to art, gameplay, or business concerns (not technical).  The Indie game scene appears to be moving beyond just closet developers and becoming a big and energetic movement in the industry.    Hiring appears to be back judging by the energy and sheer number of interviewing/companies interviewing on the show floor.  Attendance seemed to be at record levels at 19,000 attendees.

 Details:

  • Attended Wednesday thru mid-Friday sessions on my own accord – so no booth duty/official duties on that front.
  • Notable sessions I attended:

1.       Data Management For Modern Game Pipelines – Two fellows from Autodesk/Maya went over the state of current content pipelines from Maya to game engine.  They are apparently hard at work at Autodesk trying to make these converters and content back-and-forth between engine and Maya easier with a project called DNA.  It is a system of metadata and a database that, once integrated into your engine, allows you to quickly get assets out of Maya into your game engine, and back into Maya quickly.  It was likely too cumbersome for most game developers, but it was a good recognition on their part of the needs of the industry. 

2.       Noon poster sessions.  Real-time music generation was well done (for what it was) and the ’10 things to know about usability testing’ was a good list of resources for those trying to understand what doing usability testing was.

3.       One hour 10 speakers talk had a lot of great ideas.  One of best was why consoles are failing: 1. In age of instant-on mobile/PSP-type devices, waiting 15 minutes to get into a game is intolerable.  2. Too many cutscenes, license agreements, booting, etc.  Want instant-on wake-from-sleep into my game just like a laptop.  3. Wants no more 40+ hour games – they’re just too long. 4. Update sizes and frequency are just ridiculous – you only should have 1 update per quarter.  Period.  Many other good thoughts if we ever want to go into that realm.

4.       Multicore Memory management in Mortal Kombat.  EXCELLLENT talk on a multi-threaded memory manager.  Takeaway is that it took them 11 months to get it done (3 months of that was just to get the multi-threaded/lockfree library built they needed), but it’s a really fantastic system they are using in all their games going forward and shows some amazing speed, efficiency, and debugging features.

5.       Dice talk about Data Oriented Design.  Very good talk with good analysis and results.  Takeaway: throw away all your fancy data structures and line up your data for SSE manipulation.  It’s much more performant than non-cache friendly data structures, orders faster, and can easily be threaded.

6.       Kinect skeletal tracking deep Dive.  Very interesting talk on the problems (and solutions) unique to skeletal tracking/Kinect given by Microsoft AE.  Some good general solutions for multi-threaded timing issues.

7.       Halo Reach Effects. Excellent talk on the special effects in Halo Reach.  Excellent new way to do dynamic particle systems that interact with geometry in the real world, shield effects, and a few other really visually stunning, and very realtime, techniques. 

8.       Mega-Meshes – modeling/rendering worlds of 100 billion polygons.  Very interesting talk that seems to be along the lines of last year’s ID siggraph talk on streaming massive geometry.  The second half had to do with getting pretty decent spherical harmonic lighting techniques on Xbox and other consoles.  Lots to digest in the talk – so I’ll likely look at the slides when published.

9.       Experimental gameplay – 10 or so people positing or showing interesting gameplay techniques and ideas.  This session really showed what the Indie scene is about – trying to create unique experiences.

10.    Marble Madness, Pitfall, and Doom postmortems
       

  • Trend speculations based on what I saw:

1.       Mobile – the real energy this year was clearly behind winning developers into each camp’s mobile and tablets.  Unity showed extensively.  Free hardware galore, tons of sessions, and big parties were being thrown.   With years left to go before another console refresh – it was mostly just quiet, incremental changes from the big players like Xbox, Sony, and Nintendo.  With smartphones getting such sophisticated graphics hardware, it does make me seriously wonder if the days of PSP or DS-like gaming devices are limited, which could spell big problems for console companies that see such large revenue streams from them.

2.       Monitizing – Lots of financial companies on the show floor and session talks focused on micropayments and new revenue streams.  The fact there were old-school financial and credit card companies on the show floor was a real shock.

3.       Indie culture – The indie area of the show floor was packed every time I went by it.  Lots of young energy and it’s more than just hype judging by the awards Minecraft won.  Attended 2 classic game post-mortems which really clarified in my own mind the shift in game dev culture.  Used to be programmers ruled the roost in developing games, but now I think we’re seeing that most of the current game developers in the indie scene are content with using off-the-shelf engines/tools and focus 90% their attention on the gameplay and creating unique experiences as opposed to focusing on the newest/greatest tech. 

4.       Hard-core technical talks seemed to be diminishing in number, but not quality.  Still excellent work being done, but I wonder if this large trend towards younger developers just using more off-the-shelf engines and simpler mechanics will create a two-tiered system in which the majority of smaller Indie games will use low-end/runs on just about anything techniques, while AAA titles will always continue but just get more technically impressive, but (with fewer studios able to afford it) smaller in quantity and more insular.  Do we turn into a world where there are a few engine makers and game houses are primarily programmers that write games in scripts on top of them?

Oktoberfest was great!

Oktoberfest was great!

How to make an Oktoberfest at Mt Angel, Oregon.

First, a dash of evening prayer with the monks:

Then a deep-fried twinkee:

Then some chicken dancing:

Mix with meeting up with many old friends and a great time was had by all.

Unbelievable opportunities – for this weekend Sept 18th+19th

Unbelievable opportunities – for this weekend Sept 18th+19th

Just when you thought summer was over!  No excuses about not having something to do this weekend…

Mt. Angel Oktoberfest – Sept 16th-19th

http://www.oktoberfest.org/

Portland Pirate Festival
Talk like a Pirate Day is Sunday, along with the annual Portland Pirate Festival where they will seek to get the world record again for most pirates in one place:

http://www.portlandpiratefestival.com/

Pendleton Round-up!

http://pendletonroundup.com/

Willie Nelson
Saturday at the Edgefield

AND

The Portland Retro Gaming Expo

http://retrogamingexpo.com/

Wierd Al

Wierd Al

Wierd Al Yankovic visited Portland this week for a show.  Hoestly, it was one of the most fun concerts I’ve been to this year. Managed to score a back-stage pass for the afterparty and meet the band.  A really hard-working group of guys.  It was a solid 2+ hour performance with narry a break and an unbelievable numbers of costume changes between almost EVERY song.  Wierd Al earns his money for sure.

Videos from my iPhone (which means they aren’t super-great) on my youtube page:

Day 1 – arrival

Day 1 – arrival

Arrived on the plane around noon.  Loved the Kona airport – it’s all outdoors/open air – even the baggage claim.

 

Met with my friends and we went straight to Kahalu’u Beach just south of Kona for snorkling.  A nice shallow cove that had a fair number of sea turtles and tons of tropical fish – even puffer fish.  It also had a shark after about 2 hours of snorkling fun, so we all headed back in. 🙂

 

So, sunset was arriving and we headed to the Royal Kona Resort to sit on their most excellent open-air back bar/patio to enjoy a mai tai and watch the sunset.  There was also an awesome old marimba player that sure-enough played ‘The Girl from Ipanema‘.  An extremely fun and classic start to a great week.