Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!


1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!


Like
9Likes
Dislike

Orbital Debris – Making an HTML5 Game With Phaser

By Wolfgang Graebner | Published May 16 2014 07:43 PM in Game Programming
Peer Reviewed by (jbadams, Orymus3, Servant of the Lord)

html5 javascript chrome mobile phaser

This is Orbital Debris, a small game I made in HTML5 with Phaser for a game jam organized by FGL. It won 3rd place! :) Considering I only had 48 hours and was working with technology I’d never used before, I’m really proud of the result.

Making Of


I assume you’ve already gone through the Phaser starting tutorials and know how to create a basic game. If this is not the case, please read this and this first. I’m only going to cover the things unique to Orbital Debris.

A link to the souce files (code + art) is included with this article. But be warned, it is game jam code and my first time working with Phaser so it’s far from perfect code.

The Concept


The theme set by FGL was “silent, but deadly”. Which made me think of “in space nobody can hear you scream”. Which made me think back to Gravity, my favorite movie of 2013. And just like that I had my idea within 15 minutes of the jam starting: you play as a space station orbiting the earth and have to dodge space junk released by satellites crashing into each other.


Attached Image: gravity_film_still_a_l1-450x253.jpg
Gravity, The Main Inspiration for Orbital Debris


Basic Game Logic


Orbiting A Planet

The first thing I did was get some objects orbiting around the earth. Every orbiter is just a Phaser sprite with some special properties that gets added to a group that contains all orbiters.

function spawnNewOrbiter(graphic) {
  var orbiter = game.add.sprite(0, 0, graphic);
  orbiter.anchor.setTo(0.5, 0.5);
  orbiter.moveData = {};
  orbiter.moveData.altitude = 0;
  orbiter.moveData.altitudeTarget = 0;
  orbiter.moveData.altitudeChangeRate = 0;
  orbiter.moveData.altitudeMin = 0;
  orbiter.moveData.altitudeMax = 0;
  orbiter.moveData.orbit = 0;
  orbiter.moveData.orbitRate = 0;
  orbiterGroup.add(orbiter);
  return orbiter;
}

Orbiter.moveData.altitude and orbit describe the orbiter’s current position relative to the planet. The altitude is the distance from the center, and the orbit is how far along its orbit it is. So making the orbiters move is a simple matter of using the values to update them in Phaser’s built-in state update function.


Attached Image: stationPosition-e1394677091284.jpg


So I loop through the group:

function updateOrbiterMovement() {
  orbiterGroup.forEach(function(orbiter) {
    if (orbiter.alive) {
      updateOrbiterAltitude(orbiter);
      updateOrbiterOrbit(orbiter);
    }	
  });
}

And position the orbiters accordingly.

function updateOrbiterOrbit(orbiter) {

  if (orbiter.moveData.orbitRate != 0) {
    orbiter.moveData.orbit += orbiter.moveData.orbitRate;
    if (orbiter.moveData.orbit >= 360) {
      orbiter.moveData.orbit -= 360;
    }
  }

  var oRad = Phaser.Math.degToRad(orbiter.moveData.orbit);
  orbiter.x = game.world.width/2 + orbiter.moveData.altitude * Math.cos(oRad);
  orbiter.y = game.world.height/2 + orbiter.moveData.altitude * Math.sin(oRad);
}

I also set the orbiter’s sprite angle to its orbit so it appears aligned with the planet – except for pieces of space junk that rotate according to a tumble rate out of sync with their orbits.

if (!orbiter.isJunk) {
  orbiter.angle = orbiter.moveData.orbit - 90;
} else {
  orbiter.angle += orbiter.tumbleRate;
}

Player Input

I wanted to force players to keep re-adjusting their altitude to stop them from idling at a fixed altitude, and I also wanted movement to feel quite flow-y. So I came up with a simple acceleration-style system. First I check the keyboard and adjust the altitudeChangeRate accordingly. You can think of altitudeChangeRate as velocity towards / away from the earth.

function processInput() {
  if (game.input.keyboard.isDown(Phaser.Keyboard.UP)) {
    station.moveData.altitudeChangeRate += ALTITUDE_CHANGE_RATE;
  }
  if (game.input.keyboard.isDown(Phaser.Keyboard.DOWN)) {
    station.moveData.altitudeChangeRate -= ALTITUDE_CHANGE_RATE;
  }
  station.moveData.altitudeChangeRate = Phaser.Math.clamp(
    station.moveData.altitudeChangeRate,
    -ALTITUDE_CHANGE_RATE_MAX,
    ALTITUDE_CHANGE_RATE_MAX
  );
}

