SlideShare a Scribd company logo
The Year in Casual Tech 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 [email_address]
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
Deciding What To Use? The  Perfect  Framework ® PC XBLA Web DS Mac Mobile iPhone Facebook Wii Time? Budget? Quality? Genres? Multiplayer? 2D? 3D? Talent Pool?
What is a Platform? Hardware constraints. Software constraints. A  person .
What is a Programming Language? The code for communicating with the  Platform  and controlling its functions. Religion …
What is a Server? That which connects platforms.  That which you beseech. That which grants prayers.  A  god .
What is a Framework? An abstraction of the  Platform , via a  Language .  A  culture .
Framework As Culture? Both Give Structure to Common Tasks: 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 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 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 .
Parade of Platforms
Web Browser Interconnected Simple Limited by LCD
Social Networks Links People Directly In Context of Friends Knows About  You
Windows Everyman
Mac Hipman who thinks he’s specialman and will one day grow up to be everyman.
Nintendo DS Short and sweet. Must pass many tribulations to get there.
XBLA Fast and connected. Exclusive access. (Other than XNA Community Games)
Sony Network As if.
Wii Oh so fun and cute. Knows how to  move . Again, limited access.
Mobile Everywhere you look. Always in your pocket. Pay heavy to get on it. Seriously limited ability.
iPhone Relatively easy access. Always with you. Knows where you are. Likes being poked, pinched, and shaken.
Parade of Languages
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
C First major “high level” language #include<stdio.h>  main()  {  printf(&quot;Hello World&quot;); }
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 <iostream.h> main() { cout << &quot;Hello World!&quot; << endl; return 0; }
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( &quot;Hello World!&quot; ); } }
Vest Majority of “Hits” Today? Downloadable PC C++
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(&quot;Hello, World!&quot;); return 0; } }
Objective C Reflective Object-oriented Smalltalk-style messaging Mac OS X  or  iPhone  OS #include <stdio.h> #include <objpak.h> int main(int argc,char **argv) { id set = [Set new]; argv++;while (--argc) [set add:[String str:*argv++]]; [set do:{ :each | printf(&quot;hello, %s!\n&quot;,[each str]); }]; return 0; }
ActionScript MX From JavaScript to “real” language Flash / Flex _root.createTextField(&quot;mytext&quot;,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 = &quot;Hello World!&quot;; mytext.setTextFormat(myformat);
Other PHP VirTools BASIC / DarkBASIC Delphi Python / PyGame
Parade of Frameworks
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
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
Flash CS4
Flash CS4 Artist-Friendly Great For Prototyping Vector-Based Movie clips and timelines (Visual OOP)
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
Flash Programming Gotchas “Real” Programmers Rare/Expensive Horrible GUI for Coding Painful Debugging But Now…
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
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
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
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
Director/Shockwave 11
Director/Shockwave
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
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
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
Unity 2.5 Fully Integrated Graphical Editor Play as you Develop MacOS X or PC (new) Fast 3D (DirectX and OpenGL) Terrains, Shaders, Particle Systems
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
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
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
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
$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
3D Frameworks Ogre Irrlicht Blender Panda3D Unreal JMonkey VirTools Etc.
Parade of Servers
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
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
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)
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
Red5 v0.8 Open Source version of FMS Not prime time yet With SmartFox?
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…
Parade of Middleware
Somatone’s CADI Interactive music Beat Sync Orchestral mixing PC, MAC, iPhone
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
Large Animal TOGA Messaging System Cross Social Networks Leaderboards Asynchronous and Synchronous Play Inventory and Achievements Affinity Points & Viral Touchpoints
Freespin Import 3D Models into Flash as MovieClip Extensive and Dynamic Friendly $299 Other Open Source Flash 3D Solutions Sandy PPV Away3D
Re-Enter The Matrix
“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
“Medium” Features Matrix 3D Acceleration Vector Support Flash Support 3D Model Support Scalable Fonts Multiplayer Scripting Languages Particle Systems Encryption or Obfuscation of Assets
“Soft” Features Matrix Learning Curve Known Bugs Custom Coding Required Different Game Genre Support Proven?
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
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…
Survey Says…
Survey Says…
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
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
G’luck! Want the Matrix or Links? http://davidfox.googlepages.com http://www.casualgamessummit.com 2009 Casual Games Whitepaper

More Related Content

PDF
Macs OSX & Libraries
Scott Kehoe
 
PDF
Creating Video Games From Scratch Sky Con
Martha Rotter
 
PDF
History of ICT @ DDVE
Alvar Lumberg
 
TXT
Readme
Kerly Jara
 
PPT
Hacking The Xbox
Donald Burr
 
PPT
“Branded IP Doesn't Work on Facebook" (And Other Myths)
David Fox
 
PDF
Minko - Creating cross-platform 3D apps with Minko
Minko3D
 
PDF
Paris Android LiveCode - Creating cross-platform 3D apps with Minko
Minko3D
 
Macs OSX & Libraries
Scott Kehoe
 
Creating Video Games From Scratch Sky Con
Martha Rotter
 
History of ICT @ DDVE
Alvar Lumberg
 
Readme
Kerly Jara
 
Hacking The Xbox
Donald Burr
 
