เกมส์บวกเลข

ผมมีโครงการเขียน Mobile App ใน 1 สัปดาห์ สัปดาห์ที่ผ่านมานึกอยากเขียนเกมส์และได้แนวคิดเกมส์บวกเลขจากคุณ Teera Laiteerapong ก็เลยได้เขียนเกมส์บวกเลข เพื่อกันลืมเลย Blog ขั้นตอนเล่าการพัฒนาแต่ละวันเอาไว้ ตลอดระยะเวลา 1 อาทิตย์ เป็นซีรี่ตามติดชีวิตเด็กโข่งสร้างเกมส์ มี 7 ตอน ดังนี้

สำหรับอาทิตย์นี้ไม่มีโครงการเขียน Mobile App แต่มาแก้ไขและอัพเดทเพิ่มเติมให้เกมส์ดูดีมากขึ้น และออกตัวจริงบน Play Store สักทีเพราะติดวงเล็บ Beta มา 1 อาทิตย์แล้ว





สำหรับท่านใดอยากลองฝีมือบวกเลขก็ดาวน์โหลด App ไปเล่นได้ที่

มีอะไรน่าขัดใจใน Android 4.2

เนื่องจากใช้ Galaxy Nexus และได้อัพเกรดเป็น Android 4.2 เรียบร้อยแล้ว แต่ก็มีเรื่องขัดใจหลายอย่างดังนี้
– หน้าจอดูเล็กลง
– Clock Widget แสดงผลแปลกๆ คือตัวหนาในเลขชั่วโมง ตัวบางในเลขนาที เป็นทั้งหน้า lock screen และหน้า home screen
– ไม่มีเดือนธันวาคมส่วน Event ใน App People
บางอย่างน่าจะใส่เข้ามาด้วย เช่น Clear Recent Task ก็ไม่มีเพิ่มเข้ามา ซึ่งน่าเสียดาย แต่ผมก็ชอบของเล่นเล็กๆ อย่าง shotcut menu ที่ซ่อนอยู่ใน notification bar ผมว่ามันน่ารักดี แต่เรียกใช้งานยากไปหน่อย ต้องลาก notification bar ลง กดปุ่ม แล้วก็กดปุ่มเลือกการทำงานอีกที อ้ออีกอย่างหนึ่งโหมดถ่ายภาพแบบ Sphere อันนี้สนุกมากหมุนตัวจนเมื่อยเลย

เก็บตกสัมนา Public Cloud Day

