• подарки оптом, подарки опт
  • сувениры оптом, сувениры опт
  • бизнес сувениры
  • бизнес подарки
  • сувенирная продукция
  • купить футболки
  • бейсболки
  • ежедневники, ежедневник
  • подарки для женщин
  • подарки для мужчин
  • стеклянные двери
  • стеклянные перегородки
  • cтеклянные лестницы
  • изделия из нержавейки
  • Archive for January, 2012

    Winter Volleyball: Behind the scenes

    In this post I’ll discuss the creation of the Winter Volleyball prototype.

    http://www.zspline.net/blog/wp-content/gallery/gavit/ArcadeVolleyball_BTS_01.jpgAs I mentioned earlier the base mechanic was inspired by the old DOS game Arcade Volleyball. Back in the mid 90′s I played it a lot with my brother and friends so I wanted to make it a two player game. I had also just added a few features to the Razer Hydra integration which needed testing therefore I chose to base the controls on that input device.

    http://www.zspline.net/blog/wp-content/gallery/gavit/ArcadeVolleyball_BTS_02.jpgThe season lent itself as a visual theme and I started using snowmen as main characters. At first they were just sliding back and forth but hitting the ball with the narrow top of the hat was somewhat difficult. Before going with a different avatar I linked up tilting to see if it’s fun. While it needed some tweaking, at the end this additional degree of freedom turned out to be both intuitive and useful.

    Jumping was implemented at some point but I removed it because it wasn’t adding that much to the fun. My general goal was to make it as simple as possible so even my non-gamer mother could enjoy it. (And she did indeed, became adept quickly.) However if I ever revisit this prototype I’ll experiment with jumping again because it has the potential to provide some additional complexity, something which more experienced players (like my brother) expect.

    http://www.zspline.net/blog/wp-content/gallery/gavit/ArcadeVolleyball_BTS_03.jpgJumping or not, the base control rig for a snowman is the same: the physics driven pieces (hat, head, body) are constrained together with the body also being constrained to a hidden interpolation actor (the orange circular one on the image). That actor is directly controlled by the tilting of the Hydra. It’s attached to another hidden actor (with the arrows on the right), the one which is responsible for movement: swinging the Hydra horizontally makes the in-game actor move back and forth.

    At first I used the raw rotation data from the controller but that felt sluggish near the edges of the play field. The solution was to use the tangent of the incoming angle which made the system work almost like aiming with a laser pointer. (Just ‘almost’ because the position of the controller is not factored in at all, something which I’d like experiment with in the future.)

    The reason for using separate actors for movement and rotation is simply that it was easier to debug the underlying systems during development, at the current stage I would probably use a single actor.

    The constraint between these interpactors and the physics driven snowman is not rigid but behaves more like a rubber band. This makes movement softer, without sudden accelerations or stops. The tightness needed some tweaking so it felt smooth enough but not so much that it affected precision adversely.

    http://www.zspline.net/blog/wp-content/gallery/gavit/ArcadeVolleyball_BTS_04.jpg

    Without contour highlights, the hat blended into the background.

    After adding the ball (constrained to a plane) I had the core gameplay which allowed me to fine tune restitution, friction, speeds and accelerations on the participating actors. With that done came the first round of two player play testing which revealed several shortcomings from hard to see hats to unintuitive control settings. As soon as I sorted them out I finished replacing the stand-in art assets with proper ones.

    Here too I aimed at a tasteful but fast to create visual style, just like for the rest of the Gavit prototypes: basic colors with accentuated edges emphasizing the geometry. I used modo 501 for everything from modeling to texture baking. While I didn’t make high-poly versions of the meshes I did turn their polygons into Pixar-SDS for the duration of the baking so concavity/convexity/accessibility shading produced smoother results:

    http://www.zspline.net/blog/wp-content/gallery/gavit/ArcadeVolleyball_BTS_05.jpg

    The subtle differences between the polygonal and SDS cliff.

    The next step was adding special effects mainly to provide feedback about game events: the red light inside the ball foreshadows (erhm…) an imminent bounce for example. The glitter suspended in the air is not just for filling empty space with something interesting to look at but also there to help visualizing forces affecting the map.

    http://www.zspline.net/blog/wp-content/gallery/gavit/ArcadeVolleyball_BTS_06.jpgSince the glitter was actually a PhysX fluid it automatically interacted with nxForceFields and the ball. In the latter case they simply collided with the sphere which didn’t produce an interesting enough particle movement so I tried to fake vortices in the ball’s wake: I made an ActorFollower actor which follows a target as if they were linked with a rubber band. The faster the target moves the more the follower lags behind but it does converge on the exact position at low speeds. With this system in place I simply attached a radial forcefield to this follower to get some extra swirling behind the ball.

    There was a bug however: although the ActorFollower scaled the attached force field based on speed, it had no effect at all: its radius and strength stayed the same no matter what. This issue made the stationary ball attract nearby glitter as apparent on the video. I had no time to debug this before finishing the prototype but after posting the video I dived in to see why I can’t change force field properties on the fly. As it turns out it’s a limitation of PhysX so one must keep creating and destroying force field actors instead of changing existing ones. Unfortunately this would break all references (in Kismet for instance) so I had to introduce a new force field class: one which doesn’t actually affect the world, only there to be referenced, to store desired property values and to spawn/remove working force fields when necessary.

    Finally here is an image showing the result of a collision hull export problem:

    http://www.zspline.net/blog/wp-content/gallery/gavit/ArcadeVolleyball_BTS_00.jpg

    A bowling ball is not an ideal choice for this sort of game.

    Written on January 28th, 2012
    Categories: Gavit, My projects

    Winter Volleyball

    Here is my latest prototype, a homage to Arcade Volleyball:

    The players use the Razer Hydra controllers: aiming at the screen moves the snowmen, twisting the wrist makes them headbutt.

    This project was finished in about 15 days: the core game mechanics and controls took 5 days, asset authoring was done in 6 and I spent the rest on the special effects.

    That’s all for now, I’ll discuss the technical details in an upcoming ‘behind the scenes’ article. EDIT: It’s up.

    Written on January 23rd, 2012
    Categories: Gavit, My projects

    The Razer Hydra 3D model

    I wanted to have a 3d model of the Hydra controller for visualization purposes and as a template to create 3D printable accessories for it. Since a professional 3D scanning is quite expensive I decided to use the excellent 123D Catch (Project Photofly) service which reconstructs objects from several photos.

    The featureless black plastic material of the Hydra offers little for tracking so as a first step I needed to add some texture to it. I sealed the openings the best I could and then peppered the surface with baby powder.

    http://www.zspline.net/blog/wp-content/gallery/misc/HydraModel01.jpg

    With these high contrast reference points in place I took 82 pictures and let 123D Catch do it’s magic. The result was reasonably good, although far from being ideal:

    http://www.zspline.net/blog/wp-content/gallery/misc/HydraModel02.jpg

    The shiny plastic buttons on the top reflected the lights which confused the system so that area is a mess. The also reflective bumper and trigger got through in a much better shape.

    I used this raw model as a 3D reference to manually build a subdivision surface model in modo:

    http://www.zspline.net/blog/wp-content/gallery/misc/HydraModel03.jpg

    It’s too imprecise for accessory design but should be fine for visualization tasks.

    Razer Hydra 3D model pack.
    Contains the PixarSDS model (.lxo) and polygonal meshes (.obj).

    Hydra_Model.zip

    Written on January 15th, 2012
    Categories: My projects, Uncategorized

    A new PC for my parents.

    One of the side projects I had during the holidays was buying and setting up a PC for my parents.

    http://www.zspline.net/blog/wp-content/gallery/misc/MSIWindTop.pngThey had a crappy old notebook, a usability wreck so I felt that it’s time to get a proper machine for them. I checked out several All-In-One machines and ended up buying an MSI Wind Top AE2240. It’s 2GB RAM, P6200 CPU and integrated video card is just enough for the stuff my parents want to do: browsing the web, watching HD videos, flying around in Google Earth.

    Of course the hardware doesn’t really matter if accessibility suffers so I tried to make sure that the PC is simple and fun to use, with special attention to the needs of the senior, technically less inclined audience:

    Steamlined.
    I uninstalled all the bloatware, promotion materials, free trials, disabled third party registration notifications and auto updates. (I swear I heard a sigh of relief from the case.)

    Big text.
    Changing the system font size, Firefox’s default page zoom and UI font size made sure that most things are easy to read. A few apps like Picasa still maintain their small fonts which is unfortunate.

    Big UI.
    The Windows 7 skin has conveniently sized UI elements and with a few extensions, Thunderbird and Firefox can be tweaked in this regard. At first I installed Chrome but it failed the usability test: the tab close button is annoyingly small and the developers expressed no interest in changing the UI or allowing tweaking. Chrome is dead to me.

    Localization.
    Microsoft, Google and Mozilla are all scrupulous about localizing so that’s good. I ditched our earlier email app, TheBat, because it failed to provide Hungarian localization for its latest version for 9 months now.

    Less clutter.
    I got rid of all the desktop icons and pinned the most common apps to the taskbar. If other, less frequently used software is needed then the quick search feature provides a simple and intuitive solution: push start button, start typing what you want, click on the desired item.

    Visual flare.
    Switching from the default XP look to Win7 Aero was a pretty big step by itself but I wanted more shine. The now empty desktop has a background image and a few gadgets showing the time, date and weather forecast. Instead of the abandoned and somewhat resource wasting MS gadget implementation I used the excellent XWidget.

    Automated backups.
    On the old laptop I set up Cobian Backup so once a week it showed a prompt to plug in the backup pendrive, backed up all photos and mails for about 4 hours then showed another prompt indicating that the backup was done and the pendrive should be removed (so it’s safe from lightning strikes).
    However this time around I used Cloudberry Online Backup to save things to my S3 bucket in the background. With our stable, 1 megabit upload bandwidth and block level backups enabled it takes about 4-5 minutes on average so the service runs every day. Of course the first commit of the 16 Gb data took just over 40 hours, but it was well worth it, especially considering how cheap and secure S3 storage is.

    Less wires.
    I tried to keep the number of wires to the minimum. The keyboard and mouse are wireless (Logitech MK520 bundle because the stock MSI peripherals are crap) so only the printer, the router and the power brick is linked physically to the PC, making it relatively simple to migrate the unit.
    I tried my bluetooth headset but window’s BT management is as useless as ever so I couldn’t make it work for more than a few seconds. Now I’m leaning toward buying USB headphones because the stereo jacks are very hard to reach unlike the two USB slots at the side of the bezel.

    So after using it for a few weeks now, the machine seems to be a work horse. The touch screen is sort of a gimmick but does make certain things more fun. The Intel video card is indeed a joke, so slow that even the reliable VLC misses a beat every now and then in demanding HD videos. Fortunately PotPlayer plays back everything without a hitch, even 1080p@60Hz material, so all is well. (Windows Media Player’s output is butt ugly thanks to the lack of filtering so I stopped considering that early on.)

    The hard drive is spacious and the screen is nice to look at with proper colors and sensible view angles. The inbuilt speakers are exactly what one would expect, nothing special.

    All in all I’m rather satisfied with the system but more importantly the target audience seems to be happy using it too.

    Written on January 8th, 2012
    Categories: My projects