คลังเก็บป้ายกำกับ: beelony

เลิกทำเกม Beelony

หลังจากที่ผมเปิดตัวเกม Beelony บน Facebook ไปได้สองเดือน ผมก็ตัดสินใจเลิกทำมันต่อด้วยเหตุผลดังต่อไปนี้

  1. ไม่สนุก อันนี้น้องชายผมซึ่งเล่นเกมเก่งยืนยัน เขาบอกว่าเกมสนุกคือเกมที่ต้องมีภาพสวย ๆ และมีด่านให้เล่นเยอะ ๆ ซึ่งเกมที่ผมสร้างมันตอบโจทย์ตรงนี้ไม่ได้ มันไม่สวยเด่น มันมีด่า่นน้อยจริง ๆ
  2. ผมวาดรูปไม่เก่ง ถ้าอยากได้ภาพสวย ผมมีทางเลือกสองทาง คือ หัดวาดรูปให้เก่ง กับ จ้างคนเก่ง ๆ มาทำงานให้
  3. การหัดวาดรูปให้เก่ง ต้องใช้ความมานะพยายาม หัดซ้ำแล้วซ้ำเล่าจนเก่งขึ้นมา ซึ่งมันเสียเวลาอย่างมาก ในขณะที่การจ้างคนเก่ง ๆ มาทำงานให้ มันเสียเวลาน้อยกว่า แต่มันก็ต้องมีต้นทุนเงินตราเกิดขึ้น ซึ่งผมไม่ได้ตั้งงบประมาณสำหรับเรื่องนี้เอาไว้
  4. ผมพอจะเขียนโปรแกรมคอมพิวเตอร์เองได้ ไม่ต้องจ้างใครให้มาทำ แต่เมื่อเกมมีความซับซ้อนมากขึ้น กลายเป็นว่าต้องทดสอบมากขึ้นหลายเท่าตัว ทำให้เสียเวลาถึงสองในสามของเวลาในการพัฒนาเกมในแต่ล่ะช่วง เพราะผมไม่ใช่นักทดสอบโปรแกรมฯมืออาชีพ (ซักเท่าไหร่)
  5. การปรับรูปแบบของเกมเพื่อให้ตอบสนองต่อเกมเมอร์ เป็นเรื่องง่ายในทางทฤษฎี แต่เป็นเรื่องยากในทางปฏิบัติ เพราะทุกครั้งที่เปลี่ยน มันต้องรื้อแหลกและต้องใช้เวลา
  6. น้องชายผมบอกผมว่า ใน Facebook ยังมีเกมเจ๋ง ๆ อีกเยอะที่ไม่ดัง ไม่มีคนเล่น ดังนั้น การตั้งหน้าตั้งตาทำเกมให้ “เจ๋ง” แค่อย่างเดียว มันก็ยังไม่พอ ดังนั้น ต้องทำให้มัน “โดน”
  7. ผมต้องใช้เงินเพื่อทุ่มเทในเรื่องอื่นซึ่งกะทันหันกว่า การจ่ายเงินกับ Infrastructure และโฆษณา เพื่อใช้ขับเคลื่อนเกมที่คุณภาพยังไม่ถึงขั้น ถือเป็นความฟุ่มเฟือยเกินไป ไม่ควรดื้อรั้น หลอกตัวเอง
  8. การทำเกมให้ “โดน” เป็นศาสตร์ลี้ลับ ไม่มีสอนในโรงเรียน หาไม่เจอจากประสบการณ์ พรสวรรค์ก็ไม่ช่วยอะไร มีแต่บุญวาสนาอย่างเดียว ที่จะชี้นำพาไปได้

สรุปค่าเสียหายสำหรับการขับเคลื่อน Beelony ตลอดสองเดือน ผมเสียเงินไปประมาณ 24,000+ บาท เป็นการเสียไปเพื่อได้ประสบการณ์เพียงอย่างเดียวจริง ๆ นะเนี่ย!!!!

การยืนบนพื้นที่แคบ ๆ โดยไม่ให้ล้ม