ห่างหายจากการอัพเดทเรื่อง Cloud Computing ไปนาน เนื่องจากรู้สึกอิ่มตัวกับเรื่องนี้มาก เล่นมาเกือบหมดทุกค่ายแล้ว เหลือแต่ Microsoft Azure ที่ยังไม่กรอกเลขบัตรเครดิต 😛 และยังหากำลังใจในการใช้ผลิตภัณฑ์ของ Microsoft ไม่ได้ พอมีงานสัมนา Public Cloud Day ก็เลยอยากไปฟังอัพเดทอะไรใหม่ๆ บ้าง อยากรู้ว่าสถานะ Public Cloud ในประเทศไทยเป็นอย่างไรบ้าง Blog นี้ขอสรุป section ที่ผมสนใจ หากมี Bloger ท่านอื่นๆ เขียนเรื่องเดียวกันนี้อยู่ผมคง Tag ไปให้อ่านเพิ่มเติมครับ
ช่วงแรกหลังเปิดงานโดย อ.ธนชาติ มี Case Study จากธนาคารไทยพาณิชย์ที่ได้ใช้ Cloud ในการบริหารจัดการลูกค้าสัมพันธ์ โดยใช้บริการของ Saleforce.com และบริการ Platform as a Service ด้าน Workflow รายหนึ่ง (ผมจำชื่อบริการไม่ได้) ทางธนาคารเล่าให้ฟังถึงการเปลี่ยนผ่านระบบ CRM ระหว่างระบบเดิมที่มีอยู่เป็นอย่างไร และระบบที่เพิ่มเข้ามาเป็นอย่างไร เข้ามามีบทบาทอย่างไรในการบริการของธนาคาร ประเด็นสำคัญของการใช้ Cloud Service ของไทยพานิชย์คือ ธนาคารต้องการรู้จักลูกค้ามากขึ้น และนำเสนอสินค้าและบริการได้ตรงใจลูกค้ามากขึ้นนั่นเอง ตลอดจนปรับเปลี่ยนรูปแบบการบริการของธนาคารให้ดียิ่งขึ้นด้วย ทั้งในด้านการอนุมัติสินเชื่อได้เร็วยิ่งขึ้น เนื่องจากข้อมูลได้ถูกประมวลผลทุกๆ คืนเพื่อส่งข้อมูลไปยัง Saleforce.com เพื่อให้สาขาของธนาคารได้ใช้ข้อมูลผ่าน Saleforce.com อีกด้วย หลายคนอาจเป็นกังวลว่าอ้าวข้อมูลลูกค้าขึ้นไปอยู่บน Cloud แล้วจะปลอดภัยมั๊ย ทางธนาคารมีเทคนิคในเรื่องการจัดการข้อมูลได้ดีมากเรียกว่าวิธี Mash Up ข้อมูลลูกค้ายังอยู่ที่ธนาคาร แต่ข้อมูลที่อยู่บน Saleforce.com ที่ถูกประมวลผลแล้วจะถูกดึงลงมาใช้คู่ข้อมูลกับลูกค้าที่อยู่กับธนาคารอีกครั้ง ซึ่งวิธีการแบบนี้เป็นวิธีการหนึ่งที่ใช้ใน Hybridge Cloud ซึ่ง Hybridge Cloud เองไม่ได้กำหนดวิธีการที่ตายตัวในการเชื่อมโยงระหว่าง Public Cloud และ Private Cloud หากมุมมองในเรื่องของ Infra ก็จะเป็นมุมมองหนึ่ง กรณี Mash Up นี้เป็นการเรียกใช้ข้อมูลระหว่าง Public Cloud (ข้อมูลที่ได้จากการประมวลผลจาก Saleforce.com) และ Private Cloud (ข้อมูลลูกค้าของธนาคาร) เคยมีคนพูดเรื่องนี้ใน HP Cloud Forum เขาเรียก Hybridge Cloud ว่า Delivery Services ซึ่งมุมมองไม่ได้อยู่ที่ Infra อย่างเดียว แต่สามารถมีได้ในทุกๆ Layer ของ Cloud ทั้ง IaaS, PaaS และ SaaS ธนาคารได้เริ่มใช้ Saleforce.com และ implement ควบคู่กับระบบ CRM เดิมทีละน้อย เพื่อดูความเป็นไปได้ในการใช้บริการ โดยเริ่มต้นที่ 10 Users และค่อยเพิ่มมากขึ้นเรื่อยๆ ในแต่ละปี ซึ่งในปีนี้ สาขาในกรุงเทพมหานครได้ใช้ Saleforce.com กันแล้ว ในปีหน้าเราจะได้บริการที่เข้าถึงความต้องการและเหมาะกับตัวเรามากขึ้นอีกจากธนาคารพาณิชย์โดยเฉพาะเรื่องการอนุมัติสินเชื่อที่ไม่จำเป็นต้องรอข้อมูลหรือการอนุมัติจากส่วนกลาง (สาธุ…)
ถัดมาเป็นเสวนาจากผู้ประกอบการที่ใช้บริการ Public Cloud อยู่แล้วได้แก่ Okbee, อรุณสวัสดิ์ดอทคอม และ อีโฟลซิส ขอสรุปคร่าวๆ ดังนี้

  • Okbee บริการ E-Book, Magazine Online ผู้ใช้ 2.5 ล้านราย ช่วงแรกใช้ Amazon AWS ในการ Scale Up/Down ของ Instance เพื่อรองรับปริมาณของผู้ใช้ในแต่ละช่วงเวลา ซึ่งให้บริการผู้ใช้จากทั่วโลก ปัจจุบันลูกค้าเริ่มมีมากขึ้นเพราะขยายธุรกิจไปยังประเทศเพื่อนบ้านไม่ว่าจะเป็นเวียดนาม อินโดนีเซีย ฯลฯ ปัจจุบันเริ่มมาใช้ Microsoft Azure แต่ยังคง Instance ครึ่งหนึ่งอยู่ที่ Amazon และอีกครึ่งหนึ่งอยู่ที่ Azure เนื่องจากระบบหลังบ้านพัฒนาบน Platform ของ Microsoft การใช้ License บน Amazon และ Azure จึงไม่แตกต่าง แต่ต่างตรงที่ Microsoft มีข้อตกลงทางธุรกิจที่ดีกว่าเท่านั้น Okbee เป็น Case Study ให้ Microsoft ในการใช้ Azure ด้วย
  • อรุณสวัสดิ์ดอทคอม มีบริการสำหรับบริษัทประกันภัย “มาเร็วเคลมเร็ว” คือคอนเซปที่บริษัทให้กับลูกค้า เพื่อให้บริษัทประกันภัยส่งมอบสิ่งที่ดีที่สุดให้ลูกค้าได้ตามคอนเซปข้างต้น สำหรับอรุณสวัสดอทคอมใช้บริการ Azure เช่นกัน และมีการพัฒนาซอฟต์แวร์เพื่อใช้ความสามารถ Hybridge Cloud ของ Azure เอาข้อมูลของลูกค้าที่อยู่กับลูกค้า (ไม่ได้เอาขึ้น Azure) มาเชื่อมโยงกับ SaaS ที่พัฒนาบน Azure เพื่อใช้งานร่วมกัน ทั้งในรูปแบบ Web Application และ Mobile Application
  • อีโฟลซิส มีบริการ ERP บน Cloud ซึ่งใช้ Azure เช่นเดียวกัน แก้ไขซอฟต์แวร์เดิมให้สามารถทำงานบน Cloud ได้อย่างมีประสิทธิภาพ (Multi Core Computing) และเรียกใช้คุณสมบัติ HA ของ Azure ทำให้ บริการของบริษัททำงานมีความต่อเนื่องมากยิ่งขึ้น