And then I apply it to orbiters like so:

function updateOrbiterAltitude(orbiter) {
  if (orbiter.moveData.altitudeChangeRate != 0) {
    orbiter.moveData.altitude = Phaser.Math.clamp(
      orbiter.moveData.altitude + orbiter.moveData.altitudeChangeRate,
      orbiter.moveData.altitudeMin,
      orbiter.moveData.altitudeMax
    );
  }
}

Collision

Since all orbiters are added to the same group, a single call to Phaser’s built-in overlap method checks for all collisions:

game.physics.overlap(orbiterGroup, orbiterGroup, onOrbiterOverlap);

All collisions are then checked. Orbiters that are space junk are not processed further, because I only want satellites and stations to spawn junk:

function onOrbiterOverlap(orbiterA, orbiterB) {
  if (!orbiterA.isJunk) {
    orbiterWasHit(orbiterA);
  }
  if (!orbiterB.isJunk){
    orbiterWasHit(orbiterB);
  }
}

When a satellite or station is hit, I spawn new pieces of space junk. They are just orbiters (just like the space station or satellites). Their altitude, and orbit direction are based on the satellite or station that was destroyed. When the space station is hit, it’s a bit of a special case: I spawn a lot more junk than usual to make it feel more dramatic and end the game.

function orbiterWasHit(orbiter) {
  if (orbiter.alive) {

    var junkQuantity;
    if (orbiter.isStation) {
      junkQuantity = 40;
    } else {
      junkQuantity = game.rnd.integerInRange(2, 4);
    }

    for (var i = 0; i < junkQuantity; i++) {
      var junk = spawnNewOrbiter(IMAGES_JUNK[game.rnd.integerInRange(0,IMAGES_JUNK.length)]);
      junk.moveData.altitude = orbiter.moveData.altitude;
      junk.moveData.altitudeMin = 60;
      junk.moveData.altitudeMax = 700;
      junk.moveData.altitudeChangeRate = game.rnd.realInRange(-1.0, 1.0);
      junk.moveData.orbit = orbiter.moveData.orbit;
      junk.moveData.orbitRate = game.rnd.realInRange(0.4, 1.2);
      if (orbiter.moveData.orbitRate < 0) {
        junk.moveData.orbitRate *= -1;
      }
      junk.tumbleRate = game.rnd.realInRange(-10, 10);
      junk.isJunk = true;
    }

    if (orbiter.isStation) {
      playerDied();
    }

    orbiter.kill();
  }
}

Remaining Bits & Pieces

That’s pretty much all there is to it! To complete the experience I added some powerups, scaled the difficulty up over time, and added a bunch of HUD stuff and music. And then I was out of time and had to submit the game for the competition. If you have any questions about how anything was done that I didn’t explain here, please leave a comment and I’ll get back to you.

Thoughts on HTML5 / JavaScript / Phaser


This was my first time working with the Phaser HTML5 game engine. Usually I avoid unfamiliar technologies during game jams… every hour counts and I don’t have time to start learning new things. It was risky, but I decided to try it anyways. I liked that 1) it can run in mobile phone web browsers which makes it easy to share 2) it’s similar to flixel which I know inside-out and 3) I already knew some Javascript / HTML5.

Overall I really like the engine, it has a lot of great features and is easy to work with. Phaser gets updated often, which is great because it’s constantly improving. But it also means that a lot has changed from previous versions. This was sometimes frustrating when I would read about how to do a certain thing in an older version of Phaser, which no longer works the same in the latest version. I plan to use it again soon, but for a hobby project without such a stressful deadline so I can spend more time getting to know it. I could see it one day becoming one of my go-to development tools.


Attached Image: phaser-450x229.jpg


Performance


I couldn’t get the game running smoothly in my phone’s browser in time for the deadline, so I had to cancel the mobile version. It’s a shame because being able to play the game in mobile phone browsers was the #1 reason I wanted to use Phaser in the first place :( It appears it’s something you really have to keep a close eye on.