หลังจากผมปล่อย Beelony ออกมาให้ผู้เล่นได้เล่นมาเป็นเวลาหนึ่งเดือน ผมก็ได้เจอเรื่องน่าสนใจหลาย ๆ อย่าง เลยว่าจะเล่าให้อ่านกันดังนี้

  • ความน่าสนใจของเกมบน Facebook จะขึ้นอยู่กับ คุณภาพ, แบรนด์ และราคา
  • เกมบน Facebook จะไม่มีทางเปิดตัวได้เลย ถ้าไม่มีการโฆษณา
  • การโฆษณาบน Facebook มีราคาสูง ไม่เหมือนกับการโฆษณาผ่าน Adwords แต่ถึงแม้มันจะมีราคาสูง มันก็เข้าถึงผู้ใช้งานบน Facebook ได้ดีกว่าวิธีอื่น ๆ
  • มันมีเทคนิคในการโฆษณาบน Facebook ที่ราคาต่ำ ๆ แต่เป็นเทคนิคที่ผู้ทดลอง ต้องลองเจ็บตัวซ้ำ ๆ ซาก ๆ เองก่อนถึงจะได้รู้
  • ไม่มีทางที่เกมบน Facebook จะเปิดตัวมาแล้วดังเปรี้ยงปร้าง หรือมีคนเข้ามาเล่นอย่างล้นหลามในทันที ยุคสมัยนั้นมันจบไปแล้ว ต้องรับรู้ไว้เลยว่ามีคู่แข่งขันเยอะมาก ๆ
  • ในโลกมีคนเก่ง ๆ อยู่เยอะแยะ ออกไปสู้กับคนอื่นเขา ต้องกินให้น้อยกว่าเขา แต่ต้องทำให้ได้พอ ๆ กับเขา หรือด้อยกว่านิดหน่อยก็ยังดี
  • การลอกเลียนแบบเกมที่กำลังเป็นที่นิยมอยู่ คือการฆ่าตัวตาย เพราะผู้เล่นย่อมเลือกเล่นเกมต้นแบบซึ่งมันดีกว่าอยู่แล้ว
  • ผู้เล่นจะมีเกมในดวงใจอยู่ 2 ถึง 3 เกม จงทำให้เกมของเราเป็นเกมในดวงใจเกมที่ 4 หรือ 5 เพราะเวลาของผู้เล่นก็ไม่ได้มีมากมายอะไร เขาย่อมไม่มาสนใจเกมได้เป็นสิบ ๆ เกมหรอก
  • การเตรียม Infrastructure ใหญ่โตเอาไว้ เพราะคิดว่าจะมีผู้เล่นมากมาย กรูกันเข้ามาเล่นในฉับพลันทันที คือความเสี่ยง เพราะถ้าไม่มีผู้เล่นมากมายตามที่คิดเอาไว้ ต้นทุนของ Infrastructure มันจะย้อนกลับมาทำให้เราล่มจมทันที
  • การใช้ Cloud Computing เป็น Infrastructure นี่มันโคตรดีมาก ๆ เพราะถึงแม้ราคาปอนด์ต่อปอนด์จะแพงกว่าพวก Virtual Private Server หรือ Dedicated Server แต่ถ้าถึงเวลากลียุคทางต้นทุน มันก็ยืดหยุ่นจนนำพาให้เรารอดได้เหมือนกัน
  • การลดต้นทุนการพัฒนา, ลดต้นทุน Infrastructure และลดต้นทุนโฆษณา โดยไม่ทำให้การขับเคลื่อนเกมบน Facebook ได้รับผลกระทบ คือ ปัจจัยสำคัญที่จะทำให้เกมบน Facebook อยู่รอดไปได้เรื่อย ๆ โดยไม่เจ๊งบ๊งไปซะก่อน
  • คนอเมริกาเล่นเกมบน Facebook เยอะก็จริง แต่คนฟิลิปปินส์และคนอินโดนีเซีย ก็เล่นเกมเยอะไม่แพ้ชาติใดในโลกเหมือนกัน
  • การเขียนโปรแกรมคอมพิวเตอร์เก่ง, การวาดรูปเก่ง และการทำเสียงประกอบเกมได้เก่ง แทบกลายเป็นปัจจัยรองไปเลยในการทำเกมบน Facebook เพราะสิ่งที่สำคัญมันคือการจับกลุ่มผู้เล่นแบบเฉพาะเจาะจง และการทำให้ผู้เล่นจงรักภักดีต่อเกมต่างหาก ซึ่งทักษะที่จะทำได้มันเป็นทักษะทาง “การตลาด” เฟ้ย ไม่ใช่ทักษะทาง “วิทยาศาสตร์” เล้ย
  • ถ้าลูกเล่นหรือรูปแบบของเกมมันไม่โดน ต้องกล้าหาญที่จะรื้อถึงแก่นในทันที และถ้าการรื้อมันทำให้ผู้เล่นเกิดผลกระทบ ก็ต้องเตรียมการเพื่อชดใช้ให้แก่ผู้เล่น อย่างสมน้ำสมเนื้อเหมือนกัน
  • ผู้เล่นที่จงรักภักดีเป็นสิ่งที่สำคัญมาก เพราะเขาจะพยายามโน้มน้าว ชักชวน เผยแพร่ เพื่อให้เพื่อน ๆ ของเขาเข้ามาเล่นเกมที่เขากำลังเล่น ถึงแม้เพื่อนของเขาจะเล่นเกมอื่นอย่างติดหนึบอยู่แล้วก็ตาม
  • ภาษาอังกฤษเป็นสิ่งที่สำคัญมาก ในการสื่อสารกับผู้เล่นเกมบน Facebook ดังนั้น ต้องเขียนให้เป็นภาษาเขียน ใช้ไวยากรณ์ให้ถูกต้องแบบที่ฝรั่งเขาใช้ ไม่ใช่แบบที่คนไทยใช้สื่อสารกันเอง
  • การแปลข้อความในเกม ให้เป็นภาษาท้องถิ่นต่าง ๆ ยังไม่ใช่สิ่งสำคัญในตอนนี้

