ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
GAME ENGINE
ON
ANDROID




Julian Chu
Agenda   We Love Game
         Why need Game Engine
         What is Game Engine
         How many Game Engine
         Get one for You
         Implementation
We Love Game
Do You Love Playing Game?




         I DO
Everybody Love Playing Game
My Father plays
Solitaire
My Sister plays
Labyrinth
My Colleague plays
AngryBird
I play Dracula X, Super Mario III,
Final Fantasy III, Tetris, Frozen
Bubbles, ZooKeeper, Dragon Ball Z2
Z3, DDR...blah blah
Why Do We Love a Game
Art
  It looks awesome

Story
  It is realistic

Social
  We may make friends via game
      By exchanging information
      By sharing common experience

Fun
  The most important part of a game
GAME EVERYWHERE
Playing Game Everywhere
FC
MD, SFC
SS, PS
.......
NOW ?
   Long time ago we use GameBoy in toilet. Now we
   use mobile phone.
Why need Game Engine
Create a Game
Everyone has creativity
We might want to clone a existing
game
We have a good idea for game
Writing Game is COOL, and We
are COOL!!
Game Engine helps us
Faster Developement
Easier Developement
  You might don't know OpenGL...

Abstract Layer
  You might need to port your game to another platform....

Focus on FUN
  If you spend more time on fighting with code, you has less time to think
  about your game, especially most of us are independent programmer.
What is Game Engine
Game Engine might has
Sprite, Scene, Animation   Renderer
Modifier                   Physics Engine
Particle System            Collision Detection
Event Handling             Script Language
Game Thread
Normal Android application




An Activity contains some Views. We interactive with some activities
In a Game




An Activity holds one GLSurfaceView.
Game Engine switch one of scenes to display
Sprite
Collision Detection
How many Game Engine on
        Android
Lots of Game Engines
If you search "android game" at   Age
Google Code, you will see lots    Angle
of game engines.
                                  Candroidengine
Some of them are Graphics
                                  Catcake
Engine
                                  Cloak
                                  Cocos2d
                                  Forget3d
                                  JMonkeyEngine
                                  ReplicaIsland
                                  Rokon
                                  AndEngine
                                  .........more
Target
               There are too many good game
               engines, I can only choose some of
               them.
                   Rokon
                   Cocos2D
                   AndEngine




Important: I believe there should be some great game engine but I missed
Rokon
Rokon 2.0.3
 http://rokonandroid.com/tutorials
 http://code.google.com/p/rokon/

Useful staffs
 Sprite, Modifier, Audio, Sprite
 Animation, Polygon Collision...blah
 You can see Particle System at
 Rokon 1, but nothing about Particle
 System at Rokon2 yet.
Rokon
Rokon




images borrows from Replica Island
Rokon




Layer accepts GameObject.

You can extends GameObject and
create your own class then add to Layer
Rokon (touchable sprite)
TextureAtlas atlas = new TextureAtlas();
Texture textureDoll = new Texture("doll.png");
Sprite mDoll;
mDoll = new Sprite(X, Y, Width, Height);
mDoll.setTexture(textureDoll);
mDoll.setTouchable();
add(0, mDoll);



@Override
public void onTouchDown(Drawable object, float x, float y,
  MotionEvent event, int pointerCount, int pointerId) {
  if (object == mDoll) {
      android.util.Log.i("Hi", "touch down doll");
  }
}
Rokon (Audio)

/* Longer audio file */
RokonMusic.play("audio/music.mp3", true); //true means loop




/* Shorter sound effects */
RokonAudio mAudio = new RokonAudio();
SoundFile mSound = mAudio.createSoundFile(sMenuTap);
mSound.play();
Rokon(Animation)
Sprite explosion = new Sprite(x, y, width, height);               1

Texture texture = new Texture("explosion.png", 5, 5)
explosion.setTextureTile(texture, 25); // 25 is the lastest one

/* tile 1 to tile 25, one frame spends 35ms, repeat once */
explosion.animate(1, 25, 35, 1, false);




                                                                      25
Rokon(Physical)
http://code.google.com/p/rokon/source/browse
/examples/donate_app/src/com/stickycoding
/rokondonatefree/DonateScene.java
Cocos2D
Python Cocos2d
¡ú iPhone Cocos2d
¡ú Android Cocos2d
 http://code.google.com/p/cocos2d-android/

Android cocos2d matches version 0.8 of
cocos2d for iPhone
 0.9 is still in development
Cocos2D
Cocos2D
CocosNode accepts Action
Most classes extends CocosNode
  Sprite
  Label
  Scene        Action rotate = RotateBy.action(2, 360);
               Sprite sprite = Sprite.sprite("ball.png");
  Layer        sprite.runAction(rotate);
  ColorLayer
  Menu
  MenuItem
Cocos2D




1. addChild: every CocosNode may has child CocosNode
2. action: every CocosNode may has Action
Cocos2D
CocosNode.runAction(action);
Cocos2D


CocosNode
    +
  Action
Cocos2D(Physical)
Cocos2D
Some problems
Particle System Example
SceneTest Example
Transition Example




                          Particle System
AndEngine
Fast Development
  http://www.andengine.org/

Extension
  Box2d
  Multiplayer
  MultiTouch
  ......etc

Amazing examples
  http://code.google.com/p/andengineexamples/
  You can download the example at Market.
AndEngine
AndEngine(Camera)
           See Example
              TMXTiledMapExample




setChaseShape(IShape);
AndEngine
AndEngine