ถัดมาเป็นช่วงการนำเสนอของผู้ให้บริการ Cloud ในประเทศไทยจาก TCA ดังนี้

  • DCS (DWork)
  • Cloud Creation (IBM Cloud Burst)
  • Anise Asia?(Joyent ~ StarAnise)
  • TOT (VMWare)
  • True (Aspen, VMWare)

มานำเสนอความพร้อมของการให้บริการ Public Cloud ในประเทศ พร้อมเป็นคู่ค้ากับ ISV ในประเทศ
สำหรับมุมมองของผมในฐานะ “คนกลาง” ผมมองหาผู้ให้บริการ Cloud หรือที่เรียกว่า Cloud Provider ในประเทศอยู่ 2 แบบคือ

  • ผู้ให้บริการ Cloud ทั้ง IaaS และ PaaS ได้เทียบเท่ากับ AWS มีช่องทางการบริการผ่านทาง Web Management Console และ Service APIs ต่างๆ
  • ผู้ให้บริการ Cloud ในรูปแบบ IaaS หรือ PaaS โดยเป็น Market Place ให้กับ ISV ที่พัฒนา SaaS เพื่อที่จะได้ไม่ต้องมากังวล เรื่องการบริหารจัดการในฝั่ง IaaS หรือ PaaS อีก ISV มีหน้าที่ทำ SaaS และหาลูกค้าเท่านั้น ที่เหลือให้ Cloud Provider เป็นคนจัดการ

