ปัญหา Java heap space Out of memory by

30
Sep
4

จากที่ได้ทำโปรเจ็คเกมที่ผ่านมา ด้วยตัวเกมนั้นมีขนาดใหญ่จำนวน ไฟล์จึงมีมากตามจึงทำให้เกิดปัญหา Java Heap Space: Out of memory ซึ่งจะทำให้โปรแกรมปิดตัวลง ซึ่งวิธีแก้จากการหาใน google จะมีวิธีช่วยได้บ้างตามนี้

1. Windows -> Preferences
2. Java -> Installed JREs
3. เลือก Adobe Flash Builder แล้วเลือก Edit..
4. เพิ่ม VM arguments -Xmx1024M (หรือตามใจผู้ใช้แต่คำพนึงถึงแรมเครื่องด้วย)

ซึ่งจากที่ลองทำแล้วปรากฎว่าการDebug ช้าลงเล็กน้อยและกินแรมมากขึ้นซึ่งอาจจะทำให้เกิดน้อยลง(หรือป่าว?)

ที่นี้บางคนอาจจะมีปัญหาเมื่อหลังจากมีปัญหาแล้วเปิดกลับมาอีกรอบ พอรันแล้วจะขึ้น Error Watcher ซึ่งจะขึ้นกับทุก File MXML ของเรา ซึ่งวิธีแก้ที่ผมใช้คือ แก้ไขและเซฟทีละไฟล์ครับ – -” (เคาะสเปซและลบ ทีละไฟลจนครบ) ซึ่งหลังจากนั้นก็จะกลับมาใช้ได้ปกติแล้วล่ะครับ

Social Game Design Criteria ตอนที่ 2 by

30
Sep
1

จากที่เราพูดถึงในตอนที่1 โจทย์สำคัญของเราเลยก็คือ

  • ทำไงให้คนเล่น
  • ทำไงให้คนบอกต่อ
  • ทำไงให้คนติด
  • ทำไงให้คนจ่ายตัง

โดยที่คำตอบของแต่ละข้ิอ ไม่ใช่คำตอบที่ตายตัวครับ

เกมแต่ละเกมก็มีจุดที่โดดเด่นต่างๆกันไป แต่ว่ามีบางอย่างครับ

ที่เราควรจะคำนึงถึงตอนที่เราพยายามจะตอบโจทย์แต่ละข้อ

1.ทำไงให้คนเล่น

  • กลุ่มคนเล่นคือใคร
  • ธีมของเกมคืออะไร
  • เริ่มต้นยากไหม
  • พยายามทำให้แรงเสียดทานในการเล่นน้อยที่สุด
  • Tutorial คือสิ่งจำเป็นที่สุด

2.ทำไงให้คนบอกต่อ

  • คนเล่นได้ของรางวัลจากการบอกต่อ
  • ผู้เล่นเล่นคนเดียวให้สำเร็จไม่ได้
  • เพื่อนเยอะ = ผลประโยชน์เยอะ
  • มีเหตุให้บอกต่อเยอะๆ แต่ต้องไม่บังคับ
  • ระบบ Social ฝังอยู่ในระบบการเล่นหลักของเกม

3.ทำไงให้คนติด

  • ทำให้คนเล่นได้ค้นหาอะไรเรื่อยๆ
  • มีการเติบโตเรื่อยๆ
  • มีช่วงเวลาที่มีความสุขในเกม ลองนึกถึง จังหวะที่เก็บ Collection ครบเซ็ตสิครับ
    จริงๆความสุขไม่ใช่ของรางวัลที่ได้ แต่เป็น เฮ้อ.. ครบซะที
  • ออกแบบสำหรับคนเล่นหลายๆประเภท (Achievers, Explorers, Socializers, Killers)
  • เพิ่มส่วนของ คุณค่าภายใน ในเกม

4.ทำไงให้คนจ่าย

  • สิ่งที่ให้ คุณค่าภายใน มากๆ
  • สำหรับคนเล่นที่ไม่ต้องการรอ
  • Premium Content ใ้ห้คนเล่นรู้สึกพิเศษกว่าคนอื่น
  • เมื่อคนเล่นจ่ายตังไปแล้วเขาจะอยากจ่ายอีก ความรู้สึกเหมือนลงทุนไปแล้ว
    หรือลองนึกว่าคุณซื้อนิยายที่ทั้งหมด 5 เล่มจบ คุณซื้อไปแล้ว3เล่ม คุณจะซื้อเล่ม4,5ต่อให้ครบไหม