เข้ามาพร้อม ๆ กันเลยพวก

ช่วงนี้ผมกำลังนั่งซ่อม Beelony ครับ เพราะเจอกับปัญหา Concurrent!!!

ในทางคอมพิวเตอร์อ่ะ ไอ้เจ้า Concurrent จะหมายถึง อะไร ๆ ที่มันทำพร้อม ๆ กัน ทำขนานกัน แย่ง ยื้อ ยุด ฉุด กระชาก ทรัพยากรชิ้นเดียวกัน ซึ่งในที่นี้ก็คงหนีไม่พ้น “ข้อมูล” ซึ่งบรรจุอยู่ใน “สดมภ์” โดยประกอบอยู่ใน “ระเบียน” ของ “ตาราง” ใน “ฐานข้อมูล”!!!

ว่ากันตามจริงแล้ว ไอ้การทำเกมให้เป็นแบบ MMORPG นี่มันก็หินเหมือนกันเน้อะ เพราะมีความเป็นไปได้ที่ผู้เล่นซึ่งมีมากมายซะเหลือเกิน ที่เล่นในช่วงเวลาแคบ ๆ เวลาหนึ่ง จะพร้อมใจกันเข้าใช้ข้อมูลชุดเดียวกัน ซึ่งบังเอิ๊ญบังเอิญที่ชุดข้อมูลที่ว่านั้น ต้องการความสงบในการปรับปรุงเป็นอย่างมากซะด้วย คือ ขอให้ทำให้เสร็จก่อนได้มั้ยเว้ยเฮ้ย แล้วค่อยมาดึงเอาไปใช้อ่ะ ไม่ใช่กำลังเปลี่ยนแปลงอยู่ครึ่ง ๆ กลาง ๆ ก็ดันดึงเอาไปแบบนี้ งี้ก็เอาไปผิดอ่ะเด้!!!

ที่นี้เมื่อเจอกับปัญหาแบบนี้เราจะแก้ยังไงดี ติ๊กต่อก ๆ ๆ ๆ ในขั้นแรกผมก็คิดเอาไว้สองแบบ แบบแรก คือ การใช้กลไกของ RDBMS ทำการล็อกมันซะเลย ไม่ให้ใครได้ใช้ข้อมูลดุ้นนั้น ๆ จนกว่าจะปรับปรุงเสร็จ หรือ แบบสอง คือ จะไม่มีการปรัปปรุงใด ๆ ทั้งสิ้น จะตั้งหน้าตั้งตาเพิ่ม “ระเบียน” ข้อมูลเพียงอย่างเดียว แล้วเวลาจะใช้งานก็ค่อย ๆ เอา “ระเบียน” เหล่านั้นมายำรวม ๆ กัน แล้วทบยอดกันอีกทีนึง!!!

