Upload
elvis-young
View
33
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Making a Web-Based MMO in Your Attic With Shockwave. Introduction. 3D browser based fantasy MMO created in Shockwave Very small, independent cottage industry developer no funding started as a hobby attracts over a million unique monthly visitors revenue generated from banner ads - PowerPoint PPT Presentation
Citation preview
Making a Web-Based MMO in Your Attic With
Shockwave
• 3D browser based fantasy MMO created in Shockwave
• Very small, independent cottage industry developer
• no funding
• started as a hobby
• attracts over a million unique monthly visitors
• revenue generated from banner ads
• independent of large portals or publishers
• MaidMarian.com and SherwoodDungeon.com represents about 60% of traffic
• Other multiplayer games: Tank Ball, Club Marian, Moon Base (One community with multiple experiences)
Introduction
• casual / social fantasy MMO
• traditional hack-n-slash PVE with influences from Rogue
• no classes / no level cap
• infinitely deep dungeon
• six themed islands
• quests and merchants
• crafting system that uses runes and scrolls
• no emphasis on competition between players• XP levels don’t affect PVP
• pets and horses that purchased for real money (*new feature released this week)
Sherwood Dungeon
Shockwave Penetration June 2008
• 59.2% in mature markets •U.S., Canada, UK, France, Germany and Japan
• 34.2% in emerging markets • China, S.Korea, Russia, India and Taiwan
• Flash's forgotten older bastard step-brother
• Flash doesn't do 3D (3D add on’s for Flash still fall short)
• Shockwave penetration rate higher than most other 3D browser technologies (like Unity)
• Java’s 3D technology also getting good in recent years
• worth considering
Shockwave
Shockwave 3D
• Mac (Intel) and Windows (Vista / XP)
• DirectX7, DirectX9 and OpenGL
• Lingo or JavaScript syntax for scripting
• Solid first generation T&L 3D engine• No pixel / vertex shaders• No “next-gen” rendering features
• Exporters available from Maya / 3DS Max / Lightwave etc.
• I use Maya 7.0
• Excellent lossy compression scheme for:• Meshes• Skinned meshes with bones• Textures with embedded alpha• Animation
• Very small resulting file sizes
Shockwave 3D – cont.
• Dynamic Lighting
• Directional, Ambient, Spot, Point lights
• CBV Lighting (baked lighting) is not supported by exporters but is accessible from code
• Textures
• variety of RGB formats (8888, 4444, 5551, etc.)
• text, video, flash, vector, bitmaps can be converted into textures at run-time
• Director’s Imaging Lingo very fast and useful for 3D
• blur, bevel, glow, drop shadow, HSV, perlin noise added to Director 11
Shockwave 3D – cont.
• Shaders
• specular, emissive, shininess, diffuse, ambient attributes
• Up to 8 layers of texture (Blend, multiply, subtract, replace)
• useDiffuseWithTexture very useful in Sherwood
• Model resources (meshes)
• weighted skin with bones or static meshes• Sherwood Avatars: 3500 polys (tris)• 4 Skin weights, 26 bones, ~1000 anim frames
• create your own model resources with lingo( Height mapping / CBV lighting )
• Groups and Models (easy instancing)
Shockwave 3D – cont.
• Automatic LOD Modifier (Level of Detail)
• Progressive Mesh reduces polygon count of a model based on distance from the 3D camera
• Great for performance
• Mesh Deform Modifier
• Allows you to alter an existing model resource’s geometry at runtime. (Vertex and normal information)
• Ray Casting
• Works well, but you need to optimize
• Don’t cast straight down - vector(.001,-.999,.001)
• If using Ageia PhysX Xtra, use it’s raycaster instead
• potentially 5-10 times faster
Shockwave 3D – cont.
• Vector Math Stuff• normalize, pointAt, dotProduct, angleBetween,
crossProduct, distanceTo, getWorldTransform, etc.
• Cameras• All the usual stuff plus:
• Overlays (HUD User interface elements)• worldSpaceToSpriteSpace
• Animation• Bones player• Animation Blending• Play lists and animation queue
• Undocumented features• Director / Shockwave has many• member().fileSaveMode=#saveAll
• Useful for art builds and optimization routines
Physics Xtra
• Ageia PhysX replaces Havok Xtra for Director 11
• Xtras install automatically but not part of initial install.
• Physics, MMOs and Latency – very tricky combination
• I faked it with Tank Ball, but with compromises
•Rigid bodies / Collision detection• static concave, convex hull, box, sphere• Terrains
• Constraints• Springs• Linear Joint or Constraint• Angular Joint or Constraint • 6 DOF joints
• RayCasting
Multi User Solutions
• MUS Xtra (Client side Multiuser Xtra)• Binary protocol developed for the SMUS• Supports Blowfish-like packet encryption• Supports Peer-to-Peer connections
• SMUS (Shockwave Multiuser Server)• discontinued with Director MX 2004, but still used• Server side scripting and database functionality• 2000 simultaneous players – but can be slow• Hacker vulnerable for larger games
• Smart Fox Server• Uses embedded Flash movie• Most popular solution lately - Worth a serious look
• MMMUS (Maid Marian Multiuser Server – our solution)
• in-house proprietary solution• SMUS-like, but written in C# (. net)• SQL Server 2005 / Microsoft Membership libs• Hacker resistant (packet validation, anti-flood)
Sherwood Tech Stuff
• How does one person make enough content for an MMO?
• How do you keep it small enough to run in the browser?
• Our approach? • Procedural Content or • Forced seed randomized content
• Use the random seed like a database index for:• Dungeon digger / Maze generator• Randomized height map / Island generator• Quest generator / Item generator, etc.
• Same approach as Rogue-type games used in the 80s
• Faster than loading or streaming • virtually instant retrieval of a zone or area
• Sherwood Dungeon Shockwave client only 2.7mb • less than 2 floppy disks
Tech Stuff cont.
• Procedural / Randomized Content cont.
• Forces you into a different workflow
• Updates to generators ripple through all content
(As a former Technical Art Director, I love this.)
• Allow you to stay ahead of users
• Best when smartly layered with designed content
(I’m not so good at this yet)
• A-Star path finding data generated at the same time
• Grey Scale Textures
• 90% of Sherwood textures are gray scale / BW with color applied at runtime
• Allows for constant reuse
Business Model
• We’re fiercely independent ( too independent ?)• No work for hire, No licensing• IP is retained - No publisher or outside funding• But we’re nice about it and will talk to anyone
• Not really into that “angry independent” thing.
•Banner ads
• Under game ads perform at 4% click through• Reasonably good CPMs• Various ad networks • No in house sales
• Any site welcome to embed Sherwood with IFRAME• As long as they show our ads• 100s of smaller game sites collectively represent a viral distribution network• Linking site can monetize other space on the page
• New! Launching Pets and Mounts in Sherwood this month.
• Sold on an RMT model ($5 a pet for one years use)• This is a BIG change for us ! (baby steps first)
Sherwood History
• Started as a hobby in 2000 (Sherwood launched 2003)
• Inspired by Dungeons & Dreamers• Richard Garriot and other solo game developers
• No master feature list or minimum scope• Only knew what the next feature was• vague idea of what I wanted
• Players knew from day one that this was an experiment
• kept coming back just to see what I added• traffic grew organically
• First guild appeared in 2003 (Black Death) • No guild features in the game – emerged organically• Sherwood full of guilds, clans, orders • Many guild sites, trick and tips, fan sites
• Players complained when swords starting doing damage
• more about "Play or Pretend fighting“