Well its that time again. Time to start lookin for one of those fancypants “jobs” everyone is goin on about. Who woulda thought that the trudge through the academic trenches would only take… 16 years? >.> Anyways, Its about time I got one of those new ‘portfolio sites’ up.
This guy is an early version of the Daedalus engine Matt Bruce, Andy Mindler and I are currently working on for that odd game project that involves booze, Forrest spirits and shitting on the world. Moving on, this project was to be both a portfolio site, as well as a proof of concept of the Daedalus engine.
I’m a big fan of making realtime 3D models in ye olde 3ds max. Its always been a side hobby, so I figured a portfolio site that exemplifies my strangeness, and love of the 3rd dimension would be perfect. I sat down and sketched up some digital paintings of what this guy could look like. Here’s what came of it after the all mighty Adam Smith had his way with my Brain:

So this would be the home view, the camera would pan down to see the avatar standing there and maybe he’d start talkin to ya in his (my) own little crass way.

Contact page, the avatar would kick he olde box, and some of those critters would come skuttlin out from underneath it like cockroaches. Others would pop out from inside the box and hold it up with their creepy leg things. They’d have these weird wings that flap super fast like humming birds. Strange, no?

Work page, the avatar would go and kick that old box yet again, and what do ya know… more weird ass critters would shoot out holding onto animated thumbnails of my work. I thought origonally that I would like to have short fullmotion video in there as thumbnails. I did that a while back for my folio site and I kinda liked the way it looked to have animated thumbnails.
My dicking around with papervision for both Jeep game, and the earth is Fckd had informed me that I was looking at about 2500~3000 triangles onscreen at once to perform ‘alright’ on most computers. ( the avatar model turned out to be just over 700 triangles. ) This means that I would have to be super sparce with my polygon counts. To put this into perspective, a single Character model from say Half-Life 2 has around 5000 triangles in it. This is why 3d in flash sucks. No hardware acceleration. As much as I hate director, and god, I really hate director, the 3d power of shockwave wipes the poop deck with papervision, away3d, or ANY 3d library in flash for that matter. Seems that everyone forgot about all those neat 3D games back when shockwave was around.

After all was said and done, I had to scale back my ideas a bit. There were no critters holding up the contact page, and I could only have up to 3 items of work onscreen at once. Having any more than that severely hampered performance. The animated textures really take a baseball bat to the face of poor little papervision.
Any~ways, I was willing to bite the bullet to have 3D on the web. Flash is the way to go, because nobody likes to install browser plugins, and everyone has flash.

The biggest things I had to deal with when I went to actually build this thing was of course loading in all of the files for papervision to have its way with. I wound up writing a very robust loading engine that queues up all of the files from XML, loads em in one at a time, and associates the proper skins with the proper models. ( Im using the MD2 model format so I can pull in model animations, Woo ye olde Quake 2 format… Brings me back to the days when I made silly character models for unreal tournament and half-life… )
For the MD2 format to work, you have to have your texture loaded in, and put into a MaterialObject3D in papervision first. So the loader associates the skin and the Model based on some stuff and loads up the skin first, then slaps it on all associated models. For this engine, I decided to go with one MD2 file for each practical animation ( run, idle, kick, etc… ) to make it unbreakable. I noticed some trouble with picking up what ‘keyframe’ the animation was if the frame rate dropped, and it couldn’t render anything during that time.
( Yes yes, for this particular project, I didn’t implement a CPU clock system as the update call, I did wind up using the silly old enter frame )
Also on a side note, I was using the demo version of the export plugin for 3ds max, which only allows you to export 20 key frames in a sin gle model. Hey, im a RIT student (well, not for much longer, but still) I don’t have all the money.
Regardless, the multi-model system was decided to be the best way to go from here. So the loader wins yet again! It queues up all of those models and chugs through em one at a time. Hurrah.
After the loader problem was solved. It was a fairly simple matter of taking the Earth is Fckd engine that I had spent a full 10 weeks making and modifying it into something that was actually workable into this here 3d Site.
One frustrating side note, button mode doesn’t really work with either interactive materials rendered on 3d Objects or on 3d Objects with mouse interaction applied to them ( thanks papervision. ) so I had to throw some annoying code in there to handle that. So Enjoy those button modes kids! They made me want to pull my hair out at one point.
well Id post some snapshots of the real site, but why not just check it out for yourself! at my NEW AND FANCY media temple location: mroushey.com