สำหรับผม 4 ปีที่ผ่านมา ผมยังมองไม่เห็น Cloud Provider ในประเทศ (ไม่นับบริษัทที่ซื้อ Technology หรือเป็นบริษัทลุกในต่างประเทศ) ทำได้อย่างที่ผมต้องการ ผมอาจจะเรื่องมากไปก็ได้ แต่บริการที่สนองความ “ขี้เกียจ” ของลูกค้านี่เป็นสิ่งที่ดี จะเป็นอย่างไร ถ้า ISV สามารถขาย SaaS เป็นสินค้าผ่าน Market Place ของ Cloud Provider หรือ Market Place ของตัวเอง (ผ่านการให้บริการ Service APIs ของ Cloud Provider เพื่อ Provisioning หรือ Management อีกทอด) ลูกค้าจะมีช่องทางการซื้อบริการที่ง่าย สะดวก และรวดเร็ว ซึ่งเป็นปัจจัยสำคัญในการให้บริการอย่างดีเลยทีเดียว เราจะเห็น Time Delivery ของ SaaS เพียงไม่กี่นาทีจริงๆ ไม่ต้องรอ Provisioning จาก Call Center ของผู้ให้บริการ อยากได้ซอฟต์แวร์อะไรก็ “กดปุ๊ปได้ปั๊บ” เหมือนกดสวิทไฟ ผมว่านี่เป็นเรื่องที่ดีเลยทีเดียว
*** อ้อลืมบอกไปว่า Service Catalog หรือ Market Place นี้อย่าหวังให้ภาครัฐทำให้เพราะภาครัฐเองยังก้าวไปได้ช้าในเรื่องของ Cloud Computing ภาคเอกชนควรก้าวนำหน้าและหันมาสั่งสอนภาครัฐเสียบ้าง ***

มาใช้ OpenShift Metrics Cartridge กัน

ผมกลับมาใช้ OpenShift อีกรอบเนื่องจากมีโครงการเฉพาะกิจ พัฒนาเกมส์บวกเลขเก็บสถิติบน Cloud ซึ่งตอนแรกคิดว่าจะใช้ GREE แต่เนื่องจากติดปัญหาเรื่อง Build Package บน GREE เลยล้มเลิกไปและกลับมาใช้ OpenShift อีกรอบพัฒนา RESTFul Web Services เก็บข้อมูล High Score เอาเอง ปัญหาของคนที่ใช้ OpenShift มักจะถามบ่อยครั้งมาที่ผมและทีม OpenShift ที่ RedHat คือ จะวัดได้อย่างไรว่า App ที่พัฒนาใช้ Resource มากน้อยแค่ไหน สมควรที่จะเพิ่ม Gear เพื่อทำ horizontal Scaling หรือไม่ จากที่ได้ใช้บริการ Cloud ของหลายที่ จะมีเครื่องมือ Monitoring และ Auto Scaling ให้เสมอแต่ OpenShift ยังไม่มี เพิ่งจะมีออกมาเป็น Experimental (รุ่นทดลอง) ชื่อ OpenShift Metrics ครับ เป็น Cartridge เพิ่มเข้าไปใน Gear ได้โดยตรง วิธีการเพิ่มก็เข้าไปที่หน้า Add Catridge ดังนี้

จากนั้นเลือก OpenShift Metrics Cartridge เมื่อติดตั้งเรียบร้อยแล้ว เราจะสามารถเข้าไปดูส่วน Monitoring ได้โดยใช้ URL ดังนี้
https://appname-namespace.rhcloud.com/metrics
อยากดูของจริงก็เข้าไปดูของผมได้ครับที่?https://rest-redlinemobi.rhcloud.com/metrics/?ยังไม่มีรายงานสรุป แต่มี Graph แบบ real time ซึ่งดูแล้วงงนิดหน่อย เพราะดูไม่ค่อยทัน แต่ก็ยังดีกว่าไม่มีครับ 😛



ใครที่ใช้ OpenShift อยู่ก็ไปลองกดเล่นๆ ดูได้ครับ

ตามติดชีวิตเด็กโข่งสร้างเกมส์ ตอนที่ 7 ตอนจบ