Touch and Multi Touch




                        Custom Font
AndEngine
AndEngine
Particle System
Replica Island
Well designed game
Open Source
 http://replicaisland.net/
 It is very possible to split engine
 from the game
 http://code.google.com/events/io/2009/sessions/WritingReal
 TimeGamesAndroid.html (it is worth reading)


Mailing list
 https://groups.google.com/group/replica-island-coding-
 community/topics

 Highly activity!!
Compare
                        Rokon2         Cocos2d     AndEngine
   FPS
   (one sprite)          52(*1)         60(*2)        58(*3)
   FPS
   (50 physics)          46(*4)         18(*5)        60(*6)
   FPS
   (100 physics)           42             8             36
   Physics Engine        box2d         box2d          box2d
   Particle System         No             ?            Yes
   License                BSD           BSD           LGPL
   Examples               ?(*7)         Yes(*8)       Yes(*9)
                                                      Aug
   Lastesd Update        Aug 8         Jun 26
                                                   14(ouch!!)

                     Tetronimo(*10)                 Snake(*12)
   Game Implement
                     Drop Block(*11)              AlienStars(*13)


Tested on Nexus One, Froyo (FRF91)
Ref
1. http://rokonandroid.com/tutorials/41-beginner/63-using-sprites
2. http://code.google.com/p/cocos2d-android/source/browse/trunk/src/org/cocos2d/tests/SpritesTest.java
3. http://code.google.com/p/andengineexamples/source/browse/src/org/anddev/andengine/examples/SpriteExample.java
4. http://code.google.com/p/rokon/source/browse/examples/donate_app/src/com/stickycoding/rokondonatefree/DonateScene.java
5. http://code.google.com/p/cocos2d-android/source/browse/trunk/src/org/cocos2d/tests/JBox2DTest.java
6. http://code.google.com/p/andengineexamples/source/browse/src/org/anddev/andengine/examples/PhysicsExample.java
7. http://code.google.com/p/rokon/source/browse/#svn/tags/release/1.1.1/src/com/stickycoding/RokonExamples
These examples were written for Rokon 1.1.1
8. http://code.google.com/p/cocos2d-android/source/browse/trunk/src/org/cocos2d/tests/
9. http://code.google.com/p/andengineexamples/source/browse/
10. http://www.rokonandroid.com/community/rss/index.php?option=com_agora&task=topic&id=150&Itemid=60
11. http://rokonandroid.com/games/67-drop-block
12. http://code.google.com/p/andengineexamples/source/browse/src/org/anddev/andengine/examples/game/snake/
13. http://www.andengine.org/forums/project-development-blogs/galaga-like-game-t291.html
Game Implementation

                   Nobunaga's Puke




ÐÅéLµÄ‡fÍû




        Implemented in cocos2d-android and Rokon2
        From scratch in 3 days
        http://code.google.com/p/nobunagapuke/
Q&A
Sponsored
by

           http://0xlab.org




                15 Aug 2010
CC-By-SA        COSCUP

More Related Content

What's hot (18)