I used the Chrome JavaScript profiler to take a peek at what’s taking up most of my processing time. From what I can tell the biggest performance drain is the collision system. Especially when the space station crashes and 30 new pieces of junk are spawned, my iPhone 4S performance slows to a crawl.


Attached Image: javascriptProfiler.jpg
Using the Chrome JavaScript Profiler to Check for Performance Issues


Since I was unfamiliar with the engine, and had to no time to clean up my code or learn how to do things properly I know I did a lot of things badly. I’m careless with creating objects and freeing up memory. I could pre-compute some stuff. I could simplify other things. But I didn’t have time to do it. Next time, I’ll do better and keep testing on my phone along the way! :D

Source Files


This is not optimal code. It was my first time working with Phaser. I had a 48 hour deadline. There are lots of things that could should be improved upon. I am including the source files as a download anyways. They are not intended as some sort of model perfect Phaser project. Download at your own risk!

This article was orginally posted to Wolf's blog AllWorkAllPlay - head on over there for some more great content



About the Author(s)


I like making games. Usually for mobile devices and web browsers using Flash, HTML5 / JavaScript & C#

License


GDOL (Gamedev.net Open License)




Comments

I've never made or tried to make a web based game, but when I open up the index.html (all decompressed) there's no textures and just green squares.

@Wolfgang

 

Awesome idea and I like the article too! Did you make all the assets yourself?

 

 

@Joshhua5

 

Phaser stuff needs a back-end to run. If you open the html file statically, the assets won't get served up correctly.

 

It's easy though: If you have python installed, open a command line, navigate to the game folder and type 

 

  python -m SimpleHTTPServer

 

then open a browser and go to 127.0.0.1:8000

 

Or if you prefer node, get node-static:

 

npm install node-static -g

static -p 8000

 

any way to serve up a page will do

 

 

 

[edit]

 

Sorry, that should be 

 

npm install node-static -g

 

of course