ผ่านมา 6 วัน วันนี้วันสุดท้ายแล้วครับ สำหรับ Blog สไตล์ Reality ตามติดชีวิตเด็กโข่งสร้างเกมส์ เข้าเรื่องกันเลยดีกว่า เมื่อวานถอดใจกับ GREE แล้วไปซบอก OpenShift Cloud Platfrom as a Service และ CakePHP สร้าง RESTFull Web Service ขึ้นมาเพื่อทำหน้าที่แทน GREE ทำหน้าที่เก็บ Score ของเกมส์จากผู้เล่นทั่วโลก (ดูยิ่งใหญ่มากเลย) วันนี้จะมาเชื่อมโยง Mobile App ไปยัง Web Service กันครับ
หน้าที่หลักของ Web Service ของเราตอนนี้คือการรับข้อมูลจาก Mobile App ในกรณีที่ Mobile App ประมวลผลแล้วว่าจะส่งข้อมูลไปยัง Server โดยใช้เงื่อนไข 2 อย่างคือ

  • มีคะแนน High Score
  • เชื่อมต่อ Internet ได้

เมื่อผู้เล่นรู้ผลคะแนน App จะทำการเชื่อมต่อกับ Web Service และส่งผลคะแนนไปยัง Server โดยอัตโนมัติ กรณีที่ส่งผลคะแนนไม่ได้ก็เสียใจด้วยครับ 🙂 หน้าตาของ World Leaderboard เป็นอย่างนี้ครับ


สำหรับท่านใดอยากลองฝีมือบวกเลขก็ดาวน์โหลด App ไปเล่นได้ที่

เกมส์นี้ใช้สัญญาอนุญาติแบบ GNU/GPL V3 พัฒนาต่อยอดได้ที่ GitHub

ตามติดชีวิตเด็กโข่งสร้างเกมส์ ตอนที่ 6

ตั้งใจว่าจะดู GREE Social Network Game ต่อแต่ลงทะเบียนสร้าง App บน Cloud PaaS (Platform as a Service) ของ OpenShift ไว้ก็เลยได้กกลับมาตายรัง ขอถอนตัวจาก GREE มาซบอก OpenShift อีกครั้ง (ไปไหนไม่รอด) ในเมื่อตัดสินใจแล้วก็ต้องเดินหน้าต่อครับ แผนคือเราจะมาสร้าง RESTFul Web Service บน OpenShift กัน ซึ่ง Service ที่มีได้แก่

  • ลงทะเบียนสมาชิก ~ นักพัฒนาลงทะเบียน จะได้ล็อกอินและรหัสผ่านที่กำหนด
  • ล็อกอิน ~ ล็อกอินเพื่อใช้งานระบบ เช่น ลงทะเบียนแอพ เป็นต้น
  • ลงทะเบียนแอพลิเคชัน ~ ลงทะเบียนแอพ ได้กุญแจมา 1 ดอก
  • ส่งคะแนน ~ ส่งคะแนนโดยใช้กุญแจแอพ
  • ขอตารางสรุปคะแนน ~ ขอตารางสรุปคะแนนใช้กุญแจแอพ

ระบบเก็บข้อมูลคร่าวๆ แบบนี้ครับ ถ้าดูเผินๆ จะเหมือนกับ Service อื่นทั่วไป ถ้าใครเคยใช้ GREE ก็คงจะคุ้นกันอยู่ 😛 แฮะๆ ลอก GREE มาอ่ะ การเก็บข้อมูลและฟีเจอร์จะไม่ละเอียดเหมือนกับ GREE ครับ แต่วิธีการใช้งานเหมือนกัน (พยายามลากให้ดูดี จริงๆ กะจะลอกจาก GREE ต่างหาก) หน้าตาจะแบนๆ อย่างนี้
นี่คือ OpenShift Cloud PaaS ที่เราใช้กัน (Cloud ของจริงนะจ๊ะ ไม่ใช่ Hosting)

หน้าตาแบนๆ ของ Service ยังไม่ได้ทำอะไรเพิ่ม และยังใช้ไม่ได้ T_T

ทดสอบบนเครื่อง local ส่งค่าเพื่อลงทะเบียน App ไม่มี pubkey ลงทะเบียนไม่ได้นะจ๊ะ

ผลตารางคะแนนหน้าตาประหลาดๆ

เอาข้อมูลมาทำให้สวยหน่อย

สุดท้ายได้ Mock up ตาราง Leader Board ดังนี้