Game Development with AndEngine
Game Development with AndEngineGame Development with AndEngine
Game Development with AndEngine
Daniela Da Cruz
?
Preserving arcade games
Preserving arcade gamesPreserving arcade games
Preserving arcade games
Ange Albertini
?
Production Log - Cosmic Constructor
Production Log - Cosmic ConstructorProduction Log - Cosmic Constructor
Production Log - Cosmic Constructor
MagicalPotato9000
?
Mobile AR
Mobile ARMobile AR
Mobile AR
Seyed Jafari
?
The Ring programming language version 1.10 book - Part 58 of 212
The Ring programming language version 1.10 book - Part 58 of 212The Ring programming language version 1.10 book - Part 58 of 212
The Ring programming language version 1.10 book - Part 58 of 212
Mahmoud Samir Fayed
?
Introduction to Game Programming: Using C# and Unity 3D - Chapter 2 (Preview)
Introduction to Game Programming: Using C# and Unity 3D - Chapter 2 (Preview)Introduction to Game Programming: Using C# and Unity 3D - Chapter 2 (Preview)
Introduction to Game Programming: Using C# and Unity 3D - Chapter 2 (Preview)
noorcon
?
Funky game engines
Funky game enginesFunky game engines
Funky game engines
eduriez
?
Presentaci¨®n Unity
Presentaci¨®n UnityPresentaci¨®n Unity
Presentaci¨®n Unity
Laura Milena Parra Navarro
?
Fps tutorial 1
Fps tutorial 1Fps tutorial 1
Fps tutorial 1
unityshare
?
¡¾Unite Tokyo 2018¡¿¡°100 Must-see Assets for 2018¡± by Virtual YouTuber, Cyber G...
¡¾Unite Tokyo 2018¡¿¡°100 Must-see Assets for 2018¡± by Virtual YouTuber, Cyber G...¡¾Unite Tokyo 2018¡¿¡°100 Must-see Assets for 2018¡± by Virtual YouTuber, Cyber G...
¡¾Unite Tokyo 2018¡¿¡°100 Must-see Assets for 2018¡± by Virtual YouTuber, Cyber G...
Unity Technologies Japan K.K.
?
Preserving arcade games - 31c3
Preserving arcade games -  31c3Preserving arcade games -  31c3
Preserving arcade games - 31c3
Ange Albertini
?
GDC 2015 ¤Ç¤Î¥Ï¥¤¥¨¥ó¥É¥°¥é¥Õ¥£¥Ã¥¯¥¹
GDC 2015 ¤Ç¤Î¥Ï¥¤¥¨¥ó¥É¥°¥é¥Õ¥£¥Ã¥¯¥¹GDC 2015 ¤Ç¤Î¥Ï¥¤¥¨¥ó¥É¥°¥é¥Õ¥£¥Ã¥¯¥¹
GDC 2015 ¤Ç¤Î¥Ï¥¤¥¨¥ó¥É¥°¥é¥Õ¥£¥Ã¥¯¥¹
Takashi Imagire
?
Fps tutorial 2
Fps tutorial 2Fps tutorial 2
Fps tutorial 2
unityshare
?
11thDimensionStudios_GDD_Final_0915
11thDimensionStudios_GDD_Final_091511thDimensionStudios_GDD_Final_0915
11thDimensionStudios_GDD_Final_0915
Blake Taylor
?
Yoshis caanoo emulator_fact_sheets_v03
Yoshis caanoo emulator_fact_sheets_v03Yoshis caanoo emulator_fact_sheets_v03
Yoshis caanoo emulator_fact_sheets_v03
Rub¨¦n de Celis Hern¨¢ndez
?
Unity 3D, A game engine
Unity 3D, A game engineUnity 3D, A game engine
Unity 3D, A game engine
Md. Irteza rahman Masud
?
HoloLens Programming Tutorial: AirTap & Spatial Mapping
HoloLens Programming Tutorial: AirTap & Spatial MappingHoloLens Programming Tutorial: AirTap & Spatial Mapping
HoloLens Programming Tutorial: AirTap & Spatial Mapping
Takashi Yoshinaga
?
Ubuntu Kung Fu
Ubuntu Kung FuUbuntu Kung Fu
Ubuntu Kung Fu
guest17a7fd54
?
Game Development with AndEngine
Game Development with AndEngineGame Development with AndEngine
Game Development with AndEngine
Daniela Da Cruz
?
Production Log - Cosmic Constructor
Production Log - Cosmic ConstructorProduction Log - Cosmic Constructor
Production Log - Cosmic Constructor
MagicalPotato9000
?
The Ring programming language version 1.10 book - Part 58 of 212
The Ring programming language version 1.10 book - Part 58 of 212The Ring programming language version 1.10 book - Part 58 of 212
The Ring programming language version 1.10 book - Part 58 of 212
Mahmoud Samir Fayed
?
Introduction to Game Programming: Using C# and Unity 3D - Chapter 2 (Preview)
Introduction to Game Programming: Using C# and Unity 3D - Chapter 2 (Preview)Introduction to Game Programming: Using C# and Unity 3D - Chapter 2 (Preview)
Introduction to Game Programming: Using C# and Unity 3D - Chapter 2 (Preview)
noorcon
?
Funky game engines
Funky game enginesFunky game engines
Funky game engines
eduriez
?
¡¾Unite Tokyo 2018¡¿¡°100 Must-see Assets for 2018¡± by Virtual YouTuber, Cyber G...
¡¾Unite Tokyo 2018¡¿¡°100 Must-see Assets for 2018¡± by Virtual YouTuber, Cyber G...¡¾Unite Tokyo 2018¡¿¡°100 Must-see Assets for 2018¡± by Virtual YouTuber, Cyber G...
¡¾Unite Tokyo 2018¡¿¡°100 Must-see Assets for 2018¡± by Virtual YouTuber, Cyber G...
Unity Technologies Japan K.K.
?
Preserving arcade games - 31c3
Preserving arcade games -  31c3Preserving arcade games -  31c3
Preserving arcade games - 31c3
Ange Albertini
?
GDC 2015 ¤Ç¤Î¥Ï¥¤¥¨¥ó¥É¥°¥é¥Õ¥£¥Ã¥¯¥¹
GDC 2015 ¤Ç¤Î¥Ï¥¤¥¨¥ó¥É¥°¥é¥Õ¥£¥Ã¥¯¥¹GDC 2015 ¤Ç¤Î¥Ï¥¤¥¨¥ó¥É¥°¥é¥Õ¥£¥Ã¥¯¥¹
GDC 2015 ¤Ç¤Î¥Ï¥¤¥¨¥ó¥É¥°¥é¥Õ¥£¥Ã¥¯¥¹
Takashi Imagire
?
11thDimensionStudios_GDD_Final_0915
11thDimensionStudios_GDD_Final_091511thDimensionStudios_GDD_Final_0915
11thDimensionStudios_GDD_Final_0915
Blake Taylor
?
HoloLens Programming Tutorial: AirTap & Spatial Mapping
HoloLens Programming Tutorial: AirTap & Spatial MappingHoloLens Programming Tutorial: AirTap & Spatial Mapping
HoloLens Programming Tutorial: AirTap & Spatial Mapping
Takashi Yoshinaga
?

Similar to Android game engine (20)

