Latest Entries »

Solve Puzzle and Collect Smart Points = Fun!

Smart Block Puzzle is very addictive fun game that will help you focus and improve brain’s activity.

Enjoy over 24,000 FREE mind-bending levels which will keep increasing overtime!.

Smart Block Puzzle is the “Tangram” inspired puzzle game.

To play Smart Block Puzzle, simply fill all blocks in the area. See the Video for Example.
★★★★ promotion ★★★★
Exclusively for first 10,000 install only!
Free additional 40 Hints !!

– More than unique 24,000 puzzles and keep increasing!! Waiting for you to solve
– Colorful!, More than 65,000 shade of color blocks contains
– Ranking system, Competition with your friends or world wide
– Five difficulty levels
– Achievements await for you to unlock
– Free Hints first 20 puzzles for each level
– In-time Hint

Smart Block Puzzle – Love at first solve.


Block Box Puzzle

Play “Block Box Puzzle” by tilt and rotate your Android device.

Enjoy the feeling of realistic moving objects in the game.


“Block Box Puzzle” intregated with Android’s accelerometer to let you have more fun while solving puzzles.


– Android’s accelerometer intregated.
– Hardware Accelation via OpenGL.
– Screen Capture
– Share via social network or email ( facebook, gmail, twitter, etc )

How to play Read More…

Peace App Value Calculator

“How much your app Worth?”

Have You Ever Wondered? “How much my apps are Worth for?”

If some one offer you to buy your entire owner ship of your app. How much it is worth for to sell then.
“Peace App Value Calculator” is tool for calculate your entire app value. Not a unit price but the whole app in cluding source code, the product value, good will, etc.
This estimation can apply to websites or other products out side google play as well.

“Peace App Value Calculator” use real-time economical data to estimate your app’s value.

This tiny product is a good friend a to you 😉

Read More…

Peace Sudoku Solver & Generator

“Peace Sudoku Solver & Generator” is a “Must Have” tool for Sudoku’s lover.
With the “Sudoku Master Engine” you can solve all Sudoku no matter how hard of them.
You can also analyse to check if your Sudoku is valid or not or use the analyzer to rank your Sudoku.
Enjoy endless Sudoku generated from “Peace Sudoku Solver & Generator” you can generate more than 1,000,000,000 (one billion) of Sudokus. Every time you generate them you create a new unique Sudoku.

“Peace Sudoku Solver & Generator” is design for ease of use you can input sudoku notation in text mode to input faster or use “grid view” to input easier.
You can also share your Sudoku problems with your friend via social network or email.

“Peace Sudoku Solver & Generator” is light weight software. It will use resources from your Android device efficently.

– Sodoku Solver
– Sodoku Analyzer
– Text mode input
– Grid view input
– More than 1,000,000,000 (one billion) problems can generate by Sudoku Generator
How to use:
1. Install “Peace Sudoku Solver & Generator” via
2. Type Sudoku notation in input box
3. also can push “Grid View” to input Sudoku in Grid View mode
4. Open menu button then push “Share” to share sudoku with your friend
5. push “Analysis” to analyse the Sudoku
6. push “Solve” to give you and full answer
7. push “Generate New Sudoku” to generate new Unique Sudoku


“Peace Portfolio Manager” หุ้นไทย Edition is a invester’s tool for manage portfolio stock and monitoring stock online in real-time.
The “หุ้นไทย” Edition is specialize for “stock exchange of thailand”

Feature List:
– Add/Remove Stock
– Real time streaming stock price Monitoring
– Edit Amount of Stock holding
– Summarize Market value


Peace Noise Generator


Peace Noise Generator is a Great Tool for Burn In your headphones or testing your device’s speaker.

Peace Noise Generator has a real-time frequency cutoff with resonance functional. You can setup wide different characteristic of white noise, pink noise,  brown noise, red noise, gray noise and more color of noise.

Peace Noise Generator is a real time Noise machine. It will generate high quality of noise sound in real time. This make Peace Noise Generator different than other Noise Maker software.

Check it out on google play :

Starfield Day 3

(link fixed)


(ภาพจาก emulator)

//ตัวอย่าง Code ที่เรียกใช้เซนเซอร์วัดความลาดเอียงของ Android
package com.peacedev.shooting;

import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;

public class Sensors extends Activity implements SensorEventListener  {

	SensorManager sensorManager = null;

	public  float ox;
	public  float oy;
	public  float oz;

	public  float ax;
	public  float ay;
	public  float az;

	 public void onCreate(Bundle savedInstanceState) {
	    sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);

