วันพฤหัสบดี, พฤษภาคม 20, 2553

ติดตั้ง Parkplace Amazon S3 Clone บน Snow Leopard

มีปัญหากับการติดตั้ง Parkplace บน Snow Leopard นิดหน่อย แต่ไหนๆ ติดตั้งได้แล้ว ขอจดขั้นตอนไว้ที่นี่ละกัน

อันดับแรกให้ทำตามที่ Readme บอก

  • $ gem install camping mongrel --include-dependencies
  • $ gem install sendfile
จากนั้นติดตั้ง  SQLite3 ruby plugin (ตัว SQLite ไม่ต้องติดตั้งเพราะ Snow leopard มีอยู่แล้ว)
  • $ gem install sqlite3-ruby
หลังจากทดลอง run  bin/parkplace มันจะถามหา activesupport 2.2.0 ถ้าเราไม่มีก็ให้ลงซะ
  • $ gem install rails -s http://gems.rubyonrails.org -v 2.2.0
ผมลง rails ทั้งยวงเลยเผื่อมันอยากได้อย่างอื่นด้วย เช่น activerecord จะได้มีพร้อม มาดูใน code ตอนหลังพบว่ามันต้องการสองตัวนี้

gem 'activesupport', '~> 2.2.0'
gem 'activerecord',  '~> 2.2.0'

หลังจากนั้นมันจะมีปัญหากับการเชื่อมต่อ SQLite อีก แต่ไม่ได้เป็นเพราะ activerecord ครับ แต่เป็นเพราะ package camping  มันทันสมัยไปหน่อย ให้ลบ version 2.0 ออก แล้วให้ลง 1.5.180 แทน
  • $ gem  uninstall camping
  • $ gem install camping -v 1.5.180
หลังจากนั้นสามารถเปิด parkplace ได้เลย
  • $ ./bin/parkplace

วันอังคาร, พฤษภาคม 18, 2553

เขียนเกมส์บน iPhone ด้วยภาษา Lua

หลังจากได้ข่าวว่าสามารถเขียนเกมส์บน iPhone ได้ด้วย script language ก็รีบกระโดดเข้าไปอ่านทันทีครับ


ภาษาที่เค้าใช้คือภาษา Lua ซึ่งเป็นภาษาที่ใช้ในการเขียนเกมส์อยู่แล้ว อย่างเช่น Monkey Island หรือ  Grim fandango หรือแม้แต่ Civilization V ก็ใช้ภาษานี้ ดังนั้นมันเลยเหมาะเอามากๆ สำหรับการนำมาเขียนเกมส์ และยิ่งเหมาะมากที่จะเขียนเกมส์บน iPhone เพราะการเขียนด้วย Objective-C เป็นงานที่ยากขึ้นมาทันทีเมื่อเทียบกับ Corona-Lua

(ที่เรียกว่า Corona-Lua เพราะว่ามันขี่อยู่บน Library ของ Corona ครับ ยังมีคนอื่นที่ใช้ Lua เขียนโปรแกรมบน iPhone อีกแต่เป็น Library คนละชุดกัน)

การทดลองเล่นก็ไม่ยาก ให้เอา xcode มาลงก่อน จากนั้น download corona จากเว็บไซต์ เมื่อแตก dmg ดูใน folder จะเห็น  folder ชื่อ example อยู่ด้านใน ในนั้นจะมีตัวอย่างง่ายๆ ไว้ให้ทดลอง ให้เราเอา simulator ที่อยู่ใน folder นอกสุดเปิดดู ไม่ต้องห่วงเรื่อง compile หากทดลองแก้ไข code ก็กด refresh (command+r) ได้เลย

จากการทดลองเขียนโปรแกรม "ยานร่อนลงดวงจันทร์" เขียน code ไม่ถึง 100 บรรทัด เจอของง่ายแบบนี้แค่คิดว่าต้องเขียน Objective-C ก็เริ่มท้อซะแล้ว


เกมส์นี้ง่ายๆ คือตัว module ของเราจะตกลงมาตามแรงโน้มถ่วง เราต้องคอยกดไอพ่น (ปุ่มสีแดง) ให้ยานชลอความเร็วลง ถ้ากดไอพ่นมากไปยานจะหลุดหน้าจอไปเลย แต่ถ้ากดน้อยไป ยานก็จะตกด้วยความเร็วทำให้ยานพัง ลองดู code สั้นๆ ได้ที่นี่ครับ code and graphic

ทาง Anscamobile เค้ายืนยันว่าสามารถอยู่บน app-store ได้แน่นอน เพราะสุดท้ายแล้ว code ถูก compile เป็น native ไม่ได้ทำงานอยู่บน virtual machine และเค้าบอกว่า version สำหรับพัฒนาบน Linux และ Windows กำลังจะออกมาเร็วๆ นี้

ที่สำคัญที่สุดเราสามารถเขียนโปรแกรมทีเดียว ทำงานได้ทั้ง iPhone, iPad, Android เลยครับ น่าเสียดายไม่มี BB

Reference


Lua Programming Gems  Beginning Lua Programming (Programmer to Programmer)