android: my first app
ไม่นานมานี้ได้มีโครงการกับเพื่อนๆว่าเราอยากจะทำเกมส์กัน แต่พอเรียนจบมาทุกคนก็แยกย้ายไปทำงานทำการ ไม่มีใครมานั่งโต้รุ่งบ้าเกมส์ด้วยกันอีกต่อไป คราวนี้กลับมาคุยกันอีกครั้งพร้อมโปรเจคใหม่ว่าอยากลองทำเกมส์บนแพลทฟอร์มอื่นดูบ้าง ที่เห็นหลักๆก็มี Java(J2ME), iPhone และ Android ก็ถกเถียงกับอยู่นานจึงได้ข้อสรุปว่า ลองทำบนแอนดรอยดีกว่า เพราะบน iPhone เขาน่าจะมี apps มากมายแล้ว ประกอบกับต้องใช้ mac เขียน ซึ่งไม่ใช่ทุกคนจะมีเครื่อง พอตกลงได้ว่าจะทำบนแอนดรอยก็ไปหาเอกสารอ่าน ซึ่งกูเกิ้ลก็ทำไว้ค่อนข้างดี แล้วก็ดาวน์โหลด SDK และ Eclipse plugin มา ก็ได้เวลาเริ่มทำแอพชิ้นแรก ซ้อมมือก่อนทำเกมส์จริงจัง โดยภาษาที่ใช้เขียนคือ Java ซึ่งพอเป็นบ้างอยู่แล้ว ทำให้ต่อยอดได้ง่ายหน่อย
ลองเกมส์ง่ายๆก่อน
สรุปว่าจะลองทำเกมส์ขำขำหนึ่งชิ้น คือ Color or Word ซึ่งมาจากทฤษฎีทางจิตวิทยาชื่อ Stroop Effect ง่ายๆคือ แสดงอักษรภาษาอังกฤษเป็นชื่อสี และสีอักษรที่ไม่ตรงกับคำ จากนั้นให้ดูว่าคำสั่งให้เลือก Color หรือ Word ก็ให้เลือกให้ถูก ตัวเกมส์ก็ง่ายๆ ตรงไปตรงมา เขียนให้สุ่มสีสุ่มคำและสุมโจทย์ จากนั้นก็นับคะแนนไปเรื่อยๆ โดยมีเวลาในการตอบแต่ละข้อจำกัด ถ้าคะแนนมากขึ้นเวลาก็จะลดลงจนถึงระดับหนึ่ง หลังจากนั้นก็อยู่ที่สมาธิของแต่ละคนว่าจะเล่นต่อไปได้อีกนานแค่ไหน(ตอบผิดเกมส์จบ)
เริ่มเขียน
สรุปทุกอย่างได้แล้วก็เริ่มลงมือเขียน ซึ่งอินเตอร์เฟสทั้งหลายในแอนดรอยนั้นจะใช้ไฟล์ XML ในการควบคุมการแสดงผล และการโปรแกรมก็ใช้ Java แบบที่คุ้นเคย ก็เริ่มจากจัดวางอินเตอร์เฟสคร่าวๆในแต่ละหน้า ว่ามีทั้งหมด 4 หน้าหลักๆ คือ หน้าแรก, หน้าเกมส์, หน้า highscore ในเครื่อง และหน้า online highscore โดยแต่ละหน้าจะมีไฟล์ XML คนละไฟล์ทำใหควบคุมอินเตอร์เฟสแยกกันได้ง่ายๆ
เมื่อเสร็จอินเตอร์เฟสก็เขียนตัวเกมส์ หนักที่ java และ algorithm ล้วนๆ แต่ด้วยความที่เกมส์มันง่ายๆ เลยไม่เสียเวลามากนัก เขียนครึ่งหนึ่ง ทดสอบอีกครึ่งหนึ่ง โดยรันบน emulator เล่นไปเรื่อยๆได้เหมือนบนเครื่องจริง
จากนั้นก็วุ่นวายอยู่กับการเก็บ highscore ในเครื่อง โดยเก็บเป็นฐานข้อมูลบน sqlite ที่มากับเครื่องอยู่แล้ว และสุดท้ายก็คือ online highscore ทำให้อัพโหลด highscore ขึ้นมาแชร์กันได้ ข้างเซิฟเวอร์นั้นใช้ php+mysql เขียนเพื่อเก็บและแสดงคะแนน ส่วนฝั่งแอนดรอยก็ใช้ Webview ที่มีมาให้อยู่แล้ว
สุดท้ายคือหางาน art สวยๆมาใส่ ก็ได้น้อง Girisan มาวาดรูปและออกแบบให้ ตั้งแต่อินเตอร์เฟส ตัวละคร ไปยันไอคอนเกมส์ ซึ่งทั้งหมดเข้ากับคอนเซปต์และดูดีมากมายเลยทีเดียว(เราคงไม่มีปัญญาทำเองแน่ๆ) เมื่อได้งาน art มาก็ทำ layout และใส่รวมลงไปกับเกมส์ จัดหน้านิดหน่อยก็ดูราศรีจับขึ้นมาเลยทีเดียว
เสร็จแล้ว ยังไงต่อดี
ถึงตรงนี้แล้วยังไม่เคยได้ลองบนเครื่องจริงเลย(เพราะไม่มี) ก็เลยเอาวะ ลงทุนหน่อย เพราะโทรศัพท์เครื่องเดิมก็เก่ามากมายอยากจะเปลี่ยนมานานแล้วแต่ไม่มีแรงจูงใจ แอนดรอยนี่ก็ดูมีอนาคตดี ก็เลยไปหาเครื่อง T-Mobile G1 ถูกๆมาได้ เป็นของมือ 3-4 สภาพพอทน แต่ราคาโดนใจมาก(หลักพัน) ก็สอยมาเลยแล้วลองลงดู โอ้!เล่นได้จริงๆด้วย ตัวโทรศัพท์ก็น่าประทัปใจไม่น้อย อาจจะสู้ iPhone ไม่ได้ แต่ถ้าเทียบกับ Win…. Mo…. แล้วกินขาดแน่นอน
เมื่อทดสอบจนพอใจแล้วก็ได้เลยเวลาอัพโหลดขึ้น android market ซึ่งตรงนี้ก็ไม่ยุ่งยากอะไร พี่กูเกิ้ลเขาเตรียมไว้ให้หมดแล้ว สมัครสมาชิก รอ approve แล้วก็ไปต่อได้เลย ทำแพคเกจ .apk โดยต้องกำหนดเวอร์ชั่น แล้วใส่ release key จากนั้นก็พร้อมอัพโหลด
ผ่านไป 24 ชั่วโมง
จากรายงานของ android market ว่ามีคนโหลดไปทั้งหมด 485 คน และยัง Active อยู่ 379 คน(คือไม่ uninstall ออก) ผลตอบรับก็มีคนคอมเมนต์ดีบ้าง เกมส์เล่นสนุกแปปเดียวแล้วน่าเบื่อบ้าง ต่างๆความเห็นกันไป ส่วน highscore ที่มีคนอัพโหลดมานั้นตอนนี้แต้มสูงไปจนคนทำเกมส์เองก็เล่นไม่ชนะแล้ว(ไม่รุมันเล่นได้ไง) ก็ถือว่าเป็นเสน่ห์อีกแบบนึงของเกมส์บนมือถือ จากนี้ก็คงเริ่มทำเกมส์จริงจังซักเกมส์ตามที่วางแผนไว้ซักที


No comments yet.