Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Teleological View (a.k.a. how to cover modern casual game technologies and offend everyone in 75 slides) David Fox VP Technology, iWin.com

Similar presentations


Presentation on theme: "A Teleological View (a.k.a. how to cover modern casual game technologies and offend everyone in 75 slides) David Fox VP Technology, iWin.com"— Presentation transcript:

1 A Teleological View (a.k.a. how to cover modern casual game technologies and offend everyone in 75 slides) David Fox VP Technology, iWin.com dfox@iwin.com

2 Why Lil’ Ol’ Me?  iWin As Web Developer Java Applets Flash / Flex Social World (Hotel iWin) Flash “Upsell” Games  iWin As Downloadable Developer Two (!!) Homegrown Frameworks: SDL/DirectX Flash Multiplayer Games  iWin As Publisher Popcap Playground BlitzBasic Torque 3D Orbital PC/Mac/XBLA/Mobile/iPhone

3 The Perfect Framework ® PCXBLA Deciding What To Use? WebDS Mac Mobile iPhone FacebookWii Time? Budget? Quality? Genres? Multiplayer? 2D? 3D? Talent Pool?

4 What is a Platform? Hardware constraints. Software constraints. A person.

5 What is a Programming Language? The code for communicating with the Platform and controlling its functions.  Religion …

6 What is a Server? That which connects platforms. That which you beseech. That which grants prayers. A god.

7 What is a Framework?  An abstraction of the Platform, via a Language.  A culture.

8 Framework As Culture? Both Give Structure to Common Tasks:  Load Resources  Deal with Mouse/Key Input  Draw Animated Sprites  Render 3D  Write Text With Fonts  Play Music and Sound FX  Communicate with a Server  What to/not to Eat…  Who to/not to Sleep With…  Relationship Dos and Don’ts  Worthy Vs. Wasteful Tasks  What Art Is and Ain’t  Relationship with the Divine

9 What is a Middleware?  Sits atop Frameworks  Highly specialized system to achieve complex tasks.  (Especially in regards to the server or specific needs of the platform)  A cult.

10 Parade of Platforms

11 Web Browser  Interconnected  Simple  Limited by LCD

12 Social Networks  Links People Directly  In Context of Friends  Knows About You

13 Windows  Everyman

14 Mac  Hipman who thinks he’s specialman and will one day grow up to be everyman.

15 Nintendo DS  Short and sweet.  Must pass many tribulations to get there.

16 XBLA  Fast and connected.  Exclusive access.  (Other than XNA Community Games)

17 Sony Network  As if.

18 Wii  Oh so fun and cute.  Knows how to move.  Again, limited access.

19 Mobile  Everywhere you look.  Always in your pocket.  Pay heavy to get on it.  Seriously limited ability.

20 iPhone  Relatively easy access.  Always with you.  Knows where you are.  Likes being poked, pinched, and shaken.

21 Parade of Languages

22 Assembly  The Basics…  Registers  Loops  Decisions  Jumps Org 0 mov dptr,#msg mov R0,#30h loop: clr a movc a,@a+dptr jz end mov @R0,a inc R0 inc dptr sjmp loop end: jmp $ msg: db 'Hello World",0

23 C  First major “high level” language #include main() { printf("Hello World"); }

24 C++  Object oriented C  Many seasoned programmers out there  Need to be a “serious” coder  Fast, flexible, robust  Best IDE: Visual Studio 2008  Many cheap/free frameworks  Won’t work in browser (except ActiveX) #include main() { cout << "Hello World!" << endl; return 0; }