Cross Platform Game Programming with Cocos2d-js
Cross Platform Game Programming with Cocos2d-jsCross Platform Game Programming with Cocos2d-js
Cross Platform Game Programming with Cocos2d-js
Troy Miles
?
Android game development
Android game developmentAndroid game development
Android game development
dmontagni
?
Introduction to Mobile Game Programming with Cocos2d-JS
Introduction to Mobile Game Programming with Cocos2d-JSIntroduction to Mobile Game Programming with Cocos2d-JS
Introduction to Mobile Game Programming with Cocos2d-JS
Troy Miles
?
iOS Game Development: When Cocoa Met Cocos...
iOS Game Development: When Cocoa Met Cocos...iOS Game Development: When Cocoa Met Cocos...
iOS Game Development: When Cocoa Met Cocos...
Joseph Ku
?
Build a Game in 60 minutes
Build a Game in 60 minutesBuild a Game in 60 minutes
Build a Game in 60 minutes
Troy Miles
?
Programmers guide
Programmers guideProgrammers guide
Programmers guide
Karla Paz Enamorado
?
Game development with Cocos2d-x Engine
Game development with Cocos2d-x EngineGame development with Cocos2d-x Engine
Game development with Cocos2d-x Engine
Duy Tan Geek
?
Unity3D Programming
Unity3D ProgrammingUnity3D Programming
Unity3D Programming
Michael Ivanov
?
Tools for developing Android Games
 Tools for developing Android Games Tools for developing Android Games
Tools for developing Android Games
Platty Soft
?
nCine - A World With Custom In-house Engines Is Possible.pdf
nCine - A World With Custom In-house Engines Is Possible.pdfnCine - A World With Custom In-house Engines Is Possible.pdf
nCine - A World With Custom In-house Engines Is Possible.pdf
Angelo Theodorou
?
Introduction to Game Development
Introduction to Game DevelopmentIntroduction to Game Development
Introduction to Game Development
Shaan Alam
?
ngGoBuilder and collaborative development between San Francisco and Tokyo
ngGoBuilder and collaborative development between San Francisco and TokyongGoBuilder and collaborative development between San Francisco and Tokyo
ngGoBuilder and collaborative development between San Francisco and Tokyo
notolab
?
"it's time to kick ass and chew bubble gum...", a unity 3D live coding demo
"it's time to kick ass and chew bubble gum...", a unity 3D live coding demo"it's time to kick ass and chew bubble gum...", a unity 3D live coding demo
"it's time to kick ass and chew bubble gum...", a unity 3D live coding demo
David Hodgetts
?
Academy PRO: Unity 3D. Environment
Academy PRO: Unity 3D. EnvironmentAcademy PRO: Unity 3D. Environment
Academy PRO: Unity 3D. Environment
Binary Studio
?
Project Report Tron Legacy
Project Report Tron LegacyProject Report Tron Legacy
Project Report Tron Legacy
Manpreet Singh
?
Fun With Ruby And Gosu Javier Ramirez
Fun With Ruby And Gosu Javier RamirezFun With Ruby And Gosu Javier Ramirez
Fun With Ruby And Gosu Javier Ramirez
javier ramirez
?
Creative Coders March 2013 - Introducing Starling Framework
Creative Coders March 2013 - Introducing Starling FrameworkCreative Coders March 2013 - Introducing Starling Framework
Creative Coders March 2013 - Introducing Starling Framework
Huijie Wu
?
Full stack development in Go
Full stack development in GoFull stack development in Go
Full stack development in Go
Yves Junqueira
?
An Introduction To Game development
An Introduction To Game developmentAn Introduction To Game development
An Introduction To Game development
Ahmed
?
Game development with_lib_gdx
Game development with_lib_gdxGame development with_lib_gdx
Game development with_lib_gdx
Gabriel Grill
?
Cross Platform Game Programming with Cocos2d-js
Cross Platform Game Programming with Cocos2d-jsCross Platform Game Programming with Cocos2d-js
Cross Platform Game Programming with Cocos2d-js
Troy Miles
?
Android game development
Android game developmentAndroid game development
Android game development
dmontagni
?
Introduction to Mobile Game Programming with Cocos2d-JS
Introduction to Mobile Game Programming with Cocos2d-JSIntroduction to Mobile Game Programming with Cocos2d-JS
Introduction to Mobile Game Programming with Cocos2d-JS
Troy Miles
?
iOS Game Development: When Cocoa Met Cocos...
iOS Game Development: When Cocoa Met Cocos...iOS Game Development: When Cocoa Met Cocos...
iOS Game Development: When Cocoa Met Cocos...
Joseph Ku
?
Build a Game in 60 minutes
Build a Game in 60 minutesBuild a Game in 60 minutes
Build a Game in 60 minutes
Troy Miles
?
Game development with Cocos2d-x Engine
Game development with Cocos2d-x EngineGame development with Cocos2d-x Engine
Game development with Cocos2d-x Engine
Duy Tan Geek
?
Tools for developing Android Games
 Tools for developing Android Games Tools for developing Android Games