อ้อลืมบอกไปว่า RESTFull Web Service ผมใช้ CakePHP จริงๆ จะใช้อะไรก็ได้ แต่อยากย้อนความหลังกันนิดหน่อย เลยกลับมาเขียน CakePHP อีกรอบ 🙂 วันนี้มีความคืบหน้าแค่นี่ครับ กำลังสงสัยว่าอาทิตย์นี้ เกมส์จะเสร็จมั๊ยเนี่ย มีคนถามว่าผมใช้เครื่องมืออะไรพัฒนาซอฟต์แวร์ ขอสรุปให้นิดนึงครับ

  • Eclipse JDT, ADT, PDT ~ รวมอยู่ในตัวเดียว
  • Java ~ ผมเกลียด Java มาก จากใจจริงเลยล่ะ
  • PHP ~ บางครั้งใช้ Zend Platform เกาะ Zend Server บน PHP Cloud แล้วแต่อารมณ์จะพาไป
  • CakePHP, Zend Framwork, Lanai-Core ~ ว่างๆ ก็ใช้ Framework เขียน App แต่ตัวหลังขายใปละและไม่ได้ทำต่อ
  • Git + GitHub ~ ย้ายมาหลายที่ ใช้เครื่องมือจัดการโค้ดมาหลายตัว จบที่ GitHub ไม่ใช่เพราะ GitHub ถูกใจผม แต่เพราะว่าโควต้าของที่อื่นเต็มหมดแล้ว T_T
  • MySQL ~ ส่วนใหญ่ใช้ Command Line ไม่รู้เลิกใช้ Command Line ไม่ได้ซักที
  • MySQL Workbench + Admin + Browser ~ เป็น MySQL GUI ที่ใช้งานง่าย ไม่ยังไม่เท่า dbDesigner ที่เคยใช้ (เดี๋ยวนี้เขายังทำต่อมั๊ย)
  • PHP MyAdmin ~ Web GUI ใช้เฉพาะช่วงย้ายข้อมูลไปที่ Server ที่ไม่ให้ใช้ Command Line พอจบงานก็เอาออก 🙂
  • Cloud (IaaS,PaaS) ~ อันนี้แล้วแต่อารมณ์และลักษณะงาน แปรผันตามจำนวนเงินในกระเป๋า บางทีใช้ AWS ไม่ก็ HP Cloud พอเงินเริ่มหมดก็ไปใช้ Cloud Sigma, EngineYard, dotCloud, Zend Developer Cloud ลงท้ายที่ OpenShift

…ติดตามตอนต่อไป

ตามติดชีวิตเด็กโข่งสร้างเกมส์ ตอนที่ 5

กลับมาเขียน Blog ต่อ เนื่องจากแก้ไขเกมส์อยู่หลายอย่าง ทั้งส่วนตั้งคำถาม เกณฑ์การให้คะแนนแบบใหม่ เพราะคะแนนกระโดดเยอะมากไปหน่อย หันมาใช้ Bonus เป็นเวลาที่เหลือเป็นคะแนนเสริม และแก้ Bug เล็กน้อย เช่น ได้ได้เรื่อยๆ โดยเวลาไม่จำกัด T_T เป็นต้น วันนี้ตั้งใจจะมาลอง OpenFeint ซึ่งเป็นโซเชียลเน็ตเวิร์คของคนเล่นเกมส์ เก็บคะแนนแข่งกันกับเพื่อนๆ ที่เล่นเกมส์เดียวกันได้ แต่ทว่า OpenFeint ถูกซื้อโดย GREE บริษัทยักษ์ใหญ่จากญี่ปุ่นทำให้ ต้องไปใช้ GREE โดยปริยาย ซึ่งจากที่ทดสอบ GREE ในเบื้องต้น พบว่า Package หลักในส่วน GreePlatform ผม Build ไม่ผ่าน เนื่องจากสาเหตุอะไรไม่ทราบ ก็เลยขอพักเรื่อง GREE ไปก่อน

