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

Slides:



Advertisements
Similar presentations
Tahir Nawaz Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a.
Advertisements

Välkommen till Sommarkollo Introduce XNA Game Studio Express Make A Game!
MULTIMEDIA DEVELOPMENT 4.3 : AUTHORING TOOLS. At the end of the lesson, students should be able to: 1. Describe different types of authoring tools Learning.
What’s Up With That? David Fox VP Technology, iWin
Charis Marangos. Games versus Most Applications  Technical implementation is hard Real-time and responsive (at least 25 frames per second) Hungry for.
Presented By, Sripad Sarode
Designer’s Challenge – Web-based Applications using Adobe Flex and OpenInsight Clay Borne President CLB IT.
DIS Multimedia Productions Flash Video Streaming June 5, 2007.
Introduction Rich Internet Applications OpenLaszlo as an RIA Examples Community Competitors OpenLaszlo Architecture OpenLaszlo XML Structure Dealing with.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Survey of Graphics and Games. Outline Overview of computer graphics – Coursework – Research Programming using game engines Computer game and animation.
OPC WPFHMI.NET.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Mobile Application Development
Microsoft ASP.NET AJAX - AJAX as it has to be Presented by : Rana Vijayasimha Nalla CSCE Grad Student.
By Steven Taylor.  Basically a video game engine is a software system designed for the creation and development of video games.  There are many game.
Master Project Preparation Murtaza Hussain. Unity (also called Unity3D) is a cross-platform game engine with a built-in IDE developed by Unity Technologies.
Under the Hood Corey Bridges & Rafhael Cedeno Game Developers Conference 2008.
Development of mobile applications using PhoneGap and HTML 5
HYPERTEXT MARKUP LANGUAGE (HTML)
An Overview of Qt - asankar1. Agenda About Qt –A brief intro of Qt Qt development tools –Tools used for building Qt application Qt Architecture –The underlying.
COM 205 Multimedia Applications
Client/Server Architectures
RIA Introduce Comparison among several technology.
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Do not redistribute. Adobe Gaming SDK Casual Connect Europe 2013 Tom Krcha.
CAEL 5012 Rich Internet Applications. What you need For this part of the course you will need access to a server with PHP and MYSQL which will be supplied.
Copyright © 2012 Certification Partners, LLC -- All Rights Reserved Lesson 5: Multimedia on the Web.
By Mihir Joshi Nikhil Dixit Limaye Pallavi Bhide Payal Godse.
CSCI 224 Introduction to Java Programming. Course Objectives  Learn the Java programming language: Syntax, Idioms Patterns, Styles  Become comfortable.
Introduction to Silverlight By Alan Cobb 2008-Jan-10 Sacramento, CA
Introduction to Silverlight. Slide 2 What is Silverlight? It’s part of a Microsoft Web platform called Rich Internet Applications (RIA) There is a service.
September 15, 2015 Laszlo Overview. 2 Copyright (c) 2007 Laszlo Systems, Inc. Laszlo Systems: Leader in RIA Software Pioneer of Rich Internet Applications.
Week II Platforms and Engines. Overview Platforms and Engines Tools and SDKs Netbeans Game Development Walkthrough
1 Lecture 12: Multimedia Not in Web 101 Text  Important Multimedia Issues  Audio  Movies and Video  Multimedia and HTML Documents.
CHAPTER FOUR COMPUTER SOFTWARE.
Introduction to Interactive Media Interactive Media Tools: Software.
Silverlight Technology. Table of Contents 1.What is Silverlight Technology? 2.Silverlight Overview. 2.1 How it works 2.2 Silverlight development tools.
Dr. Rado Kotorov Technical Director Strategic Product Mgt. Jeff Shein Technical Manager Creating Web 2.0 Rich Internet Applications (RIA) and Dashboards.
Ch 1. A Python Q&A Session Spring Why do people use Python? Software quality Developer productivity Program portability Support libraries Component.
The Microsoft Technical Roadshow 2007 Rich Client Development in XAML Mark Johnston Developer & Platform Group Microsoft Ltd
2006 Adobe Systems Incorporated. All Rights Reserved. 1 Adobe RIA Technologies: Adobe Flex 3 Cornel Creanga Platform Evangelist
2006 Adobe Systems Incorporated. All Rights Reserved. 1 RIAs - Beyond the Buzz James Ward Technical Evangelist jamesward.org
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
National Taiwan University Department of Computer Science and Information Engineering National Taiwan University Department of Computer Science and Information.
Developing ASP.NET AJAX Controls with Silverlight Barry Gervin Microsoft Regional Director John Bristowe Developer Advisor, Microsoft.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
REAL WORLD AJAX MARCH TIBCO USER CONFERENCE / 2004 Enterprise Rich Internet Applications with AJAX Real World Case Studies with TIBCO General Interface™
SSMIC Game Development Workshop - Brian Robbins June 21,2007 How do I make a game?  Quick look at lots of different tools  Discuss pros/cons of each.
Introduction to Flex 2 by Rich Tretola. About Me Rich Tretola is a senior software developer at Herff Jones, Inc. specializing in Rich Internet Applications.
Reading Flash. Training target: Read the following reading materials and use the reading skills mentioned in the passages above. You may also choose some.
Contents : What is Silverlight? Silverlight Overview Silverlight Toolkit Overview Timeline & Packaging Silverlight V1.0 & V1.1 Properties of V1.0 Properties.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
ITP 109 Week 2 Trina Gregory Introduction to Java.
Ori Hanegby Pixtazy Blog:
First appeared Features Popular uses Basic This language emphasises on ease of use, allowing general purpose programming to those with a small amount of.
What is DirectX? DirectX is built by Microsoft as a collection of API’s (Application Programming Interfaces) for the purpose of multimedia processing.
Game Engine Architecture
Computer Software Digital Literacy.
Netscape Application Server
Computer Software Digital Literacy.
CHAPTER 8 Multimedia Authoring Tools
CMPE419 Mobile Application Development
Game Engine Architecture
Introduction to Silverlight
.NET and .NET Core 7. XAML Pan Wuming 2017.
Silverlight Technology
Unit 20 Software Part 2.
Unit 20 Software Part 2.
Game Engines Non-game specific technology Game: Engine
CMPE419 Mobile Application Development
Presentation transcript:

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

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

The Perfect Framework ® PCXBLA Deciding What To Use? WebDS Mac Mobile iPhone FacebookWii 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:  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

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 jz end inc R0 inc dptr sjmp loop end: jmp $ msg: db 'Hello World",0

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

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; }

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!" ); }

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("Hello, World!"); return 0; }

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; }

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);

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

 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  Runs on MacOS X only  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 concurrent connections per box.  Clients cannot communite across machines.  Simple administration tools (kick or ban).  $140 express  $739 pro

SmartFox  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  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…

 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 Development Platforms for Casual Games By Phil Steinmeyer What About Flash? Can We Really Make Games With It? By Scott Bilas Casual Games Technology Survey By James Smith Technology Face-Off Panel from 2007 Summit

G’luck!  Want the Matrix or Links? Casual Games Whitepaper