25 Java  Highly portable (Any browser, PC, Mac, Linux, Mobile)  < 90% browser penetration  Version headaches  Desktop use requires large JRE download.  Poor 2D library  Java3D API  Can work w/ C++ using JNI class HelloWorld { static public void main( String args[] ) { System.out.println( "Hello World!" ); }

26 Vest Majority of “Hits” Today? Downloadable PC C++

27 C#  C++-like Language w/Java Features  Microsoft’s Visual Studio  Huge.NET Runtime Download (19MB)  Vista/XP Focus C#: Install huge.NET Runtime Soon? Static.NET Linker/ using System; class HelloWorld { public static int Main(String[] args) { Console.WriteLine("Hello, World!"); return 0; }

28 Objective C  Reflective  Object-oriented  Smalltalk-style messaging  Mac OS X or iPhone OS #include int main(int argc,char **argv) { id set = [Set new]; argv++;while (--argc) [set add:[String str:*argv++]]; [set do:{ :each | printf("hello, %s!\n",[each str]); }]; return 0; }

29 ActionScript MX  From JavaScript to “real” language  Flash / Flex _root.createTextField("mytext",1,100,100,300,100); mytext.multiline = true; mytext.wordWrap = true; mytext.border = false; myformat = new TextFormat(); myformat.color = 0xff0000; myformat.bullet = false; myformat.underline = true; mytext.text = "Hello World!"; mytext.setTextFormat(myformat);

30 Other  PHP  VirTools  BASIC / DarkBASIC  Delphi  Python / PyGame

31 Parade of Frameworks

32 Home Grown DirectX  Versions 5.0 to 11.0 Features Vs. Penetration Win98/Me = DX7.0 XP = DX8.0 My Advice? Stick to 7.0 or 8.0  Easy Port to XBLA  Well-Tested  Code Your Way

33 Home Grown SDL  Simple DirectMedia Layer  Free cross-platform multi-media development API  Graphics / Video Control  Input / Events  Audio / CD-ROM audio  Threads  Timers  Win32/Linux/BeOS/~MacOS

34 Flash CS4

35  Artist- Friendly  Great For Prototyping  Vector-Based  Movie clips and timelines (Visual OOP)

36 Flash CS4  $700  MP3 support, embedded markers, etc.  ActionScript (like JavaScript)  Flash 8 improved math/rendering speed  Window, Mac, Linux, Mobile Phones, PDAs  In Browsers, It’s The Bee’s Knees

37 Flash Programming Gotchas  “Real” Programmers Rare/Expensive  Horrible GUI for Coding  Painful Debugging  But Now…

38 Flash Tricks  Embed flash in C++ using f-in-box  Must write C++ wrapper for EXE Fullscreen Support Right click handling Logs Support for other graphic/audio formats Writing to disk  Or… use AIR

39 Adobe Flex 3  Rich Internet applications  Based on Flash  ActionScript for interaction  HTML/MXML/CSS for layout  Adobe Flex Builder 3  $249  IDE built on Eclipse  Fast runtime

40 AIR  Cross-platform runtime environment  For Rich Internet Applications (RIAs)  Using Adobe Flash / Flex, HTML, or Ajax  Deploy as desktop application.  Mac, Windows, Linux  FREE

41 Director/Shockwave 11  $999  Lingo or JavaScript/ ECMAScript  Good for Downloadable (Windows/Mac)  OK for Web Games – Poor Penetration  Good 2D sprite manipulation  Strong audio support (streaming, panning, embedded markers,etc.)  Real time 3D (Shockwave3D)  Havok physics engine  Flash support  Can expand with C++ XTras

42 Director/Shockwave 11

43 Director/Shockwave

44 Silverlight 3  Web-focused  Runs atop Visual Studio 2008  XAML – UI markup language  AJAX, VB, C#, Python, Ruby  Cross-browser/platform (but Windows focused)  Poor penetration  Still unproven for games

45 Torque Game Builder 1.74  $250 to $1250  Hardware Accel SceneGraph Driven  Windows, Linux, or Mac OSX, XB 360, Wii, iPhone, or Web  Script in TorqueScript (TGE) C++-like

46 Torque Game Builder 1.74  Parallax Scrolling / Layers / Camera  Advanced Physics/Collision System  Tools Up the Wazoo Tile Editor LinkPoint Editor / Collision Polygon Editor Particle Editor GUI Editor Level Editor  Genre Kits ($40-$100) (isometric adventure, platform, strategy, side-scrolling shooter...)  Multiplayer with TorqueNet

47 Unity 2.5  Fully Integrated Graphical Editor  Play as you Develop  Runs on MacOS X only  Fast 3D (DirectX and OpenGL)  Terrains, Shaders, Particle Systems

48 Unity 2.5  Pumps out games for Mac, Windows, Wii, iPhone  Or Unity Web Player  Supports major 3D file formats  Networking  Physics  JavaScript, C#, or Boo (Python dialect)  Indie $199  Pro $1,499  iPhone $1,499

49 Sexy Framework 1.3  Free! (Just credit Popcap)  Used In: Bejewelled, Zuma, etc.  DirectX 5.0  Windows Only (98 to Vista)  FMOD and BASS sound engines.  Hardware Acceleration Option  Easy Image Manipulation  “Widget” Metaphor  Memory Leak / Smart Pointers  Performance Profiling Routines  Sample Apps

50 Playground SDK 4.0  Free!  ____ Dash (& Other PlayFirst Games)  Easy-to-use, Developer Friendly API  Hardware Acceleration / 3D / Flash  Particle System  Lua Script Support  Cross-Platform (Mac, Web)  Powerful Localization  Compact Runtime  Documentation / Community Support

51 XNA Game Studio 3.0  Express is Free  For students, hobbyists, indies.  Based on Visual C# Express 2005  Windows (XP SP2 only), Zune, and Xbox 360 XBLA Community Games = $99/year

52  $80  Basic/C Hybrid (Arrays, Pointers, OOP)  Windows/Mac/Linux  Modular Design  Own IDE/Debugger  OpenGL Support  Lots of Source Code  Also Blitz3D  Good for Beginners BlitzMax

53 3D Frameworks  Ogre  Irrlicht  Blender  Panda3D  Unreal  JMonkey  VirTools  Etc.

54 Parade of Servers

55 Unity 2 MDK  Multiuser applications for Flash (via Uclient)  But clients can be Java, C++, any other socket-based platform…  Code in Java  Comes with SimpleChat, MultiRoom Chat, and Tic Tac Toe.  Database connection (mySQL support)  Up to 500-1500 concurrent connections per box.  Clients cannot communite across machines.  Simple administration tools (kick or ban).  $140 express  $739 pro

56 SmartFox 1.6.5  Multiuser applications for Flash (Flash 6 through 10)  Support for Java,.Net, Unity 3D, etc.  Comes with many examples  P owerful remote administration tool  High performing and scalable (1000s on a single CPU).  SmartFoxBits -- drag and drop UI components to create game logic without code  Built on Java, but can extend server code with Actionscript, JavaScript, Python, or Java  Clusterable  But must use db to share data across servers  Can use Terracotta to scale more efficiently  BlueBox: Deals with firewalls and proxies  RedBox: Integrates full audio/video streaming  200 € to 2000 €  Max users  Add-ons

57 ElectroServer 4  Multiuser applications for Flash (AS2 or AS3)  Scalable  Distributed workload  Claim 200,000 concurrent players  Players can interact with each other  Good for MMO  Streaming Audio/Video  Java  Can use ActionScript extensions  Rapid Message Aggregator™  Good for Flash idiosyncrasies  Optional Secure Messaging  Buddly List Support  Web-based Administration  $700 for Pro  $4,400 for Enterprise (Distributed, more Connections)

58 Flash Media Interactive Server 3.5  Multiuser applications for Flash (AS2 or AS3)  Audio/Video focus  Pause and seek  Hugely scalable  CDN support  Live video / webcam recording  Encrypted streaming  Simple interface for streaming audio/video, shared objects, and remote procedure calls  Most functions via XML files  Modified Actionscript 2  Starts at $4,500 per 100 users

59 Red5 v0.8  Open Source version of FMS  Not prime time yet  With SmartFox?

60 Project Darkstar 0.9.8  Massively scalable games server in Java  Client agnostic…  Open source!  Highly scalable  Zoneless and Shardless  All users can communicate real-time  Uses servers efficiently  Plus Fail-over  Transactional data storage system  Game state persistent  Deals with failures  Free (GPL)  Few proven projects…

61 Parade of Middleware

62 Somatone’s CADI  Interactive music  Beat Sync  Orchestral mixing  PC, MAC, iPhone

63 Gamebryo  Serious 3D Tools  Flexible geometry pipeline  Support for 3DS Max, Maya, SoftImage  Output to PC (DirectX 9 10), Xbox 360/XBLA, and PS3/PSN  Animation Tool  Shader System  Asset Viewer  Scene Designer  Specify, place and optimize lights and cameras  Terrain Editor  Terrain System  Dynamic LOD  Path-finding, audio variations, foliage types, and more

64 Large Animal TOGA  Messaging System  Cross Social Networks  Leaderboards  Asynchronous and Synchronous Play  Inventory and Achievements  Affinity Points & Viral Touchpoints

65 Freespin  Import 3D Models into Flash as MovieClip  Extensive and Dynamic  Friendly  $299  Other Open Source Flash 3D Solutions  Sandy  PPV  Away3D

66 Re-Enter The Matrix

67 “Hard” Features Matrix  Price (Upfront + License)  Runtime Performance  Min Sys Reqs  Size  Dev Support and Documentation  Vista Support  Unicode Support  Cross Platform (Mac, XBLA, iPhone, Mobile)  Localization Tools  Other Tools

68 “Medium” Features Matrix  3D Acceleration  Vector Support  Flash Support  3D Model Support  Scalable Fonts  Multiplayer  Scripting Languages  Particle Systems  Encryption or Obfuscation of Assets

69 “Soft” Features Matrix  Learning Curve  Known Bugs  Custom Coding Required  Different Game Genre Support  Proven?

70  This ain’t rocket science. Polygons? Frames Per Second? Resolutions? Polymorphic 3D surround sound? Gesture based vibrating controller?  Publishers (usually) don’t care  Players won’t know (unless they can’t play)  For 2D puzzle game, easy switching cost Know Your Game

71  Programmers ain’t bitching.  Artists don’t have to code.  Designers can find fun fast.  Biz team can maximize profits. You Might Be a Good Framework If…

72 Survey Says…

73

74  2D Downloadable Game? Don’t roll your own!  Bugs are inevitable: Proven || Strong_Support || Open_Source  Easy to get started.  No special knowledge.  Easy to expand and write tools. My Recommendation

75 Take a Picture Now! Casual Games SIG/Whitepaper/Technology http://www.igda.org/wiki/Casual_Games_SIG/Whitepaper/Technology Development Platforms for Casual Games By Phil Steinmeyer http://www.gamasutra.com/features/20050324/steinmeyer_pfv.htm What About Flash? Can We Really Make Games With It? By Scott Bilas http://www.drizzle.com/~scottb/gdc/flash-paper.htm Casual Games Technology Survey By James Smith http://www.igda.org/casual/quarterly/2_1/index.php?id=8 Technology Face-Off Panel from 2007 Summit http://www.casualgamessummit.com/presentations/presentations.html

76 G’luck!  Want the Matrix or Links? http://davidfox.googlepages.com http://www.casualgamessummit.com 2009 Casual Games Whitepaper


Download ppt "A Teleological View (a.k.a. how to cover modern casual game technologies and offend everyone in 75 slides) David Fox VP Technology, iWin.com"

Similar presentations


Ads by Google