Tools for developing Android Games
Platty Soft
?
nCine - A World With Custom In-house Engines Is Possible.pdf
nCine - A World With Custom In-house Engines Is Possible.pdfnCine - A World With Custom In-house Engines Is Possible.pdf
nCine - A World With Custom In-house Engines Is Possible.pdf
Angelo Theodorou
?
Introduction to Game Development
Introduction to Game DevelopmentIntroduction to Game Development
Introduction to Game Development
Shaan Alam
?
ngGoBuilder and collaborative development between San Francisco and Tokyo
ngGoBuilder and collaborative development between San Francisco and TokyongGoBuilder and collaborative development between San Francisco and Tokyo
ngGoBuilder and collaborative development between San Francisco and Tokyo
notolab
?
"it's time to kick ass and chew bubble gum...", a unity 3D live coding demo
"it's time to kick ass and chew bubble gum...", a unity 3D live coding demo"it's time to kick ass and chew bubble gum...", a unity 3D live coding demo
"it's time to kick ass and chew bubble gum...", a unity 3D live coding demo
David Hodgetts
?
Academy PRO: Unity 3D. Environment
Academy PRO: Unity 3D. EnvironmentAcademy PRO: Unity 3D. Environment
Academy PRO: Unity 3D. Environment
Binary Studio
?
Project Report Tron Legacy
Project Report Tron LegacyProject Report Tron Legacy
Project Report Tron Legacy
Manpreet Singh
?
Fun With Ruby And Gosu Javier Ramirez
Fun With Ruby And Gosu Javier RamirezFun With Ruby And Gosu Javier Ramirez
Fun With Ruby And Gosu Javier Ramirez
javier ramirez
?
Creative Coders March 2013 - Introducing Starling Framework
Creative Coders March 2013 - Introducing Starling FrameworkCreative Coders March 2013 - Introducing Starling Framework
Creative Coders March 2013 - Introducing Starling Framework
Huijie Wu
?
Full stack development in Go
Full stack development in GoFull stack development in Go
Full stack development in Go
Yves Junqueira
?
An Introduction To Game development
An Introduction To Game developmentAn Introduction To Game development
An Introduction To Game development
Ahmed
?
Game development with_lib_gdx
Game development with_lib_gdxGame development with_lib_gdx
Game development with_lib_gdx
Gabriel Grill
?

Recently uploaded (20)