From coach outlet,coach factory,coach factory outlet,coach outlet store,coach outlet store online,coach factory online,coach factory outlet online,coach outlet online satellite photos speculate louboutin,louboutin outlet,louboutin outlet italia that the test device is about 120-150 meters long, about 80 abercrombie and fitch,abercrombie,abercrombie and fitch UK meters long electromagnetic rail, tory burch outlet,tory burch,tory burch handbags,tory burch shoes,tory burch sale,toryburch,tory burch sandals,toryburch.com,tory burch flip flops able to build such a large scale polo ralph lauren outlet online,ralph lauren,polo ralph,polo ralph lauren,ralph lauren outlet,polo shirts,ralph lauren outlet online,polo ralph lauren outlet,ralphlauren.com,polo outlet,ralph lauren polo experimental vans shoes,vans outlet,vans store,star wars vans shoes,cheap vans,vans shoes outlet,white vans,black vans,red vans,vans star wars,vans sneakers,vans shoes outlet store,vans sale,cheap vans shoes facilities "proves that China has been fully validated and mastered a large linear induction motors, advanced energy storage devices vans,vans scarpe,vans italia forced burberry outlet online,burberry,burberry outlet,burberry handbags,burberry factory outlet,burberry sale and air force,nike air force,air force 1,air force one,nike air force 1,nike air force one,air force one nike high-performance pulse generator key prada outlet,prada,prada handbags,prada sunglasses,prada shoes,prada bags technologies such as electromagnetic catapults. "Compared to the steam catapult, the advantages of electromagnetic catapult michael kors,michael kors canada,michael kors outlet,michael kors outlet canada is comprehensive, first accelerating force michael kors handbags,michael kors outlet,michael kors outlet online,michael kors,kors outlet,michael kors outlet online sale,michael kors handbags clearance,michael kors purses,michaelkors.com,michael kors bags,michael kors shoes,michaelkors,cheap michael kors uniform and controllable. "Nimitz" when C-13-1-type steam catapults louis vuitton outlet,louis vuitton outlet online,louis vuitton,louisvuitton.com,authentic louis vuitton,louis vuitton factory outlet,cheap louis vuitton on the emission oakley sunglasses,cheap oakley sunglasses,oakley sunglasses cheap,oakley vault,oakleys,oakley.com,sunglasses outlet,cheap oakley,oakley outlet,cheap sunglasses,oakley prescription glasses,fake oakleys,oakley sunglasses outlet,oakley glasses,oakley store,fake oakley,oakley sale,cheap oakleys,discount oakley sunglasses level can birkin bag,hermes belt,hermes handbags,hermes birkin,hermes bags,birkin bags reach the maximum overload 6g, while the average acceleration of the kate spade handbags,kate spade,kate spade outlet,katespade whole trip nike air max,air max,air max pas cher,air max one,air max 90,air max france is just a little more than 2g. F / A-18 fighter pilots often ridicule C-13-1 in the rear section catapult air max,nike air max themselves often do not have the louis vuitton,borse louis vuitton,louis vuitton sito ufficiale,louis vuitton outlet aircraft engine longchamp,longchamp bags,longchamp uk acceleration "to force." With the speed and cylinder volume increases, the vast majority of the expansion of chi flat iron,chi hair the superheated steam for steam energy to accelerate and promote themselves, and gas expansion increased hollister,hollister uk,abercrombie,abercrombie fitch,abercrombie and fitch the proportion of steam required increase in volume after the establishment party relationships. Steam catapult length and cylinder volume almost reached its limit, until the end of the ejection stroke, steam basically only accelerated piston aircraft little help.Electromagnetic catapult launch thrust segment is not the kind of sudden explosive impact of steam, air max,nike air max,air max 90,nike air max 90,air max 1 the peak air jordan,jordan pas cher,air jordan pas cher,nike air jordan,air jordan france overload can nfl jerseys,jerseys,baseball jerseys,cheap jerseys,nba jerseys,hockey jerseys,basketball jerseys,jerseys from china,cheap nfl jerseys be reduced from 6g to 3g, which polo ralph lauren outlet,ralph lauren,polo ralph,polo ralph lauren,ralph lauren outlet,polo shirts,ralph lauren outlet online,polo ralph lauren outlet online,ralphlauren.com,polo outlet,ralph lauren polo will not only help toms outlet to extend ray ban,rayban,occhiali ray ban the life of the herve leger,herve leger dresses aircraft, the pilot's body to feel is a good improvement. In addition, since the electromagnetic sac longchamp,longchamp,longchamps,longchamp pas cher,sac longchamp pas cher,longchamp pliage,longchamp soldes,sac longchamps,longchamp france catapult launch acceleration and length does not matter, in addition to being the aerodynamic drag and friction affect, louboutin,christian louboutin,red bottom shoes,louboutin shoes,red bottoms,louboutin outlet,christian louboutin shoes,christian louboutin outlet,red bottom shoes for women,louboutins the catapult into the iphone 6 cases,iphone 6 case,iphone 5c cases,iphone 5s cases,iphone cases,iphone case,iphone 5 cases,iphone 4s cases,iphone 4 cases,ipad cases,ipad mini cases,ipad air cases,galaxy s5 cases,galaxy s4 cases,phone cases early part of the last paragraph of the basic acceleration will not fluctuate too much, which is a gradual decline over the steam catapult more and more efficiency. According to calculations, the average acceleration of the same, electromagnetic catapults than nike free,nike free run,free running,free run,nike running steam catapults make aircraft more than 8-15% load. hogan,hogan outlet,scarpe hogan,hogan sito ufficiale,hogan interactive When the ejection of different weights, different models takeoff speed, electromagnetic catapult catapult also flexible and accurate converse pas cher,converse control of ralph lauren,ralph lauren uk,ralph lauren outlet,polo ralph lauren outlet energy through the computer.Electromagnetic catapult ejection hollister,hollister canada,abercrombie and fitch,abercrombie,abercrombie and,abercrombie kids,af efficiency is easton bats also higher than the steam michael kors outlet online,michael kors,kors outlet,michael kors outlet,michael kors handbags,michael kors outlet online sale,michael kors handbags clearance,michael kors purses,michaelkors.com,michael kors bags,michael kors shoes,michaelkors,cheap michael kors catapult, to enhance the nike huarache,nike huaraches,nike air huarache sense that major combat aircraft, such as christian louboutin shoes,louboutin shoes,louboutin outlet,louboutin,christian louboutin,red bottom shoes,red bottoms,christian louboutin outlet,red bottom shoes for women,louboutins the use vanessa bruno,sac vanessa bruno,vanessa bruno sac,vanessa bruno pas cher,cabas vanessa bruno,sac vanessa bruno en solde,sac vanessa bruno pas cher of electromagnetic catapult aircraft carrier-based Sunrise Ford momentum true religion from "Nimitz" coach outlet,coach factory outlet,coach outlet store,coach factory,coach outlet store online,coach factory online,coach factory outlet online,coach outlet online class of 120 jimmy choo,jimmy choo shoes,jimmy choo outlet,jimmy choo handbags sorties to 160 sorties: new balance shoes,new balance,balance shoes,new balance outlet,new balance store,new balance store locator,new balance shoes for women,joe's new balance outlet,newbalance,newbalance.com,new balance walking shoes Sunrise peak momentum from the air max,nike air max,air max 2015,nike air max 2015,air max 90,airmax,air max 95,nike air max 90 original 220-240 vehicles to 270 vehicles. At the same time, the hollister,abercrombie absence of pandora jewelry,pandora charms,pandora bracelet,pandora bracelets,pandora rings,pandora jewelry store locator,pandora charm,pandora charms clearance,pandora store,pandora jewelry outlet store,pandora jewelry sale online a large cylinder, the volume of the electromagnetic catapult is relatively michael kors outlet,michael kors outlet online,michael kors,kors outlet,michael kors handbags,michael kors outlet online sale,michael kors handbags clearance,michael kors purses,michaelkors.com,michael kors bags,michael kors shoes,michaelkors,cheap michael kors small, supra shoes very beneficial to the swarovski uk "Liaoning" class platform installation.In recent years, China's electronic technology valentino shoes,valentino,valentinos weaponry rapid progress. By 2020 there converse,scarpe converse,converse italia,converse sito ufficiale,converse all star six years, Ma Weiming nike trainers,nike trainers uk academician and his beats by dre,dr dre,beats headphones,dre beats,beats by dr,beats by dr dre,beats audio,dr dre beats,dre headphones,beats by dre headphones,beats by dr. dre,cheap beats research team there kate spade outlet,kate spade,katespade,kate spade handbags is still time, the oakley,occhiali oakley,oakley italia Chinese navy as a steam catapult can cross this threshold, so the first one sac louis vuitton,louis vuitton,louis vuitton pas cher,sac louis vuitton pas cher,louis vuitton france domestic carrier mounted montre pas cher directly on 2-3 sets of electromagnetic catapults, "Liaoning "saturation volume level karen millen dresses on the 2nd carrier longchamp,longchamp handbags,longchamp outlet,longchamp bags,long champ aircraft ship will likely rise to around 65, the amount of actual service burberry outlet online,burberry outlet,burberry,burberry handbags,burberry factory outlet,burberry sale carrier aircraft louis vuitton,louis vuitton bags,louis vuitton handbags,louis vuitton uk can reach the size of 55, plus three times now mulberry,mulberry handbags,mulberry outlet,mulberry bags,mulberry uk and can be loaded oakley sunglasses,oakley vault,oakley sunglasses cheap,oakleys,oakley.com,sunglasses outlet,cheap oakley,cheap oakley sunglasses,oakley outlet,cheap sunglasses,oakley prescription glasses,fake oakleys,oakley sunglasses outlet,oakley glasses,oakley store,fake oakley,oakley sale,cheap oakleys,discount oakley sunglasses with petrol bombs attendance combat new michael kors outlet store,michael kors outlet,michael kors outlet online,michael kors,kors outlet,michael kors handbags,michael kors outlet online sale,michael kors handbags clearance,michael kors purses,michaelkors.com,michael kors bags,michael kors shoes,michaelkors,cheap michael kors carrier machine. Ship "new wine in old bottles" operational capability hollister,abercrombie,hollister sito ufficiale,abercrombie italia,abercrombie and fitch,abercrombie outlet of the aircraft carrier is expected to rolex watches,replica watches,omega watches,rolex watches for sale,replica watches uk,fake rolex reach "Forrester" class and the "Kitty Hawk" grade level.Nuclear fantasy and realityIf the "Liaoning" on the 2nd class destroyers finally tiffany and co jewelry,tiffany and co outlet,tiffany and co,tiffany's,tiffanys,tiffany co,tiffany jewelry adopted electromagnetic catapult, you bottega veneta,bottega,bottega veneta outlet must do the appropriate upgrade rolex watches,rolex,watches for men,watches for women,omega watches,replica watches,rolex watches for sale,rolex replica,rolex watch,cartier watches,rolex submariner,fake rolex,rolex replica watches,replica rolex its power systems, electromagnetic catapults need strong power protection, vans,vans pas cher,vans soldes especially louboutin outlet,louboutin,christian louboutin,red bottom shoes,louboutin shoes,red bottoms,christian louboutin shoes,christian louboutin outlet,red bottom shoes for women,louboutins in high-voltage power supply capacity of the instantaneous ejection time, which is probably "Liaoning" No existing power system can not provide."Admiral Kuznetsov" was thomas sabo uk adopted four TB-12 true religion steam turbine and eight supercharged boiler. TB-12's predecessor is TB-8, and TB-8 is just the louboutin,chaussure louboutin,louboutin pas cher,chaussures louboutin,chaussure louboutin pas cher,louboutin france domestic 051 destroyers host Domestic Model 453 type air max,nike air max,air max pas cher,air max one,air max 90,air max france steam turbine. TB-8 coach purses,coach handbags,coach bags power is 36,000 horsepower, 051 destroyers then adopted two sets of TB-8 steam turbine speed was 38 knots, power TB-12 increased to 45,000 horsepower. In addition, China converse shoes,converse,converse.com,converse sneakers,converse outlet introduced the "modern" GTZA-674 type steam turbine installed on class instyler ionic styler,instyler destroyer is improved longchamp handbags,longchamp,longchamp outlet,longchamp bags,long champ TB-12's.TB-8 from the mcm handbags,mcm bags,mcm backpack,mcm outlet TB-12 and michael kors outlet online sale,michael kors,kors outlet,michael kors outlet,michael kors handbags,michael kors outlet online,michael kors handbags clearance,michael kors purses,michaelkors.com,michael kors bags,michael kors shoes,michaelkors,cheap michael kors then GTZA-674, China in the series steam turbine has accumulated a wealth of technology, use and maintenance experience. If the steam timberland outlet turbine on "Liaoning" was used for the localization model, I believe, at least up to the level of GTZA-674, michael kors,sac michael kors,michael kors pas cher,sac michael kors pas cher,michael kors france with louis vuitton,louis vuitton canada,louis vuitton outlet,louis vuitton outlet online a coach outlet store online,coach outlet store,coach outlet total output power of north face,the north face,north face uk,north face jackets,north face outlet,northface four steam turbines for 200,000 horsepower. The power tiffany and co jewelry,tiffany and co outlet,tiffany and co,tiffany's,tiffanys,tiffany co,tiffany jewelry system maintains no catapult "Liaoning" No high speed sailing is no problem, but if it is using a new electromagnetic catapult aircraft on some stretched up. "Ford" was only four electromagnetic catapult while charging it takes about north face jackets,north face,the north face,northface,north face outlet,north face jackets clearance,the north face outlet 200,000 horsepower, if the "Liaoning" on the 2nd class destroyers to install ray ban sunglasses outlet,ray ban sunglasses,ray ban,rayban,ray bans,ray ban outlet,ray-ban,raybans,ray ban wayfarer,ray-ban sunglasses,raybans.com,rayban sunglasses,cheap ray ban three links of london uk sets of the same power sac guess,guess pas cher,guess,guess collection,sac a main guess of the electromagnetic catapult, the required electrical energy that is over 16,000 horsepower; hollister taking into steam turbine power generation process in about 50% of energy nike air max,air max,air max 2015,nike air max 2015,air max 90,airmax,air max 95,nike air max 90 consumption, only lululemon outlet,lululemon,yoga pants,lulu lemon,lulu.com,lululemon.com three catapult babyliss pro,babyliss maximum prada handbags,prada,prada sunglasses,prada shoes,prada outlet,prada bags required lancel power accounted for about 16% of the total power of the ship, which is bound to gucci outlet,gucci handbags,gucci belts,gucci shoes,gucci,gucci belt,gucci sunglasses,gucci bags,cheap gucci seriously ghd,ghd hair,ghd hair straighteners,ghd straighteners affect the use of aircraft speed and lacoste,polo lacoste,lacoste pas cher,lacoste.fr,lacoste soldes,survetement lacoste other electrical equipment.More insanity,insanity workout,insanity workout calendar,insanity calendar,insanity workout schedule vigilance is needed, longchamp outlet,longchamp,longchamp handbags,longchamp bags,long champ whether it is "Admiral Kuznetsov" was still in India, "Vic Rama Tia" No, they are installed roshe run,nike roshe,roshe runs,nike roshe run,nike roshes TB-12 ray ban sunglasses,ray ban sunglasses outlet,ray ban,rayban,ray bans,ray ban outlet,ray-ban,raybans,ray ban wayfarer,ray-ban sunglasses,raybans.com,rayban sunglasses,cheap ray ban steam turbine and auxiliary boilers occurred many times in the course of giuseppe zanotti,giuseppe zanotti outlet major accident. Russia louis vuitton,louis vuitton outlet online,louis vuitton outlet,louisvuitton.com,authentic louis vuitton,louis vuitton factory outlet,cheap louis vuitton has north face outlet,north face,the north face,northface,north face jackets,north face jackets clearance,the north face outlet a rich pandora jewelry,pandora charms,pandora bracelet,pandora bracelets,pandora rings,pandora jewelry store locator,pandora charm,pandora charms clearance,pandora store,pandora jewelry outlet store,pandora jewelry sale online ship with a steam turbine development and experience like this, the reliability of the hermes,sac hermes,hermes pas cher,sac hermes pas cher TB-12 based on the development of China-made large true religion ship with the first soccer shoes,nike mercurial generation of louboutin,christian louboutin,louboutin shoes,louboutins,louboutin uk,christian louboutin uk,red bottom shoes,red bottoms,louboutin outlet,christian louboutin shoes,christian louboutin outlet steam turbines also needs further examination.Needless to say, the best use of the wedding dresses,wedding dress,dresses for wedding,bride dresses,dresses for weddings,wedding dresses uk,cheap wedding dresses,vintage wedding dresses,monsoon wedding dresses,lace wedding dresses,wedding dresses for older brides,wedding dresses 2014 electromagnetic catapult powered aircraft carrier lululemon,lululemon canada,lululemon outlet canada,lululemon outlet online program is certainly similar to "Ford" class nike roshe run,roshe run,nike roshe,rosh run,roshe run pas cher,nike roshe france nuclear-powered + all-electric propulsion tn pas cher,nike tn,nike tn pas cher,nike tn requin,tn requin,tn requin pas cher system. Nuclear coach factory outlet,coach factory,coach factory outlet online,coach factory online energy juicy couture can provide catapult inexhaustible; wedding dresses,prom dresses,bridesmaid dresses,evening dresses,beach wedding dresses,cheap wedding dresses,homecoming dresses,prom dresses,wedding dresses and the all-electric propulsion system eliminates ray ban pas cher,ray ban,rayban,lunette ray ban pas cher the mechanical transmission mechanism, the reactor will supply energy into louis vuitton outlet stores,louis vuitton outlet online,louis vuitton,louis vuitton outlet,louisvuitton.com,authentic louis vuitton,louis vuitton factory outlet,cheap louis vuitton electrical energy directly to the catapult, propeller motors, timberland,timberland pas cher,chaussure timberland pas cher,timberland france as well as other power line carrier terminal, without the huge transmission layout is very conducive to aircraft interior design, handling and juicy couture outlet maintenance is also very convenient. Of course, louis vuitton outlet online,louis vuitton,louis vuitton outlet,louisvuitton.com,authentic louis vuitton,louis vuitton factory outlet,cheap louis vuitton the all-electric propulsion system for the energy chanel handbags,chanel bags,chanel sunglasses,chanel purses,chanel outlet conversion efficiency is generally better than mechanical transmission, with burberry,sac burberry,burberry pas cher,sac burberry pas cher,burberry france endless nike blazer,blazer nike,nike blazer pas cher energy asics,asics gel,asics running,asics running shoes,asics shoes,asics gel nimbus,asics gel kayano,asics gt reactors ralph lauren,polo ralph lauren,ralph lauren outlet,ralph lauren italia,ralph lauren sito ufficiale is undoubtedly the most suitable partner.Real possibility of view, "Liao in" class on the 2nd ship a "nuclear" nike roshe,roshe run,nike roshe run,roshe runs power system louis vuitton,sac louis vuitton,louis vuitton pas cher,sac louis vuitton pas cher,louis vuitton france is unlikely. Although Russia discuss the "Admiral Kuznetsov" No. overhaul conversion program, the dress had been discussed nuclear power, eventually dropped. I reebok outlet,reebok,reebok skyscape,reebok shoes will not speak on the basic platform "Liaoning" was doing true religion so beating ferragamo shoes,ferragamo,salvatore ferragamo,ferragamo belts,ferragamo belt,ferragamo outlet the availability of the technical feasibility of internal transformation, China I am afraid there is no ready-made high-performance aircraft for use nike shoes,nike outlet,nike factory,nike store,nike factory outlet,nike outlet store,cheap nike shoes,nike sneakers pressurized water reactor. The new reactors on 094 strategic nuclear submarines mac cosmetics,m a c cosmetics,mac makeup,maccosmetics.com reportedly good performance, celine handbags,celine bag,celine bags there has been no reliable sources have new balance pas cher,new balance,new balance femme confirmed that the boat has been the longchamp,sac longchamp,longchamps,longchamp pas cher,sac longchamp pas cher,longchamp pliage,longchamp soldes,sac longchamps,longchamp france formation of combat, the maturity of its power systems doubtful. We should also not forget that the abercrombie and fitch,abercrombie and,abercrombie,abercrombie kids,abercrombie fitch,abercrombie.com risk ray ban sunglasses uk of north face,the north face,north face pas cher,north face soldes,north face france boats reactors ship with p90x,p90x3,p90x workout,p90x workout schedule,p90x workout sheets,p90x 3,p90x2 a great change, oakley sunglasses cheap,cheap oakley sunglasses,oakley sunglasses,oakley vault,oakleys,oakley.com,sunglasses outlet,cheap oakley,oakley outlet,cheap sunglasses,oakley prescription glasses,fake oakleys,oakley sunglasses outlet,oakley glasses,oakley store,fake oakley,oakley sale,cheap oakleys,discount oakley sunglasses the air max US nuclear aircraft carriers and nuclear submarines had never shared michael kors,michael kors uk,michael kors handbags,michael kors bags reactor; France has the world's top nuclear technology in michael kors outlet,michael kors,kors outlet,michael kors handbags,michael kors outlet online,michael kors outlet online sale,michael kors handbags clearance,michael kors purses,michaelkors.com,michael kors bags,michael kors shoes,michaelkors,cheap michael kors the construction of "Charles de swarovski jewelry Gaulle" when granted directly jordan shoes,jordans,air jordan,jordan retro,jordan 11,jordan xx9,jordan 6,new jordans,air jordans,cheap jordans,retro jordans,jordan retro 11,jordan 5,air jordan 11,jordans for sale,jordan 4,jordan 1,jordan future,jordan 3,jordan 12,michael jordan shoes,air jordan shoes,air jordan retro to the intended Reactor "Triumph" class gucci,borse gucci,gucci sito ufficiale,gucci outlet strategic nuclear submarine used louis vuitton handbags,vuitton handbags,louis vuitton bags,louis vuitton purses in the hollister,abercrombie,abercrombie fitch,hollister france,hollister pas cher,abercrombie and fitch,hollister pas cher "Charles de Gaulle". nike air max,air max,air max 90,nike air max 90,air max 1 K15 natural circulation integral nike free,free run,nike free run,nike free pas cher,nike free run pas cher,nike free france PWR technology really advanced in the "Triumph" class did a great job, but mounted on the "Charles de Gaulle" pandora charms,pandora uk,pandora bracelet,pandora rings,pandora,pandora sale,pandora bracelets,pandora jewellery,pandora ring,pandora charm,pandora earrings,pandora jewelry,pandora necklace,pandora charms uk is the "acclimatization", resulting oakley pas cher,oakley,oakley soldes,lunette oakley pas cher,oakley france in "Charles de Gaulle" period is prolonged, the installation of mont blanc,montblanc,mont blanc pens pressure cabin dead weight after barely put to use, ralph lauren,polo ralph lauren,ralph lauren pas cher,polo ralph lauren pas cher,ralph lauren france but still in the sea trials and follow-up service during soccer jerseys,soccer jersey,usa soccer jersey,football jerseys times of nike free,free running,nike free run,nike free 5.0,free running 2,nike running shoes,nike free trainer,nike free trainer 5.0,free runs,free run 5.0 exposure problems.


Note: Please offer only positive, constructive comments - we are looking to promote a positive atmosphere where collaboration is valued above all else.




PARTNERS