สุดท้าย ผมเลือกแบบที่สองอ่ะ เพราะมันง่ายดี แต่คงต้องลองตอนทดสอบใหญ่อีกทีว่ามันจะโอเคป่าว?

ฤดูใบไม้ผลัดใบ

เมื่อหลายวันก่อน ผมเพิ่งจะไปตบเอา Samsung Galaxy Cooper มาจากร้านขาย Samsung ที่เซ็นทรัลปิ่นเกล้า หลังจากที่ยืนคุยกับพนักงานแค่แป๊บเดียว

เห็นได้ชัดว่าเป็นการตัดสินใจที่ว่องไวมาก และเพราะการตัดสินใจครั้งนี้นี่แหล่ะ ที่ทำให้ผมได้ครอบครอง Smart Phone เป็นการส่วนตัวเครื่องแรกในชีวิต!!!

หลังจากได้ทดลองอย่างจริงจัง ทำให้เห็นว่าผมต้องทบทวนแนวความคิดเกี่ยวกับ Software as a Service ใหม่ เพราะเดิมนั้น แนวคิดเรื่อง SaaS จะเน้นที่การส่งผ่านบริการซอฟต์แวร์ให้ผู้ใช้งาน ผ่านทาง Web Browser เป็นหลัก ซึ่งแสดงว่าต้องมีการใช้โปรโตคอล HTTP เพื่อการสื่อสารข้อมูล

อีกทั้งยังเน้นที่ความสะดวกรวดเร็ว เพราะไม่ต้องมาโหลดและติดตั้งซอฟต์แวร์ที่เครื่องฯ ก็สามารถจะใช้บริการผ่านทาง Web Browser ได้ ซึ่งมันเหมาะมากถ้าเราต้องใช้บริการผ่านเครื่องฯที่เขาล็อกสิทธิ์เอาไว้

แต่พอผมมาใช้ Smart Phone มันทำให้ผมรู้สึกอีกแบบนึง คือ ผมรู้สึกว่าผมไม่อยากใช้ SaaS ผ่าน Web Browser เลยอ่ะ คือ รู้สึกว่า Web Browser กลายเป็นตัวเกะกะกินทรัพยากรไป แล้วก็รู้สึกอยากจะใช้ SaaS ผ่าน Mobile Application แทน!!!

ผมมองว่านี่เป็นผลทางจิตวิทยาเลยนะ มันหมายความว่าถ้าใครใช้ Smart Phone ก็จะทำให้คน ๆ นั้นรู้สึกว่า อยากใช้บริการ SaaS ที่มันเหมาะกับ Device ที่ตัวเองใช้อยู่ โดยไม่สนใจหรอกว่ามันจะต้องผ่านโปรโตคอลอะไร คือ ขอแค่มัน Input -> Process -> Output ให้มันเหมาะกับ Device เป็นพอ

พอเห็นว่าเป็นแบบนี้ ผมก็เลยคิดว่า หลังจากผมทำ Beelony จนเป็นรุ่นเต็มและใช้จริงได้แล้ว ผมก็คงจะต้องมาทำโครงการ เพื่อสร้าง Mobile Application ขึ้นมาเป็นสินทรัพย์อีกซักตัวคงจะดี คือ ทำเตรียม ๆ เอาไว้ ต่อไปขยายใหญ่โตได้ จะได้มีช่องเติบโตต่อไป

Beelony รุ่น Alpha แบบจัดเต็ม

ถ้าเราเล่น Beelony ไปเรื่อย ๆ ก็จะได้รวงเยอะ ๆ เหมือนในภาพข้างล่างนี้ บวกกับไอเท็มอีกเยอะแยะที่จะผลิตได้ ซึ่งมันเยอะเลยขี้เกียจจะนับ T-T

แต่ถึงมันจะเป็นรุ่น Alpha แต่มันก็มีคุณสมบัติใกล้เคียงกับตัว Production นะเอ้อ