540 likes | 784 Views
Casual Game Engines. What’s Up With That? David Fox VP Technology, iWin dfox@iwin.com. Why Lil’ Ol’ Me ?. iWin As Web Developer Java Applets Flash iWin As Downloadable Developer Homegrown Framework: SDL/DirectX Flash PC/Mac Multiplayer iWin As Publisher Popcap BlitzBasic
E N D
Casual Game Engines What’s Up With That? David Fox VP Technology, iWin dfox@iwin.com
Why Lil’ Ol’ Me? iWin As Web Developer Java Applets Flash iWin As Downloadable Developer Homegrown Framework: SDL/DirectX Flash PC/Mac Multiplayer iWin As Publisher Popcap BlitzBasic Torque 3D Orbital
A Buncha Technologies Flash Shockwave Silverlite Java C# C++ Basic Delphi
A Fistful of Frameworks BlitzBasic VirTools Torque DarkBASIC Playground SDK PopCap Framework SDL DirectX
In 20 Minutes! Yeah, Right.
Literary Theories! Formalism == C# Post-Structuralism == C++ Marxism/Feminism == Flash New Historicism == BlitzBASIC Deconstructionism == DirectX Psychoanalysis == Java
Flash CS3 $700 Vector-Based Movie clips and timelines (Visual OOP) MP3 support, embedded markers, etc. ActionScript (like JavaScript) Flash 8 improved math/rendering speed Window, Mac, Linux, Mobile Phones, PDAs, all Browsers Artist-Friendly “Real” Programmers Rare/Expensive
Flash Gotchas Great Prototype Tool Horrible GUI for Coding (use Eclipse) Painful Debugging Must write C++ wrapper for EXE Fullscreen Support Right click handling Logs Support for other graphic/audio formats Writing to disk
Flash Tricks Embed flash in C++ using f-in-box
Director/Shockwave • $1,200 • 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
Silverlight Web-focused Runs atop Visual Studio 2008 AJAX, VB, C#, Python, Ruby Cross-browser/platform (but Windows focused) Poor penetration Unproven
Java Highly portable (Any browser, PC, Mac, Linux, Mobile) < 90% browser penetration Version headaches Desktop use requires large JDK download. Poor 2D library Java3D API Can be work w/ C++ using JNI
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/
XNA Game Studio 2.0 Express is Free For students, hobbyists, indies. Based on Visual C# Express 2005 Windows (XP SP2 only) and Xbox 360 C#: Install huge .NET Runtime Soon? Static .NET Linker/
BASIC/Delphi/Other… BASIC Delphi Phython and PhyGame PHP … Assembly Language
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)
But Not All… (Director!)
Frameworks Vary *Based on 50 of the best selling games in Real Arcade from 2004-2006
The Basics Deal with Mouse/Keyboard Input Draw Animated Sprites Write Text With Fonts Play Music and Sound FX Resource Loading
“Hard” Features Matrix Price (Upfront + License) Runtime Performance Min Sys Reqs Size Dev Support and Documentation Vista Support Unicode Support Cross Platform (Mac, XBLA, 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 Performance of Your Game Proven?
BlitzMax $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
Torque Game Builder 1.7 $100 Hardware Accel SceneGraph Driven 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 Windows, Linux, or Mac OSX Multiplayer with TorqueNet Lite Script in TorqueScript (TGE)
Playground SDK Free! DinerDash 2 (& 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
Sexy Framework 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
Home Grown SDL Free cross-platform multi-media development API Graphics / Video Control Input / Events Audio / CD-ROM audio Threads Timers Win32/Linux/BeOS/~MacOS
Home Grown DirectX Versions 5.0 to 10.0 Features Vs. Penetration Win98/Me = DX7.0 XP = DX8.0 My Advice? Stick to 7.0 or 8.0 Well-Tested Code Your Way
Framework Doesn’t Matter! (Almost)
Know Your Purpose • Prototyping? • Web Only? • Mobile Only? • Full Cross-Platform Play?
Know Your Game • 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