	 protected void onResume() {
	    sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), sensorManager.SENSOR_DELAY_GAME);
	    sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION), sensorManager.SENSOR_DELAY_GAME);

	public void onAccuracyChanged(android.hardware.Sensor arg0, int arg1) {
		// TODO Auto-generated method stub


	public void onSensorChanged(SensorEvent event) {
		// TODO Auto-generated method stub
		  switch (event.sensor.getType()){
          case Sensor.TYPE_ACCELEROMETER:
        	  ax = event.values[0];
        	  ay = event.values[1];
        	  az = event.values[2];
      case Sensor.TYPE_ORIENTATION:
    	  ox = event.values[0];
    	  oy = event.values[1];
    	  oz = event.values[2];

	 protected void onStop() {
	    sensorManager.unregisterListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER));
	    sensorManager.unregisterListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION));


download link (.apk 37KB)

Starfield Day 2

(link fixed)

สิ่งที่เพิ่มเข้ามาได้แก่ Speed Optimization, Rendering Optimization การแสดงอักษร การคำนวน FPS
ระบบ Full screen

(ภาพจาก emulator)

การแสดงตัวอักษรบน Opengl ES ใน Android ใช้วิธี Render จาก Canvas ลงบน Texture

		Bitmap bitmap = Bitmap.createBitmap(512, 512, Bitmap.Config.ARGB_4444);
		Canvas canvas = new Canvas(bitmap);

		// Draw the text
		Paint textPaint = new Paint();


		textPaint.setARGB(0xff, 0xaa, 0xaa, 0xff);
		canvas.drawText(text, 0+2,32+2, textPaint);

		//Generate one texture pointer...
		gl.glGenTextures(1, textures, 0);
		//...and bind it to our array
		gl.glBindTexture(GL10.GL_TEXTURE_2D, textures[0]);

		//Create Nearest Filtered Texture

		//Different possible texture parameters, e.g. GL10.GL_CLAMP_TO_EDGE
		gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S, GL10.GL_REPEAT);
		gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T, GL10.GL_REPEAT);

		//Use the Android GLUtils to specify a two-dimensional texture image from our bitmap
		GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bitmap, 0);

		//Clean up

download link (32KB)

Starfield Day 1

หลังจากที่ไม่ค่อยได้ติดตามอะไรอย่างจริงจังมาสักพักใหญ่ ช่วงหลังนี้รู้สึกว่าโลกแห่งเทคโนโลยีมันหมุนไปเร็วมาก เร็วจนรู้สึกว่าเราชักเริ่มจะเอ๊าท์เกินไปละ
เลยอยากจะเคาะสนิมตัวเองเสียหน่อย ช่วงนี้หันมาศึกษาการพัฒนาโปรแกรมบนมือถือระบบ Android และอยากจะเน้นไปทางด้านการเขียนโปรแกรมประเภท interactive graphic และ animation เพราะสายนี้อาศัยเทคนิคต่าง ๆ เยอะดี และดูตื่นตาตื่นใจดีด้วยเหมาะกับการเคาะสนิมเป็นอย่างยิ่ง
รู้สึกทึ่งนิด ๆ กับศักยภาพของ Hardware ของอุปกรณ์พกพาขนาดเล็กแบบนี้

โปรเจคของวันแรกนี้จะเป็นการจำลอง Starfield แบบง่าย ๆ ขึ้นมาดูครับ

สิ่งที่ทำไปในวันแรกนี้ก็จะเป็นการเรียนรู้ระบบ Opengl ES กับการเขียนภาษา Java และ Environment ของการพัฒนา Software บนระบบ Android
ทำไปก็ทึ่งไปกับความเร็วของ GPU และ CPU บนมือถือสมัยนี้
หลังจากลองทำดูเล่น ๆ ก็รู้สึกว่าจินตนาการโลดแล่นสมองโปร่งดีครับ เหมาะกับการแก้เบื่อเป็นอย่างยิ่ง 🙂

ใน Opengl Es ไม่มี Display list แล้ว ปัจจุบันหันมาใช้ Vertex buffer object กันแทน (แต่ผมชอบ Display List มากกว่า 😦 )
การใช้ point sprite ก็ยุ่งยาก เลยใช้ vertex สำหรับ เรนเดอร์ starfield แทนครับ

//การใช้ VBO
	private float vertices[] = {
						-1.0f, -1.0f, 1.0f, //v0
						1.0f, -1.0f, 1.0f, 	//v1
						-1.0f, 1.0f, 1.0f, 	//v2
						1.0f, 1.0f, 1.0f, 	//v3

	private float normals[] = {
			// Normals
			0.0f, 0.0f, 1.0f,
			0.0f, 0.0f, -1.0f,
			0.0f, 1.0f, 0.0f,
			0.0f, -1.0f, 0.0f, 

	private float texture[] = {
			0.0f, 0.0f,
			0.0f, 1.0f,
			1.0f, 0.0f,
			1.0f, 1.0f,

	private byte indices[] = {
						// Faces definition
						0, 1, 3, 0, 3, 2, 		


download link (53KB)