Less code More fun
-
Upload
amos-laber -
Category
Technology
-
view
65 -
download
2
description
Transcript of Less code More fun
![Page 1: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/1.jpg)
Less Code More Fun
Making a better Game Foundation
![Page 2: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/2.jpg)
Part I
Intro
![Page 3: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/3.jpg)
Game Production Process Has Evolved
Best Practices migrated across different platforms: C++ (Consoles), AS3 (Web), Obj C (iOS)Layered Architecture and modular components are commonOpen Source UI Frameworks and Game EnginesMany Studios have their own Tech
![Page 4: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/4.jpg)
Web and Mobile Slowly Converge
Developers Leverage Tools and Techniques Between Different Platforms
iOS, AndroidWeb (Flash)ConsoleDesktop
![Page 5: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/5.jpg)
Are we up do date?
![Page 6: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/6.jpg)
Common Problems in Development
Very little planning ahead. Features are usually implemented on the flyReinventing the wheelDuplicate implementation - Too much Copy/PasteNo common foundationNo distinct production cycle steps
![Page 7: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/7.jpg)
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.
![Page 8: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/8.jpg)
What is Missing?
Clear Design / ArchitectureCommon FoundationA Suitable Framework
![Page 9: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/9.jpg)
Part II
Foundation and Architecture
![Page 10: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/10.jpg)
Some Conventions
Architecture?Framework?
![Page 11: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/11.jpg)
Architecture
![Page 12: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/12.jpg)
Framework
![Page 13: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/13.jpg)
Engine
Just another component in a Framework - Not the Framework itself.Different Engines typically exist within a Framework.
![Page 14: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/14.jpg)
Runtime / Browser
OS and Drivers
Hardware (CPU and GPU)
Typical Layered Architecture
Project Code
![Page 15: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/15.jpg)
Game Application
UI ComponentsGame Engine
3rd Party Libraries
Runtime / Browser
OS and Drivers
Hardware (CPU and GPU)
Typical Layered Architecture
Project Code
![Page 16: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/16.jpg)
Anatomy of Game Data Flow
Flash was not exported from SlideRocket
Flash was not exported from SlideRocket
Flash was not exported from SlideRocket
![Page 17: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/17.jpg)
Game Application
UI ComponentsGame Engine
3rd Party Libraries
The Client Code
Popups, HUD Elements, Buttons etc.
Group was not exported from SlideRocket
And that can be used across different projects and platforms.
![Page 18: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/18.jpg)
Having a Common Foundation == Taking Control Over Our Code.
![Page 19: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/19.jpg)
Using a Common Foundation
Provide a modular design, based on swappable building blocksModernize our code base and promote best practicesAllow specialization of developers in the team
![Page 20: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/20.jpg)
Designed for Efficiency From the Ground Up
Clean, simple and compactReduced size and memory footprintBased on proven, bug free components
Less Code ..
![Page 21: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/21.jpg)
We Can Get Our Own Tech
Simplify the Creative ProcessFocus efforts on game code / contents, instead of boilerplate code.Create with higher production value.Allows for quick iterations without cutting corners
.. More Fun
![Page 22: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/22.jpg)
Start Development Faster
With the foundation, the base tier is ready to go from Day 1Significant head start when starting productionChoose from an array of ready made features, or add new ones
![Page 23: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/23.jpg)
Foundation Supported Features
Core Engine (Rendering, Asset Management, etc)Character Animation and MovementParticlesPhysics (Box2D / Nape)Common UI ElementsExtension Layer for common gameplay systemsShop, Inventory, Item Placement
![Page 24: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/24.jpg)
Scroller / Action Game
Demo
![Page 25: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/25.jpg)
All based on a common Framework
![Page 26: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/26.jpg)
Part III
Use and Reuse
[Across Projects and Platforms]
![Page 27: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/27.jpg)
Making Portable Code and Assets
Get a portable project Just using the foundationProperly architected code makes porting much easierAssets and back-end interface should be reusable across platformsModular structure supports one-time porting per block
![Page 28: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/28.jpg)
Tools for content used across platforms
![Page 29: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/29.jpg)
Tech and Libraries across platforms
Cocos2D, ND2D, Starling, Flixel, Citrus, Box2D, NAPE, TweenMax 12, PBE / SmashCocos2D-XLangauges: As3, Objective-C, C++
![Page 30: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/30.jpg)
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
![Page 31: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/31.jpg)
Bottom Line
Streamlined ProcessBetter solutions for common problems, putting real knowledge and innovation into foundation code.
Shorter SchedulesEach subsequent project would see better utilization and shorter timelines.
![Page 32: Less code More fun](https://reader036.fdocuments.us/reader036/viewer/2022081519/558bd782d8b42a9e308b465d/html5/thumbnails/32.jpg)
Thank You