วันนี้ก็เลยได้มาทำส่วน UI เพิ่มอีก 2 ส่วนคือ ส่วนแสดงผลคะแนน หากยังจำกันได้ของเดิมเป็น Dialog Box ธรรมดาๆ ครั้งนี้ก็เลยเปลี่ยนมาเป็น Custom Layout ซะเลย ได้หน้าตาสวยแบบนี้ครับ

ดูใน Tablet จะหน้าตาแบบนี้

อีกส่วนที่เพิ่มเข้ามาเป็นเสียงครับ ผมเลือกเสียง Effect และเพลงอยู่ 10 กว่าเพลง แล้วให้ Game Tester ซึ่งเป็นใครไม่ได้นอกจากคุณมะระมาช่วยฟังช่วยเลือก คำแนะนำที่ได้คือ ควรจะเป็นเสียงโรงเรียน อ็อดเข้าเรียนอะไรประมาณนี้ ก็เลยได้เพลงสบายๆ ก็อกๆ แก็กๆ มา 1 เพลง และเสียงอ็อดเข้าเรียนอีก 1 เสียง ตบท้ายด้วยเสียงที่ผมชอบมากคือ เสียงสมองระเบิด สำหรับผู้เล่นที่บวกเลขไม่คล่อง 😛 เรียกได้ว่าสะใจดีครับ วันนี้ก็เลยได้ใกล้ความเป็นเกมส์มากขึ้นแล้ว สำหรับการเก็บคะแนนผ่านทาง Social Network เกมส์อย่าง GREE นั้น ผมไม่แน่ใจว่าจะได้ใช้บริการ GREE หรือเปล่า ถ้ายังแก้ปัญหาไม่ได้ในอาทิตย์นี้คงไปใช้ตัวอื่นแทน ผมก็เลยทำ Custom Layout ส่วนกรอกชื่อเอาก่อน สำหรับ เก็บคะแนนผ่านทาง Social Network เกมส์ ผมอาจจะเขียน Score Services ขึ้นใช้เอง เอ…รู้สึกจะไม่จบง่ายละ เอาเป็นว่าติดตามตอนต่อไปครับ

ตามติดชีวิตเด็กโข่งสร้างเกมส์ ตอนที่ 4

เนื่องจากเขียนเกมส์และทดสอบบนโทรศัพท์มือถือของตัวเองหน้าจอ 4 นิ้วเหมาะกับการเล่นเกมส์มาก แต่การแสดงผลบน Tablet ขนาดหน้าจอ 7 นิ้ว 10 นิ้ว การแสดงผลต้องต่างกัน ก็เลยได้ออกแบบ Layout สำหรับหน้าจอขนาดต่างๆ ดังนั้นต้องมีการออกแบบสำหรับหน้าจอขนาดต่างๆ ดังนี้

คุณมะระมาเป็น Game Tester และให้คำแนะนำอีกเช่นเคย เนื่องจาก Game Tester บอกว่าคนใช้ 2 มือจับ Tablet ขนาด 7 นิ้ว ปุ่มเลือกตอบต้องพอดีกับการจับเพื่อให้นิ้วโป้งกดได้ถนัดก็เลยจัด UI แบบที่ต้องการ ได้ผลลัพท์ได้เป็นนี้ครับ


คุณมะระทดสอบเกมส์บน Tablet ขนาดหน้าจอต่างกัน สังเกตวิธีการจับเครื่องก็เลยเข้าใจว่าจะต้องออกแบบยังไง



อ้อ ลืมบอกผู้สนับสนุนให้ยืม Tablet มาทดสอบ คือ Gadget Plus อยากได้ Tablet 7 นิ้วคุณภาพสูงยี่ห้อ Ainol ก็ติดต่อคุณมะระได้ที่ gumaraa[at]gmail.com ครับ ตอนต่อไปจะทำอะไร เดี่ยว Blog มาให้อ่านอีกครั้งครับเพราะยังไม่จบ ติดตามตอนต่อไป…

ตามติดชีวิตเด็กโข่งสร้างเกมส์ ตอนที่ 3

