Occupied

(download)

Swipe people as fast as possible into their matching restrooms in this fast paced action game. 

The difficulty of the game increases as time progresses.

New categories start appearing, moving, changing their positions. 

Live ranking system shows your latest world rank.

 

Please provide your ideas so that we can add them to the game

 

Alien Smasher

Cute aliens are invading the earth from the outer space and you are Earth's only hope in this action packed, color matching arcade puzzle game with a clever twist of physics and ingenious power ups to give endless hours of fun for the whole family.
(download)

Your goal in this game is to rack up points by clearing like-coloured alien's from the screen. As these alien's fall from the top, you tap to link up those of the same colour. Once you've created a large enough chain, swipping on the screen clears them from the screen. The more blocks chained, the more points you earn and a chance to earn gold coins.

Naturally, there's a catch: There is a swirled bar near the top of the screen. Should the alien's accumulate over this bar, it ends your game. The trick is in maximising your chains without allowing too many alien's to crowd the screen and jeopardise your progress.

There is also live scoring system which shows your global score based on your best score. If your current score is better than your previous best score, then it will show your current rank based on current score.

(download)

To make the game more interesting there are different powers provided

1. Bomb: It destroys all alien's near it

2. Magnet: selects all alien's of same color.

3. Chain: Helps to continue a chain of alien's by adding a second bonbi of different color to form huge chain.

4. 2x, 3x, 4x: increases the score by 2 or 3 or 4 times respectively.

5. Wooden Balls: They can only removed only by double tapping on them or by using a bomb.

6. Steel Balls: They can be removed only by using a ball.

If you make enough gold coins, you can buy other powers in panic mode which are
Powerups
1. Speed Down Power: You need 5 gold coins to use it. This power decreases the speed of falling alien's.

2. Marker Up Power: you need 10 gold coins to use it. This power moves the swirling bar up, to give you more breathing space.

3. Nuclear Power: You need 15 gold coins. This power blasts away all the alien's in the screen.

There are three modes 

1. Panic mode: In this mode, the level completes once the red progress bar at top right gets full. Once the level completes it continues on to next level without any stop. The game will end if the alien's reach the top of the swirling bar.

Try to smack as many alien's as possible before clearing them to get gold coins. Use the gold coins to buy the "speed down", "marker up", "nuclear power" when needed to advance to next levels.

2. Time Mode: In this mode, you have 180 seconds to play the game. You can gain extra 30 seconds by collecting 10 gold coins.

There is NO Swirling bar at the top. The game will only end when the time runs out.

3. Classic mode: This mode has 40 levels.

The top right shows the number of attempts / maximum number of attempts

The level will complete when the number of attempts reach the maximum attempts. The bottom of the screen shows the number of points needed to acheive 3 star or 2 star or 1 star.

The game will end if the alien's reach the top of the swirling bar.

progress bar while loading scene & texture (UPDATED)

To Add progress bar to your activity in andengine, have your activity extend the below class. 

So everytime during load scene, load resources a progress bar would be shown:

 

 

import static android.view.ViewGroup.LayoutParams.FILL_PARENT;

 

import org.anddev.andengine.audio.music.MusicManager;

import org.anddev.andengine.audio.sound.SoundManager;

import org.anddev.andengine.engine.Engine;

import org.anddev.andengine.engine.options.EngineOptions;

import org.anddev.andengine.engine.options.WakeLockOptions;

import org.anddev.andengine.entity.scene.Scene;

import org.anddev.andengine.opengl.view.RenderSurfaceView;

import org.anddev.andengine.sensor.accelerometer.AccelerometerSensorOptions;

import org.anddev.andengine.sensor.accelerometer.IAccelerometerListener;

import org.anddev.andengine.sensor.location.ILocationListener;

import org.anddev.andengine.sensor.location.LocationSensorOptions;

import org.anddev.andengine.sensor.orientation.IOrientationListener;

import org.anddev.andengine.sensor.orientation.OrientationSensorOptions;

import org.anddev.andengine.ui.IGameInterface;

import org.anddev.andengine.ui.activity.BaseActivity;

import org.anddev.andengine.util.ActivityUtils;

import org.anddev.andengine.util.Debug;

 

 

import android.app.ProgressDialog;

import android.content.Context;

import android.content.DialogInterface;

import android.content.pm.ActivityInfo;

import android.media.AudioManager;

import android.os.Bundle;

import android.os.PowerManager;

import android.os.PowerManager.WakeLock;

import android.view.Gravity;

import android.widget.FrameLayout.LayoutParams;

 

 