STRING FUNCTIONS IN JAVA BY N SARATH KUMAR
STRING FUNCTIONS IN JAVA BY N SARATH KUMARSTRING FUNCTIONS IN JAVA BY N SARATH KUMAR
STRING FUNCTIONS IN JAVA BY N SARATH KUMAR
Sarathkumar Narsupalli
?
Dragino¥×¥í¥À¥¯¥È¥«¥¿¥í¥° LoRaWAN NB-IoT LTE cat.M1ÉÌÆ·¥ê¥¹¥È
Dragino¥×¥í¥À¥¯¥È¥«¥¿¥í¥° LoRaWAN  NB-IoT  LTE cat.M1ÉÌÆ·¥ê¥¹¥ÈDragino¥×¥í¥À¥¯¥È¥«¥¿¥í¥° LoRaWAN  NB-IoT  LTE cat.M1ÉÌÆ·¥ê¥¹¥È
Dragino¥×¥í¥À¥¯¥È¥«¥¿¥í¥° LoRaWAN NB-IoT LTE cat.M1ÉÌÆ·¥ê¥¹¥È
CRI Japan, Inc.
?
Research Data Management (RDM): the management of dat in the research process
Research Data Management (RDM): the management of dat in the research processResearch Data Management (RDM): the management of dat in the research process
Research Data Management (RDM): the management of dat in the research process
HeilaPienaar
?
Microsoft Digital Defense Report 2024 .pdf
Microsoft Digital Defense Report 2024 .pdfMicrosoft Digital Defense Report 2024 .pdf
Microsoft Digital Defense Report 2024 .pdf
Abhishek Agarwal
?
Benefits of Moving Ellucian Banner to Oracle Cloud
Benefits of Moving Ellucian Banner to Oracle CloudBenefits of Moving Ellucian Banner to Oracle Cloud
Benefits of Moving Ellucian Banner to Oracle Cloud
AstuteBusiness
?
Network_Packet_Brokers_Presentation.pptx
Network_Packet_Brokers_Presentation.pptxNetwork_Packet_Brokers_Presentation.pptx
Network_Packet_Brokers_Presentation.pptx
Khushi Communications
?
San Francisco Atlassian ACE - Mar 27 2025.pdf
San Francisco Atlassian ACE - Mar 27 2025.pdfSan Francisco Atlassian ACE - Mar 27 2025.pdf
San Francisco Atlassian ACE - Mar 27 2025.pdf
Matt Doar
?
Mastering Azure Durable Functions - Building Resilient and Scalable Workflows
Mastering Azure Durable Functions - Building Resilient and Scalable WorkflowsMastering Azure Durable Functions - Building Resilient and Scalable Workflows
Mastering Azure Durable Functions - Building Resilient and Scalable Workflows
Callon Campbell
?
SAP Automation with UiPath: Solution Accelerators and Best Practices - Part 6...
SAP Automation with UiPath: Solution Accelerators and Best Practices - Part 6...SAP Automation with UiPath: Solution Accelerators and Best Practices - Part 6...
SAP Automation with UiPath: Solution Accelerators and Best Practices - Part 6...
DianaGray10
?
Transactional Outbox & Inbox Patterns.pptx
Transactional Outbox & Inbox Patterns.pptxTransactional Outbox & Inbox Patterns.pptx
Transactional Outbox & Inbox Patterns.pptx
Maysam Mousa
?
New from BookNet Canada for 2025: BNC SalesData and BNC LibraryData
New from BookNet Canada for 2025: BNC SalesData and BNC LibraryDataNew from BookNet Canada for 2025: BNC SalesData and BNC LibraryData
New from BookNet Canada for 2025: BNC SalesData and BNC LibraryData
BookNet Canada
?
Least Privilege AWS IAM Role Permissions
Least Privilege AWS IAM Role PermissionsLeast Privilege AWS IAM Role Permissions
Least Privilege AWS IAM Role Permissions
Chris Wahl
?
Sugarlab AI: How Much Does an XXX AI Porn Generator Cost in 2025
Sugarlab AI: How Much Does an XXX AI Porn Generator Cost in 2025Sugarlab AI: How Much Does an XXX AI Porn Generator Cost in 2025
Sugarlab AI: How Much Does an XXX AI Porn Generator Cost in 2025
Sugarlab AI
?
Top Tips to Get Your Data AI-Ready? ? ?? ?
Top Tips to Get Your Data AI-Ready? ? ?? ?Top Tips to Get Your Data AI-Ready? ? ?? ?
Top Tips to Get Your Data AI-Ready? ? ?? ?
Precisely
?
Cybersecurity-Threat-Landscape-March-31-April-7-2025.pdf
Cybersecurity-Threat-Landscape-March-31-April-7-2025.pdfCybersecurity-Threat-Landscape-March-31-April-7-2025.pdf
Cybersecurity-Threat-Landscape-March-31-April-7-2025.pdf
Joe Shenouda
?
HHUG-04-2025-Close-more-deals-from-your-existing-pipeline-FOR SLIDESHARE.pptx
HHUG-04-2025-Close-more-deals-from-your-existing-pipeline-FOR SLIDESHARE.pptxHHUG-04-2025-Close-more-deals-from-your-existing-pipeline-FOR SLIDESHARE.pptx
HHUG-04-2025-Close-more-deals-from-your-existing-pipeline-FOR SLIDESHARE.pptx
HampshireHUG
?
Build Your Uber Clone App with Advanced Features
Build Your Uber Clone App with Advanced FeaturesBuild Your Uber Clone App with Advanced Features
Build Your Uber Clone App with Advanced Features
V3cube
?
Solana Developer Hiring for Enterprises Key Considerations.pdf
Solana Developer Hiring for Enterprises Key Considerations.pdfSolana Developer Hiring for Enterprises Key Considerations.pdf
Solana Developer Hiring for Enterprises Key Considerations.pdf
Lisa ward
?
EXCEPTION HANDLING IN JAVA BY N SARATH KUMAR
EXCEPTION HANDLING IN JAVA BY N SARATH KUMAREXCEPTION HANDLING IN JAVA BY N SARATH KUMAR
EXCEPTION HANDLING IN JAVA BY N SARATH KUMAR
Sarathkumar Narsupalli
?
AuthZEN The OpenID Connect of Authorization - Gartner IAM EMEA 2025
AuthZEN The OpenID Connect of Authorization - Gartner IAM EMEA 2025AuthZEN The OpenID Connect of Authorization - Gartner IAM EMEA 2025
AuthZEN The OpenID Connect of Authorization - Gartner IAM EMEA 2025
David Brossard
?
STRING FUNCTIONS IN JAVA BY N SARATH KUMAR
STRING FUNCTIONS IN JAVA BY N SARATH KUMARSTRING FUNCTIONS IN JAVA BY N SARATH KUMAR
STRING FUNCTIONS IN JAVA BY N SARATH KUMAR
Sarathkumar Narsupalli
?
Dragino¥×¥í¥À¥¯¥È¥«¥¿¥í¥° LoRaWAN NB-IoT LTE cat.M1ÉÌÆ·¥ê¥¹¥È
Dragino¥×¥í¥À¥¯¥È¥«¥¿¥í¥° LoRaWAN  NB-IoT  LTE cat.M1ÉÌÆ·¥ê¥¹¥ÈDragino¥×¥í¥À¥¯¥È¥«¥¿¥í¥° LoRaWAN  NB-IoT  LTE cat.M1ÉÌÆ·¥ê¥¹¥È
Dragino¥×¥í¥À¥¯¥È¥«¥¿¥í¥° LoRaWAN NB-IoT LTE cat.M1ÉÌÆ·¥ê¥¹¥È
CRI Japan, Inc.
?
Research Data Management (RDM): the management of dat in the research process
Research Data Management (RDM): the management of dat in the research processResearch Data Management (RDM): the management of dat in the research process
Research Data Management (RDM): the management of dat in the research process
HeilaPienaar
?
Microsoft Digital Defense Report 2024 .pdf
Microsoft Digital Defense Report 2024 .pdfMicrosoft Digital Defense Report 2024 .pdf
Microsoft Digital Defense Report 2024 .pdf
Abhishek Agarwal
?
Benefits of Moving Ellucian Banner to Oracle Cloud
Benefits of Moving Ellucian Banner to Oracle CloudBenefits of Moving Ellucian Banner to Oracle Cloud
Benefits of Moving Ellucian Banner to Oracle Cloud
AstuteBusiness
?
San Francisco Atlassian ACE - Mar 27 2025.pdf
San Francisco Atlassian ACE - Mar 27 2025.pdfSan Francisco Atlassian ACE - Mar 27 2025.pdf
San Francisco Atlassian ACE - Mar 27 2025.pdf
Matt Doar
?
Mastering Azure Durable Functions - Building Resilient and Scalable Workflows
Mastering Azure Durable Functions - Building Resilient and Scalable WorkflowsMastering Azure Durable Functions - Building Resilient and Scalable Workflows
Mastering Azure Durable Functions - Building Resilient and Scalable Workflows
Callon Campbell
?
SAP Automation with UiPath: Solution Accelerators and Best Practices - Part 6...
SAP Automation with UiPath: Solution Accelerators and Best Practices - Part 6...SAP Automation with UiPath: Solution Accelerators and Best Practices - Part 6...
SAP Automation with UiPath: Solution Accelerators and Best Practices - Part 6...
DianaGray10
?
Transactional Outbox & Inbox Patterns.pptx
Transactional Outbox & Inbox Patterns.pptxTransactional Outbox & Inbox Patterns.pptx
Transactional Outbox & Inbox Patterns.pptx
Maysam Mousa
?
New from BookNet Canada for 2025: BNC SalesData and BNC LibraryData
New from BookNet Canada for 2025: BNC SalesData and BNC LibraryDataNew from BookNet Canada for 2025: BNC SalesData and BNC LibraryData
New from BookNet Canada for 2025: BNC SalesData and BNC LibraryData
BookNet Canada
?
Least Privilege AWS IAM Role Permissions
Least Privilege AWS IAM Role PermissionsLeast Privilege AWS IAM Role Permissions
Least Privilege AWS IAM Role Permissions
Chris Wahl
?
Sugarlab AI: How Much Does an XXX AI Porn Generator Cost in 2025
Sugarlab AI: How Much Does an XXX AI Porn Generator Cost in 2025Sugarlab AI: How Much Does an XXX AI Porn Generator Cost in 2025
Sugarlab AI: How Much Does an XXX AI Porn Generator Cost in 2025
Sugarlab AI
?
Top Tips to Get Your Data AI-Ready? ? ?? ?
Top Tips to Get Your Data AI-Ready? ? ?? ?Top Tips to Get Your Data AI-Ready? ? ?? ?
Top Tips to Get Your Data AI-Ready? ? ?? ?
Precisely
?
Cybersecurity-Threat-Landscape-March-31-April-7-2025.pdf
Cybersecurity-Threat-Landscape-March-31-April-7-2025.pdfCybersecurity-Threat-Landscape-March-31-April-7-2025.pdf
Cybersecurity-Threat-Landscape-March-31-April-7-2025.pdf
Joe Shenouda
?
HHUG-04-2025-Close-more-deals-from-your-existing-pipeline-FOR SLIDESHARE.pptx
HHUG-04-2025-Close-more-deals-from-your-existing-pipeline-FOR SLIDESHARE.pptxHHUG-04-2025-Close-more-deals-from-your-existing-pipeline-FOR SLIDESHARE.pptx
HHUG-04-2025-Close-more-deals-from-your-existing-pipeline-FOR SLIDESHARE.pptx
HampshireHUG
?
Build Your Uber Clone App with Advanced Features
Build Your Uber Clone App with Advanced FeaturesBuild Your Uber Clone App with Advanced Features
Build Your Uber Clone App with Advanced Features
V3cube
?
Solana Developer Hiring for Enterprises Key Considerations.pdf
Solana Developer Hiring for Enterprises Key Considerations.pdfSolana Developer Hiring for Enterprises Key Considerations.pdf
Solana Developer Hiring for Enterprises Key Considerations.pdf
Lisa ward
?
EXCEPTION HANDLING IN JAVA BY N SARATH KUMAR
EXCEPTION HANDLING IN JAVA BY N SARATH KUMAREXCEPTION HANDLING IN JAVA BY N SARATH KUMAR
EXCEPTION HANDLING IN JAVA BY N SARATH KUMAR
Sarathkumar Narsupalli
?
AuthZEN The OpenID Connect of Authorization - Gartner IAM EMEA 2025
AuthZEN The OpenID Connect of Authorization - Gartner IAM EMEA 2025AuthZEN The OpenID Connect of Authorization - Gartner IAM EMEA 2025
AuthZEN The OpenID Connect of Authorization - Gartner IAM EMEA 2025
David Brossard
?