“Branded IP Doesn't Work on Facebook" (And Other Myths)
David Fox
 
Minko - Creating cross-platform 3D apps with Minko
Minko3D
 
Paris Android LiveCode - Creating cross-platform 3D apps with Minko
Minko3D
 

Similar to Casual Engines 2009 (20)

PPT
Leveraging Microsoft Embedded and Mobile Platforms
christopherfairbairn
 
PPT
Creating Multiscreen Apps using Adobe Flash Platform
Hemanth Sharma
 
PPT
Games Technologies
Oded Sharon
 
PPTX
Cross platform development with C#
Michele Scandura
 
PDF
Albion Online - Software Architecture of an MMO (talk at Quo Vadis 2016, Berlin)
David Salz
 
KEY
Catan world and Churchill
Grant Goodale
 
PDF
The tech. behind RoboBlastPlanet
Javier Abud
 
PDF
Adobe gaming today tomorrow Trento
InSide Training
 
PDF
WebGL games with Minko - Next Game Frontier 2014
Minko3D
 
PPTX
2015 06 11 Windows 10 Developer Readiness by MVPs - Internet Of Things
Bruno Capuano
 
ODP
Raspberry Pi introduction
Lotfi Messaoudi
 
PDF
Adobe gaming flash gamm michael
Michael Chaize
 
PDF
Adobe: Adobe Gaming NOW!
DevGAMM Conference
 
PPTX
Android Overview (Karlsruhe VKSI)
Lars Vogel
 
PDF
Internet of Thing, is there a place for C# and .NET Framework?
William S. Rodriguez
 
PDF
BlackBerry @ Game Horizon 2012
Volker Hirsch
 
KEY
Seattle javascript game development - Overview
Grant Goodale
 
PPTX
New Technology in 2012
somey_oung
 
PPTX
Html5 game using impact js
Ha Bogay
 
Leveraging Microsoft Embedded and Mobile Platforms
christopherfairbairn
 
Creating Multiscreen Apps using Adobe Flash Platform
Hemanth Sharma
 
Games Technologies
Oded Sharon
 
Cross platform development with C#
Michele Scandura
 
Albion Online - Software Architecture of an MMO (talk at Quo Vadis 2016, Berlin)
David Salz
 
Catan world and Churchill
Grant Goodale
 
The tech. behind RoboBlastPlanet
Javier Abud
 
Adobe gaming today tomorrow Trento
InSide Training
 
WebGL games with Minko - Next Game Frontier 2014
Minko3D
 
2015 06 11 Windows 10 Developer Readiness by MVPs - Internet Of Things
Bruno Capuano
 
Raspberry Pi introduction
Lotfi Messaoudi
 
Adobe gaming flash gamm michael
Michael Chaize
 
Adobe: Adobe Gaming NOW!
DevGAMM Conference
 
Android Overview (Karlsruhe VKSI)
Lars Vogel
 
Internet of Thing, is there a place for C# and .NET Framework?
William S. Rodriguez
 
BlackBerry @ Game Horizon 2012
Volker Hirsch
 
Seattle javascript game development - Overview
Grant Goodale
 
New Technology in 2012
somey_oung
 
Html5 game using impact js
Ha Bogay
 
Ad

Recently uploaded (20)

PDF
REPORT: Heating appliances market in Poland 2024
SPIUG
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PDF
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PDF
Doc9.....................................
SofiaCollazos
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
REPORT: Heating appliances market in Poland 2024
SPIUG
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
The Future of Artificial Intelligence (AI)
Mukul
 
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
Doc9.....................................
SofiaCollazos
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
Ad

Casual Engines 2009

  • 1. The Year in Casual Tech 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 [email_address]
  • 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. Deciding What To Use? The Perfect Framework ® PC XBLA Web DS Mac Mobile iPhone Facebook Wii 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: 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 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
  • 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 .
  • 11. Web Browser Interconnected Simple Limited by LCD
  • 12. Social Networks Links People Directly In Context of Friends Knows About You
  • 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)
  • 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.
  • 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&quot;,0
  • 23. C First major “high level” language #include<stdio.h> main() { printf(&quot;Hello World&quot;); }
  • 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 <iostream.h> main() { cout << &quot;Hello World!&quot; << 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( &quot;Hello World!&quot; ); } }
  • 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(&quot;Hello, World!&quot;); return 0; } }
  • 28. Objective C Reflective Object-oriented Smalltalk-style messaging Mac OS X or iPhone OS #include <stdio.h> #include <objpak.h> int main(int argc,char **argv) { id set = [Set new]; argv++;while (--argc) [set add:[String str:*argv++]]; [set do:{ :each | printf(&quot;hello, %s!\n&quot;,[each str]); }]; return 0; }
  • 29. ActionScript MX From JavaScript to “real” language Flash / Flex _root.createTextField(&quot;mytext&quot;,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 = &quot;Hello World!&quot;; mytext.setTextFormat(myformat);
  • 30. Other PHP VirTools BASIC / DarkBASIC Delphi Python / PyGame
  • 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
  • 35. Flash CS4 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
  • 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 MacOS X or PC (new) 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.
  • 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…
  • 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
  • 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…
  • 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