public abstract class ProgressBaseActivity extends BaseActivity implements IGameInterface,DialogInterface.OnCancelListener {

// ===========================================================

// Constants

// ===========================================================

 

// ===========================================================

// Fields

// ===========================================================

 

protected Engine mEngine;

private WakeLock mWakeLock;

protected RenderSurfaceView mRenderSurfaceView;

protected boolean mHasWindowFocused;

private boolean mPaused;

private boolean mGameLoaded;

private ProgressDialog mProgress;

 

// ===========================================================

// Constructors

// ===========================================================

 

@Override

protected void onCreate(final Bundle pSavedInstanceState) {

super.onCreate(pSavedInstanceState);

this.mPaused = true;

      mProgress = new ProgressDialog(this);

       mProgress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

       mProgress.setMax(100);

       mProgress.setMessage("Loading...");

       mProgress.setOnCancelListener(this);

       mProgress.setCancelable(false);

 

this.mEngine = this.onLoadEngine();

 

this.applyEngineOptions(this.mEngine.getEngineOptions());

 

this.onSetContentView();

 

}

 

@Override

protected void onResume() {

super.onResume();

 

if(this.mPaused && this.mHasWindowFocused) {

this.doResume();

}

}

 

@Override

public void onWindowFocusChanged(final boolean pHasWindowFocus) {

super.onWindowFocusChanged(pHasWindowFocus);

Debug.i("Denny " + pHasWindowFocus);

if(pHasWindowFocus) {

if(this.mPaused) {

this.doResume();

}

this.mHasWindowFocused = true;

} else {

if(!this.mPaused) {

this.doPause();

}

this.mHasWindowFocused = false;

}

}

 

@Override

protected void onPause() {

super.onPause();

 

if(!this.mPaused) {

this.doPause();

}

}

 

@Override

protected void onDestroy() {

super.onDestroy();

 

this.mEngine.interruptUpdateThread();

 

this.onUnloadResources();

}

 

public void onUnloadResources() {

if(this.mEngine.getEngineOptions().needsMusic()) {

this.getMusicManager().releaseAll();

}

if(this.mEngine.getEngineOptions().needsSound()) {

this.getSoundManager().releaseAll();

}

}

 

// ===========================================================

// Getter & Setter

// ===========================================================

 

public Engine getEngine() {

return this.mEngine;

}

 

public SoundManager getSoundManager() {

return this.mEngine.getSoundManager();

}

 

public MusicManager getMusicManager() {

return this.mEngine.getMusicManager();

}

 

// ===========================================================

// Methods for/from SuperClass/Interfaces

// ===========================================================

 

public void onResumeGame() {

 

}

 

public void onPauseGame() {

 

}

public void onCancel(DialogInterface dialog)   { // when the progress bar is cancelled

 

subDoResume();

}

 

// ===========================================================

// Methods

// ===========================================================

 

private void doResume() {

if(!this.mGameLoaded) {

       mProgress.show();

       Debug.i("Denny 1");

       // Start lengthy operation in a background thread

       new Thread(new Runnable() {

           public void run() {

    ProgressBaseActivity.this.onLoadResources();

    mProgress.setProgress(30);

    final Scene scene = ProgressBaseActivity.this.onLoadScene();

    mProgress.setProgress(60);

    ProgressBaseActivity.this.mEngine.onLoadComplete(scene);

    mProgress.setProgress(80);

    Debug.i("Denny 2");

    ProgressBaseActivity.this.onLoadComplete();

               mProgress.cancel();

               mGameLoaded = true;

           }

       }).start();

}

if(this.mGameLoaded)

subDoResume();

 

}

private void subDoResume()

{

this.mPaused = false;

this.acquireWakeLock(this.mEngine.getEngineOptions().getWakeLockOptions());

this.mEngine.onResume();

 

this.mRenderSurfaceView.onResume();

Debug.i("Denny 3");

this.mEngine.start();

this.onResumeGame();

}

 

private void doPause() {

this.mPaused = true;

this.releaseWakeLock();

 

this.mEngine.onPause();

this.mEngine.stop();

this.mRenderSurfaceView.onPause();

this.onPauseGame();

}

 

public void runOnUpdateThread(final Runnable pRunnable) {

this.mEngine.runOnUpdateThread(pRunnable);

}

 

protected void onSetContentView() {

this.mRenderSurfaceView = new RenderSurfaceView(this);

this.mRenderSurfaceView.setEGLConfigChooser(false);

this.mRenderSurfaceView.setRenderer(this.mEngine);

 

this.setContentView(this.mRenderSurfaceView, this.createSurfaceViewLayoutParams());

}

 

private void acquireWakeLock(final WakeLockOptions pWakeLockOptions) {

if(pWakeLockOptions == WakeLockOptions.SCREEN_ON) {

ActivityUtils.keepScreenOn(this);

} else {

final PowerManager pm = (PowerManager) this.getSystemService(Context.POWER_SERVICE);

this.mWakeLock = pm.newWakeLock(pWakeLockOptions.getFlag() | PowerManager.ON_AFTER_RELEASE, "AndEngine");

try {

this.mWakeLock.acquire();

} catch (final SecurityException e) {

Debug.e("You have to add\n\t<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>\nto your AndroidManifest.xml !", e);

}

}

}

 

private void releaseWakeLock() {

if(this.mWakeLock != null && this.mWakeLock.isHeld()) {

this.mWakeLock.release();

}

}

 

private void applyEngineOptions(final EngineOptions pEngineOptions) {

if(pEngineOptions.isFullscreen()) {

ActivityUtils.requestFullscreen(this);

}

 

if(pEngineOptions.needsMusic() || pEngineOptions.needsSound()) {

this.setVolumeControlStream(AudioManager.STREAM_MUSIC);

}

 

switch(pEngineOptions.getScreenOrientation()) {

case LANDSCAPE:

this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

break;

case PORTRAIT:

this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

break;

}

}

 

protected LayoutParams createSurfaceViewLayoutParams() {

final LayoutParams layoutParams = new LayoutParams(FILL_PARENT, FILL_PARENT);

layoutParams.gravity = Gravity.CENTER;

return layoutParams;

}

 

protected void enableVibrator() {

this.mEngine.enableVibrator(this);

}

 

/**

* @see {@link Engine#enableLocationSensor(Context, ILocationListener, LocationSensorOptions)}

*/

protected void enableLocationSensor(final ILocationListener pLocationListener, final LocationSensorOptions pLocationSensorOptions) {

this.mEngine.enableLocationSensor(this, pLocationListener, pLocationSensorOptions);

}

 

/**

* @see {@link Engine#disableLocationSensor(Context)}

*/

protected void disableLocationSensor() {

this.mEngine.disableLocationSensor(this);

}

 

/**

* @see {@link Engine#enableAccelerometerSensor(Context, IAccelerometerListener)}

*/

protected boolean enableAccelerometerSensor(final IAccelerometerListener pAccelerometerListener) {

return this.mEngine.enableAccelerometerSensor(this, pAccelerometerListener);

}

 

/**

* @see {@link Engine#enableAccelerometerSensor(Context, IAccelerometerListener, AccelerometerSensorOptions)}

*/

protected boolean enableAccelerometerSensor(final IAccelerometerListener pAccelerometerListener, final AccelerometerSensorOptions pAccelerometerSensorOptions) {

return this.mEngine.enableAccelerometerSensor(this, pAccelerometerListener, pAccelerometerSensorOptions);

}

 

/**

* @see {@link Engine#disableAccelerometerSensor(Context)}

*/

protected boolean disableAccelerometerSensor() {

return this.mEngine.disableAccelerometerSensor(this);

}

 

/**

* @see {@link Engine#enableOrientationSensor(Context, IOrientationListener)}

*/

protected boolean enableOrientationSensor(final IOrientationListener pOrientationListener) {

return this.mEngine.enableOrientationSensor(this, pOrientationListener);

}

 

/**

* @see {@link Engine#enableOrientationSensor(Context, IOrientationListener, OrientationSensorOptions)}

*/

protected boolean enableOrientationSensor(final IOrientationListener pOrientationListener, final OrientationSensorOptions pLocationSensorOptions) {

return this.mEngine.enableOrientationSensor(this, pOrientationListener, pLocationSensorOptions);

}

 

/**

* @see {@link Engine#disableOrientationSensor(Context)}

*/

protected boolean disableOrientationSensor() {

return this.mEngine.disableOrientationSensor(this);

}

 

// ===========================================================

// Inner and Anonymous Classes

// ===========================================================

}

 

 