Android game engine

  • 2. Agenda We Love Game Why need Game Engine What is Game Engine How many Game Engine Get one for You Implementation
  • 4. Do You Love Playing Game? I DO
  • 5. Everybody Love Playing Game My Father plays Solitaire My Sister plays Labyrinth My Colleague plays AngryBird I play Dracula X, Super Mario III, Final Fantasy III, Tetris, Frozen Bubbles, ZooKeeper, Dragon Ball Z2 Z3, DDR...blah blah
  • 6. Why Do We Love a Game Art It looks awesome Story It is realistic Social We may make friends via game By exchanging information By sharing common experience Fun The most important part of a game
  • 8. Playing Game Everywhere FC MD, SFC SS, PS ....... NOW ? Long time ago we use GameBoy in toilet. Now we use mobile phone.
  • 9. Why need Game Engine
  • 10. Create a Game Everyone has creativity We might want to clone a existing game We have a good idea for game Writing Game is COOL, and We are COOL!!
  • 11. Game Engine helps us Faster Developement Easier Developement You might don't know OpenGL... Abstract Layer You might need to port your game to another platform.... Focus on FUN If you spend more time on fighting with code, you has less time to think about your game, especially most of us are independent programmer.
  • 12. What is Game Engine
  • 13. Game Engine might has Sprite, Scene, Animation Renderer Modifier Physics Engine Particle System Collision Detection Event Handling Script Language Game Thread
  • 14. Normal Android application An Activity contains some Views. We interactive with some activities
  • 15. In a Game An Activity holds one GLSurfaceView. Game Engine switch one of scenes to display
  • 18. How many Game Engine on Android
  • 19. Lots of Game Engines If you search "android game" at Age Google Code, you will see lots Angle of game engines. Candroidengine Some of them are Graphics Catcake Engine Cloak Cocos2d Forget3d JMonkeyEngine ReplicaIsland Rokon AndEngine .........more
  • 20. Target There are too many good game engines, I can only choose some of them. Rokon Cocos2D AndEngine Important: I believe there should be some great game engine but I missed
  • 21. Rokon Rokon 2.0.3 http://rokonandroid.com/tutorials http://code.google.com/p/rokon/ Useful staffs Sprite, Modifier, Audio, Sprite Animation, Polygon Collision...blah You can see Particle System at Rokon 1, but nothing about Particle System at Rokon2 yet.
  • 22. Rokon
  • 23. Rokon images borrows from Replica Island
  • 24. Rokon Layer accepts GameObject. You can extends GameObject and create your own class then add to Layer
  • 25. Rokon (touchable sprite) TextureAtlas atlas = new TextureAtlas(); Texture textureDoll = new Texture("doll.png"); Sprite mDoll; mDoll = new Sprite(X, Y, Width, Height); mDoll.setTexture(textureDoll); mDoll.setTouchable(); add(0, mDoll); @Override public void onTouchDown(Drawable object, float x, float y, MotionEvent event, int pointerCount, int pointerId) { if (object == mDoll) { android.util.Log.i("Hi", "touch down doll"); } }
  • 26. Rokon (Audio) /* Longer audio file */ RokonMusic.play("audio/music.mp3", true); //true means loop /* Shorter sound effects */ RokonAudio mAudio = new RokonAudio(); SoundFile mSound = mAudio.createSoundFile(sMenuTap); mSound.play();
  • 27. Rokon(Animation) Sprite explosion = new Sprite(x, y, width, height); 1 Texture texture = new Texture("explosion.png", 5, 5) explosion.setTextureTile(texture, 25); // 25 is the lastest one /* tile 1 to tile 25, one frame spends 35ms, repeat once */ explosion.animate(1, 25, 35, 1, false); 25
  • 29. Cocos2D Python Cocos2d ¡ú iPhone Cocos2d ¡ú Android Cocos2d http://code.google.com/p/cocos2d-android/ Android cocos2d matches version 0.8 of cocos2d for iPhone 0.9 is still in development
  • 31. Cocos2D CocosNode accepts Action Most classes extends CocosNode Sprite Label Scene Action rotate = RotateBy.action(2, 360); Sprite sprite = Sprite.sprite("ball.png"); Layer sprite.runAction(rotate); ColorLayer Menu MenuItem
  • 32. Cocos2D 1. addChild: every CocosNode may has child CocosNode 2. action: every CocosNode may has Action
  • 34. Cocos2D CocosNode + Action
  • 36. Cocos2D Some problems Particle System Example SceneTest Example Transition Example Particle System
  • 37. AndEngine Fast Development http://www.andengine.org/ Extension Box2d Multiplayer MultiTouch ......etc Amazing examples http://code.google.com/p/andengineexamples/ You can download the example at Market.
  • 39. AndEngine(Camera) See Example TMXTiledMapExample setChaseShape(IShape);
  • 41. AndEngine Touch and Multi Touch Custom Font
  • 44. Replica Island Well designed game Open Source http://replicaisland.net/ It is very possible to split engine from the game http://code.google.com/events/io/2009/sessions/WritingReal TimeGamesAndroid.html (it is worth reading) Mailing list https://groups.google.com/group/replica-island-coding- community/topics Highly activity!!
  • 45. Compare Rokon2 Cocos2d AndEngine FPS (one sprite) 52(*1) 60(*2) 58(*3) FPS (50 physics) 46(*4) 18(*5) 60(*6) FPS (100 physics) 42 8 36 Physics Engine box2d box2d box2d Particle System No ? Yes License BSD BSD LGPL Examples ?(*7) Yes(*8) Yes(*9) Aug Lastesd Update Aug 8 Jun 26 14(ouch!!) Tetronimo(*10) Snake(*12) Game Implement Drop Block(*11) AlienStars(*13) Tested on Nexus One, Froyo (FRF91)
  • 46. Ref 1. http://rokonandroid.com/tutorials/41-beginner/63-using-sprites 2. http://code.google.com/p/cocos2d-android/source/browse/trunk/src/org/cocos2d/tests/SpritesTest.java 3. http://code.google.com/p/andengineexamples/source/browse/src/org/anddev/andengine/examples/SpriteExample.java 4. http://code.google.com/p/rokon/source/browse/examples/donate_app/src/com/stickycoding/rokondonatefree/DonateScene.java 5. http://code.google.com/p/cocos2d-android/source/browse/trunk/src/org/cocos2d/tests/JBox2DTest.java 6. http://code.google.com/p/andengineexamples/source/browse/src/org/anddev/andengine/examples/PhysicsExample.java 7. http://code.google.com/p/rokon/source/browse/#svn/tags/release/1.1.1/src/com/stickycoding/RokonExamples These examples were written for Rokon 1.1.1 8. http://code.google.com/p/cocos2d-android/source/browse/trunk/src/org/cocos2d/tests/ 9. http://code.google.com/p/andengineexamples/source/browse/ 10. http://www.rokonandroid.com/community/rss/index.php?option=com_agora&task=topic&id=150&Itemid=60 11. http://rokonandroid.com/games/67-drop-block 12. http://code.google.com/p/andengineexamples/source/browse/src/org/anddev/andengine/examples/game/snake/ 13. http://www.andengine.org/forums/project-development-blogs/galaga-like-game-t291.html
  • 47. Game Implementation Nobunaga's Puke ÐÅéLµÄ‡fÍû Implemented in cocos2d-android and Rokon2 From scratch in 3 days http://code.google.com/p/nobunagapuke/
  • 48. Q&A
  • 49. Sponsored by http://0xlab.org 15 Aug 2010 CC-By-SA COSCUP