ก็สรุปประมานนี้ครับ บางข้อก็มีสอดแทรกความเห็นผมลงไปด้วย

สุดท้ายนี้ก็ขอขอบคุณ พี่ตวง จาก Digitopolis อีกทีครับ

อ่านตอนที่ 1

หัดสร้าง Application บน Facebook ด้วย Heroku (Free Cloud Hosting) by

30
Sep
6

บทความนี้จริงๆ ก็เหมือนของเก่าเล่าใหม่ เพราะเคยเขียนไปนานมากแล้ว แต่ครั้งนี้ Facebook ได้ประกาศจับมือกับ Heroku ทำให้เรามี Cloud Hosting ได้ใช้กันฟรีๆ ไม่ต้องไปหา host เองให้วุ่นวาย (แต่เฉพาะการทำ app ง่ายๆ เล็กๆ น้อยๆ นะครับ ถ้าจะทำจริงจัง ควรไปเช่า host แบบจ่ายเงินจริงจังอยู่ดี) ซึ่งตัว Heroku นั้นมีข้อดีอย่างมากอย่างแรกคือมี https ในตัว ทำให้ผู้ที่ต้องการจะสร้าง application บน facebook แบบง่ายๆ ไม่ต้องไปวุ่นวายหา Host ใช้งาน และหาทางจดค่าโดเมนและค่า https certificate แบบรายปีให้วุ่นวาย ผมจึงขอเขียนเป็นบทความใหม่ดังนี้ครับ

องค์ประกอบจำเป็นสำหรับนำ application ขึ้น Facebook

รูปแสดง Architecture ของเกม facebook ทั่วๆ ไป

  • —เตรียม Hosting สำหรับเก็บไฟล์ รองรับ load การใช้งานทั่วไป (ในที่นี้ของเราคือ Heroku ครับ)
  • —สร้าง Application ใน Developer ของ Facebook
  • —SDK สำหรับติดต่อกับ Facebook ภาษาต่างๆ (หลักๆ ที่ใช้คือ PHP SDK และ Javascript SDK)
  • —ตัวเกม ตัว app ที่เราสร้างขึ้น

Social Game Design Criteria ตอนที่ 1 by

30
Sep
2

ได้ไปฟังหัวข้อนี้จากงาน TGX Game Developer Conference 2011 มาก็หลายอาทิตย์แล้วครับ
ว่าจะเอามาย่อยนานแล้วก็ลืมไปเลย โดยคนพูดคือ พี่ตวงจากบริษัท Digitopolis

โดยผมจะเขียนแบ่งเป็น 2 ตอนเพื่อที่เนื้อหาจะไม่ยาวเกินไปนะครับ
ตอนที่ 1 จะพูดถึง หัวข้อสำคัญๆที่เราต้องมาคิดเกี่ยวกับการออกแบบ Social Game
ตอนที่ 2 ก็จะเป็นบทสรุปของหัวข้อต่างๆจากข้อที่ 1 ว่าสุดท้ายแล้วเราควรออกแบบเป็นยังไง

มาถึงพี่ตวงพูดถึงเรื่องของ Context Changed ก่อน ง่ายๆก็คือ

เมื่อยุคของ Social Game มาถึง สภาพแวดล้อมในการเล่นเกมก็เปลี่ยนไป

สิ่งที่เราเห็นว่ามันเปลี่ยนไปก็มีเช่น

  • เกม FREE หรือไม่ก็ราคาถูกมาก
  • ง่าย
  • คนเล่น เริ่มเกมกับเพื่อนจริงๆ
  • ไม่จำเป็นต้องเล่นพร้อมกันเดียวนั้น เวลานั้น
  • เกมต้องเป็นคนวิ่งหาผู้เล่น