progress bar on loading textures in andengine

I wrote a very simple method of adding the progress dialog while loading textures using andengine. This method is the most easiest than other workaround i saw at andengine forums. Here are the steps. 

1. change the doResume method in BaseGameActivity to following:

if(!this.mGameLoaded) {

 

       mProgress = new ProgressDialog(this);

       mProgress.setProgressStyle(ProgressDialog.STYLE_SPINNER);

       mProgress.setMessage("Loading...");

       mProgress.setOnCancelListener(this);

       mProgress.setCancelable(false);

       mProgress.show();

       // Start lengthy operation in a background thread

       new Thread(new Runnable() {

           public void run() {

               onLoadResources();

final Scene scene = onLoadScene();

mEngine.onLoadComplete(scene);

                    mProgress.cancel();

           }

       }).start();

       this.mGameLoaded = true;

}

2. make the BaseGameActivity class implement DialogInterface.OnCancelListener 

3. add this following code in BaseGameActivity class

 

public void onCancel(DialogInterface dialog)   { // when the progress bar is cancelled

 

progress = false;

this.onLoadComplete();

}

4. voila. now progress bar will showup till loadresources and loadscene methods are done.

 

Word Panic

****** COMING SOON: PHYSICS SIMULATED FALLING OF TILES ********

Word Panic is a exciting word game with tetris twist. Random sequence of letters fall from top and you create words by tapping on individual letters and click on submit button to blast off the letters before the pile reaches the top. The Game gets harder as you move to more levels. Use the wild card, bomb, row, bonus tiles to clear more letters and get high scores.

Word Panic includes easy, medium and hard modes and contains a competitive world ranking system

(download)

New features coming soon...

Please add any issues, missing words to the comment box below. Please do add the phone model. Thanks

Wordster

Welcome to one of the most exciting,fun-filled, fast paced word game for android. The goal of WordSter is to make most words out of the letter arcade as fast as you can.
What sets this game apart are the various types of tiles, modes available to make the game challenging and fun.

The different types of tiles available are timeout tile, wild card tile, bonus time tile, bonus score tile. Some of the tiles rotate and change their letters. The number of letters and rotation of tiles increase with each level.

It has got 3 different modes to play:

- Time Mode

- Classic Mode

- Infinite Mode

(download)