paper ball

13
FERRAND Anthony NELAUPE Lucas University Montpellier II 20 janvier 2015 FERRAND Anthony, NELAUPE Lucas (UM2) 20 janvier 2015 1 / 13

Upload: lucas34990

Post on 21-Jul-2015

67 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Paper Ball

FERRAND Anthony NELAUPE Lucas

University Montpellier II

20 janvier 2015

FERRAND Anthony, NELAUPE Lucas (UM2) 20 janvier 2015 1 / 13

Page 2: Paper Ball

Introduction

Game description

Paper ball is an amazing mobile game that blends dexterity & reflectionThe game is divided into two parts

Prepare the boardby placing Mechanical fans

Lead the paper ballinto the bin !

Control the gravity with thesensor’s device.

But pay attention to the fireballs which wanting to destroyyou.

Bonus : You have to collect 3 coins !

FERRAND Anthony, NELAUPE Lucas (UM2) 20 janvier 2015 2 / 13

Page 3: Paper Ball

Introduction Problematique

Using sensors

Control the gravity at the runtime

AccelerometerGravity SensorLinear acceleration Sensor

FERRAND Anthony, NELAUPE Lucas (UM2) 20 janvier 2015 3 / 13

Page 4: Paper Ball

Introduction Problematique

Scyla model managing

FERRAND Anthony, NELAUPE Lucas (UM2) 20 janvier 2015 4 / 13

Page 5: Paper Ball

Introduction Problematique

Scyla scene framework

Scyla manages 3 kinds of shapes (elements)

Dynamic element (e.g Ball)

Subject to force system (see bellow)Hit box is calculated on each tick

Static element (e.g fire, bubble)

Hit box is taken into taken

Phantom element

No hit boxExample : floating text..

Scyla supports forces system

We can apply force on dynamic shape, then scyla calculate every position

FERRAND Anthony, NELAUPE Lucas (UM2) 20 janvier 2015 5 / 13

Page 6: Paper Ball

Introduction Problematique

Optimization and Performence

Canvas optimizations

Canvas Transparent

Drawed in a fragment

Background draw on FrameLayout

20% speed increase

Scyla is multithreaded

Computation thread : calculate new hit boxes & forces

Main Android thread : render

Cache engine

Define cached shapes at the beginning of the scene.

Reuse existing shape.

65 % decrease of using memory

FERRAND Anthony, NELAUPE Lucas (UM2) 20 janvier 2015 6 / 13

Page 7: Paper Ball

Introduction Problematique

Grid Template : genericity for supporting multiple screens

Auto Scale

30 Rows

40 Columns

Use example

grid.getPosition(5,15) ;

grid.getCenter() ;

FERRAND Anthony, NELAUPE Lucas (UM2) 20 janvier 2015 7 / 13

Page 8: Paper Ball

Introduction Problematique

Adding elements with our EngineView

@Override

public void addCustomElements(Scene scene, GridTemplate grid) {

final Coin coin = new Coin(m_context, grid.getPosition(5, 10));

scene.addStaticElement(coin);

Point pointA = new Point(...), pointB = new Point(...);

coin.defineMovingFacet(new MoveBetweenInY<Coin>(35, pointA, pointB));

this.subscribeTouchListener(coin,

new FollowFingerEvent<Coin>(coin),

new TouchEvent() {

@Override

public void onTouch(Point point, TouchTypeEvent event) {

// TODO

}

}

);

}

FERRAND Anthony, NELAUPE Lucas (UM2) 20 janvier 2015 8 / 13

Page 9: Paper Ball

Introduction Problematique

Web API

We save the progress of the player on lineFor this, we use an web service framework developed by us for an other projectIn Paper ball, we can :

Create an account & Log in

Save the progress (current level & the count of coins by stage)

Check the version to be notify

The web side is powered by the Django framework.

FERRAND Anthony, NELAUPE Lucas (UM2) 20 janvier 2015 9 / 13

Page 10: Paper Ball

Introduction Problematique

Development

Team work tools

GitHub : Open source under APACHE V2 Licence

Gradle

Multiple IDE SupportMaven dependency management

Native Java development

Android SDK

RX Java

Retrofit

Joda Time

Internationalization

FERRAND Anthony, NELAUPE Lucas (UM2) 20 janvier 2015 10 / 13

Page 11: Paper Ball

Introduction Problematique

Scope statement approved

Each app must include inevitably

Different views

Multiple languages

At least one menu

Services in background

File manager / Database

Each apps must include, if possible

Using sensors

Network access

Several threads

FERRAND Anthony, NELAUPE Lucas (UM2) 20 janvier 2015 11 / 13

Page 12: Paper Ball

Introduction Problematique

Business plan

Short-term

Add more levels

Export Scyla engine framework on Maven

Medium-term

Build your own levels

In app purchase

Exclusive levelsExclusive skins

Long-term

Other device support

FERRAND Anthony, NELAUPE Lucas (UM2) 20 janvier 2015 12 / 13

Page 13: Paper Ball

Introduction Problematique

Thank you,Let’s go to the demo

FERRAND Anthony, NELAUPE Lucas (UM2) 20 janvier 2015 13 / 13