หลังจากแก้ไขเกมส์ตามคำแนะนำของ Game Tester คือคุณมะระ ก็เลยคิดว่าน่าจะออกแบบหน้าตาเกมส์จริงๆ จังๆ ดูบ้าง เอาแบบรวดเร็วไม่คิดมากจะได้ออกรุ่นทดสอบได้อย่างจริงจัง มีไอเดียมาจากเพื่อนที่ทำงานบอกว่าก็ทำเป็นกระดานดำ ไหนๆ จะเล่นบน Tablet อยู่แล้วก็เป็นรูปกระดานดำดีกว่า ~ เหมือนพกกระดานชนวนอิเลคทรอนิกส์ 🙂 เอ้า ตามคำขอก็เลยหา background ใส่ลงไปเพิ่มเติมได้หน้าจอของเกมส์เป็นแบบนี้


เพิ่มหน้าวิธีการเล่นและเทคนิคการคิดให้ด้วย

อ้อ ลืมบอกไปว่าเปลี่ยนฟอนต์จาก Roberto ที่เป็นฟอนต์หลักของ Android 4.0 มาเป็น Arabica ฝีมือออกแบบฟอนต์คนไทย เจ้าของเดียวกับฟอนต์ Super Store นั่นเองครับ

ตามติดชีวิตเด็กโข่งสร้างเกมส์ ตอนที่ 2

หลังจากได้แนวคิดของเกมส์ วิธีการเล่น กติกาการเล่น ไปเมื่อครั้งที่แล้ว ก็มาถึงส่วนที่ยากที่สุดคือ ออกแบบหน้าตา, เขียนเกมส์ และ ทดสอบในแต่ละขั้น ผมเลือกการออกแบบในรูปแบบที่ง่ายต่อการปรับแก้ คือเป็น Text แสดงข้อความ มีปุ่มกดเลือกคำตอบ ตอบถูกก็คิดคะแนนออกมาตามสูตรคำนวณคะแนนที่กำหนดไว้ในครั้งที่แล้ว ถ้าตอบผิดก็แสดงกล่องข้อความบอกคะแนนที่ได้และให้กำลังใจในการเล่นครั้งต่อไป ความยากง่ายของเกมส์ ซึ่งเบื้องต้นจะให้จำนวนตัวเลขก่อน ซึ่งจำนวนตัวเลขจะเพิ่มทีละ 1 หลัก ต่อด่านหลัก เช่น ด่าน 1 มีเลขให้บวก 2 ตัว, ด่าน 2 มีเลขให้บวก 3 ตัว ไปเรื่อยๆ แต่จำนวนตัวเลขสูงสุดจะอยู่ที่ด่าน 9 คือมีตัวเลขให้บวก 10 ตัว และคงที่ไปเรื่อยๆ ซึ่งตัวเลขเหล่านี้จะถูกสุ่มมาตามจำนวนตัวเลขที่ด่านนั้นๆ ต้องการ และตัวจับเวลาจะนับถอยหลัง 20 วินาทีหากหมดเวลาก็เล่นใหม่ ดังที่ได้เขียนไปในตอนที่แล้ว หน้าจอโปรแกรมเป็นแบบนี้ครับ



เพิ่มรายละเอียดเข้าไปอีกหน่อย

ทดลองเล่นเบื้องต้น และได้ Game Tester จำเป็นเพิ่มมาอีกคน คือ คุณมะระ ในฐานะที่นั่งติดกันก็เลยให้ช่วยเล่นหน่อย ปรับตรงไหน แก้ตรงไหนก็ว่ากันไป เอาเป็นว่าได้แก้หลายจุดจนพอใจ Game Tester ล่ะครับ อ้อสำหรับท่านที่อยากเขียน Mobile App หรือ Mobile Game ดูบ้าง ลองศึกษาการเขียน Mobile App ได้ที่http://androidthai.in.th?ได้ครับ ผมก็เรียนกับมาสเตอร์อึ่งผ่านเว็บไซต์และยูทูปนี่แหละครับ (ไม่เคยได้เรียนกับตัวจริงสักที)
… ติดตามตอนต่อไป