Less Code
More Fun
Making a better Game Foundation
Part I
Intro
Game Production Process Has Evolved
Best Practices migrated across different platforms: C++
(Consoles), AS3 (Web), Obj C (iOS)
Layered Architecture and modular components are
common
Open Source UI Frameworks and Game Engines
Many Studios have their own Tech
Web and Mobile Slowly Converge

Developers Leverage
Tools and Techniques
Between Different
Platforms

iOS, Android
Web (Flash)
Console
Desktop
Are we up do date?
Common Problems in Development
Very little planning ahead. Features are usually
implemented on the fly
Reinventing the wheel
Duplicate implementation - Too much Copy/Paste
No common foundation
No distinct production cycle steps
Typical Results
Developers are forced to choose quick and dirty over
properly designed code.
Team will often overlook features that take longer to
implement.
Production value and user experience degrade.
What is Missing?

Clear Design / Architecture
Common Foundation
A Suitable Framework
Part II

Foundation and
Architecture
Some Conventions

Architecture?
Framework?
Architecture
Framework
Engine
Just another component in a Framework Not the Framework itself.
Different Engines typically exist within a
Framework.
Typical Layered Architecture

Project Code

Runtime / Browser
OS and Drivers
Hardware (CPU and GPU)
Typical Layered Architecture
Game Application
UI Components

Game Engine
3rd
Party
Librarie
s

Project
Code
Runtime / Browser

OS and Drivers
Hardware (CPU and GPU)
Anatomy of Game Data Flow

Flash was not exported from
SlideRocket

Flash was not exported from
SlideRocket

Flash was not
exported from
SlideRocket
The Client Code
Game Application

Game Engine

UI Components
Popups, HUD
Elements, Buttons etc.

Group was not exported from SlideRocket

3rd
Party
Librarie
s

And that can be used across different
projects and platforms.
Having a Common
Foundation == Taking
Control Over Our Code.
Using a Common Foundation
Provide a modular design, based on
swappable building blocks
Modernize our code base and promote
best practices
Allow specialization of developers in the
team
Designed for Efficiency From the
Ground Up
Clean, simple and compact
Reduced size and memory footprint
Based on proven, bug free components

Less Code
We Can Get Our Own Tech
Simplify the Creative Process
Focus efforts on game code / contents,
instead of boilerplate code.
Create with higher production value.
Allows for quick iterations without cutting
corners

.. More Fun
Start Development Faster
With the foundation, the base tier is ready
to go from Day 1
Significant head start when starting
production
Choose from an array of ready made
features, or add new ones
Foundation Supported Features
Core Engine (Rendering, Asset Management, etc)
Character Animation and Movement
Particles
Physics (Box2D / Nape)
Common UI Elements
Extension Layer for common gameplay systems
Shop, Inventory, Item Placement
Demo

Scroller / Action Game
All based on a
common
Framework
Part III

Use and Reuse
[Across Projects and Platforms]
Making Portable Code and Assets
Get a portable project Just using the foundation
Properly architected code makes porting much
easier
Assets and back-end interface should be reusable
across platforms
Modular structure supports one-time porting per
block
Tools for content used across platforms
Tech and Libraries across platforms
Cocos2D, ND2D, Starling, Flixel, Citrus,
Box2D, NAPE, TweenMax 12, PBE /
Smash
Cocos2D-X
Langauges: As3, Objective-C, C++
Flash ==> IOS ==> Android
Fast Route
Use Adobe AIR to create mobile apps.
Native
Port the common Framework to native IOS and
Android, then port the game code
Bottom Line
Shorter Schedules
Each subsequent project would see better
utilization and shorter timelines.

Streamlined Process
Better solutions for common problems, putting real
knowledge and innovation into foundation code.
Thank You

Less code More fun

  • 1.
    Less Code More Fun Makinga better Game Foundation
  • 2.
  • 3.
    Game Production ProcessHas Evolved Best Practices migrated across different platforms: C++ (Consoles), AS3 (Web), Obj C (iOS) Layered Architecture and modular components are common Open Source UI Frameworks and Game Engines Many Studios have their own Tech
  • 4.
    Web and MobileSlowly Converge Developers Leverage Tools and Techniques Between Different Platforms iOS, Android Web (Flash) Console Desktop
  • 5.
    Are we updo date?
  • 6.
    Common Problems inDevelopment Very little planning ahead. Features are usually implemented on the fly Reinventing the wheel Duplicate implementation - Too much Copy/Paste No common foundation No distinct production cycle steps
  • 7.
    Typical Results Developers areforced to choose quick and dirty over properly designed code. Team will often overlook features that take longer to implement. Production value and user experience degrade.
  • 8.
    What is Missing? ClearDesign / Architecture Common Foundation A Suitable Framework
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
    Engine Just another componentin a Framework Not the Framework itself. Different Engines typically exist within a Framework.
  • 14.
    Typical Layered Architecture ProjectCode Runtime / Browser OS and Drivers Hardware (CPU and GPU)
  • 15.
    Typical Layered Architecture GameApplication UI Components Game Engine 3rd Party Librarie s Project Code Runtime / Browser OS and Drivers Hardware (CPU and GPU)
  • 16.
    Anatomy of GameData Flow Flash was not exported from SlideRocket Flash was not exported from SlideRocket Flash was not exported from SlideRocket
  • 17.
    The Client Code GameApplication Game Engine UI Components Popups, HUD Elements, Buttons etc. Group was not exported from SlideRocket 3rd Party Librarie s And that can be used across different projects and platforms.
  • 18.
    Having a Common Foundation== Taking Control Over Our Code.
  • 19.
    Using a CommonFoundation Provide a modular design, based on swappable building blocks Modernize our code base and promote best practices Allow specialization of developers in the team
  • 20.
    Designed for EfficiencyFrom the Ground Up Clean, simple and compact Reduced size and memory footprint Based on proven, bug free components Less Code
  • 21.
    We Can GetOur Own Tech Simplify the Creative Process Focus efforts on game code / contents, instead of boilerplate code. Create with higher production value. Allows for quick iterations without cutting corners .. More Fun
  • 22.
    Start Development Faster Withthe foundation, the base tier is ready to go from Day 1 Significant head start when starting production Choose from an array of ready made features, or add new ones
  • 23.
    Foundation Supported Features CoreEngine (Rendering, Asset Management, etc) Character Animation and Movement Particles Physics (Box2D / Nape) Common UI Elements Extension Layer for common gameplay systems Shop, Inventory, Item Placement
  • 24.
  • 25.
    All based ona common Framework
  • 26.
    Part III Use andReuse [Across Projects and Platforms]
  • 27.
    Making Portable Codeand Assets Get a portable project Just using the foundation Properly architected code makes porting much easier Assets and back-end interface should be reusable across platforms Modular structure supports one-time porting per block
  • 28.
    Tools for contentused across platforms
  • 29.
    Tech and Librariesacross platforms Cocos2D, ND2D, Starling, Flixel, Citrus, Box2D, NAPE, TweenMax 12, PBE / Smash Cocos2D-X Langauges: As3, Objective-C, C++
  • 30.
    Flash ==> IOS==> Android Fast Route Use Adobe AIR to create mobile apps. Native Port the common Framework to native IOS and Android, then port the game code
  • 31.
    Bottom Line Shorter Schedules Eachsubsequent project would see better utilization and shorter timelines. Streamlined Process Better solutions for common problems, putting real knowledge and innovation into foundation code.
  • 32.