ต่อมาคือ เรื่องเกณฑ์การออกแบบเกมมีด้วยกัน 4 อย่าง คือ

  • ทำไงให้คนเล่น
  • ทำไงให้คนบอกต่อ
  • ทำไงให้คนติด
  • ทำไงให้คนจ่ายตัง

สิ่งที่จะทำให้คนทำตามอย่างที่เราอยากให้ทำนั้น แบ่งเป็น2อย่าง

คือ คุณค่าภายใน กับ รางวัลภายนอก โดยคุณค่าภายในมีแรงสูงกว่า

คุณค่าภายใน เช่น ความหมาย, การเป็นเจ้าของ, ความชอบ เช่น การ WooHoo ในเกม The Sims Social ทำไปแล้วก็ไม่ได้อะไรแต่ก็อยากทำ

รางวัลภายนอก เช่น Level, Exp, Money, Badge, Stats

นอกจากนี้แล้วเรายังต้องรู้อีกว่า การจะกระตุ้นให้ผู้เล่นทำตามสิ่งที่เราอยากให้ทำนั้น
ขึ้นอยู่กับประเภทของผู้เล่นนั้นๆด้วย ซึ่งเกมก็ควรจะตอบสนองให้ได้ครบทุกกลุ่ม
โดยผู้เล่นแบ่งได้ออกเป็น 4 ประเภท ตามที่คุณ Richard Bartle ไ้ด้กล่าวไว้ดังรูปต่อไปนี้

ซึ่งพูดตามตรงว่าผมเองก็ไม่ค่อยเข้าใจ Bartle’s Player Types มากนั้น ไว้จะเก็บศึกษาต่อในโอกาสถัดไปครับ ง่ายๆคือ
Achievers เป็นพวกชอบเก็บสกิล เก็บเลเวล
Explorers ชอบที่จะค้นหาสิ่งต่างๆในเกม
Socializers พวกขา Chat
Killers พวกชอบสู้กับผู้เ่่ล่นคนอื่น


อ่านต่อตอนที่ 2

การแก้ไข ปรับเปลี่ยนเว็บไซต์ให้รองรับ HTTPS by

30
Sep
12

เนื่องด้วย facebook บังคับให้ application ทุกตัวใช้งาน HTTPS ภายในวันที่ 1 ตุลาคมนี้ ทำให้ผมต้องนั่งปรับแก้ยกใหญ่ โดยสิ่งที่ต้องแก้มีดังนี้

ต้องแก้อะไรบ้าง?

1. ทำ self-signed certificate (ใช้งาน https ได้แต่ browser จะขึ้นเตือนว่าไม่ปลอดภัย และไม่สามารถใช้งานกับ facebook app ที่อยู่ใน canvas ได้) หรือไปขอ certificate จากผู้ให้บริการต่างๆเช่น Thawte, RapidSSL, Godaddy, Verisign ฯลฯ ซึ่งต้องเสียค่าจดทะเบียน ซึ่งจะแตกต่างกันไป

2. แก้ไข code ของเราในการ link ไปแต่ละหน้าจาก http:// ให้เป็น https:// ทั้งหมด เพื่อให้คนที่ใช้งานเว็บไซต์อยู่ไม่หลุดออกจากการเชื่อมต่อ https เพียงเพราะคลิก link เปลี่ยนหน้า

3. แก้ไข code ของเราที่ call ไปยัง external site ต่างๆ เช่น banner exchange ต่างๆ (ที่จริงพวก widget เช่น google+, facebook like หรือ google analytic ก็เข้าเคสนี้ แต่เนื่องจาก code ที่ให้มาจะ auto detect ให้เองว่าเป็น https หรือไม่อยู่แล้วจึงไม่ค่อยมีปัญหานัก ยกเว้นเรา call หาไฟล์ javascript ข้างนอกเองตรงๆ ก็ต้องแก้จาก http:// เป็น https:// ด้วยเช่นกัน)

ผู้ให้บริการ SSL แต่ละเจ้าต่างกันอย่างไร?

กู้เงิน | เศรษฐกิจพอเพียง | สินเชื่อบุคคล | สมัครบัตรกดเงินสด | สินเชื่อ | เงินกู้ด่วน | ยืมเงินทรูมูฟ | เงินด่วนนอกระบบ