การทำ Application สำหรับ Multi-platform

หายไปนานเลย กลับมาเขียนอีกทีก็วันที่ 10 แล้วช่วงนี้งานยุ่งมาก แต่ยังคงถามตัวเองว่ามันจำเป็นต้องยุ่งด้วยเหรอ เพราะรู้สึกกว่าที่มันเป็นแบบนี้นั่นเพราะว่าการจัดการที่ล้มเหลว และการวางแผนที่ไม่ดีรึเปล่า เรื่องที่ไม่น่าจะเกิด ก็เลยเกิด.. บ่นไปนั่น

งานที่ทำอยู่หลักๆเป้าหมายคือให้มันสามารถรันได้หลายๆ platform ครับ ดังนั้นโครงสร้างของ application ที่ทำจึงพยายามออกแบบให้อยู่ในลักษณะของ interface หรือ abstract class ถ้าจะ compile บน platform ไหนก็ implement งานตาม interface โอเค อันนี้ไม่ค่อยมีปัญหาพอรับได้

ปัญหาที่สำคัญมากอีกปัญหาหนึ่งคือ Architect ของ OS บน Windows มี COM, ActiveX แล้วแบบ Port ลง OSX มันจะเป็นอะไร? คนที่ทำ Windows มาก็คงไม่รู็ ส่วนคนที่ทำ OSX มาก็คงรู้แต่เนื่องจาก Application พัฒนาบนพื้นฐานของ COM,  ActiveX อย่างที่ว่ามา มันจะมี technology ที่ใช้แทนกันได้บน OSX หรือ? แล้วถ้าแทนกันได้ จะต้องมี work around อะไรบ้าง แล้วใครที่จะรู้เรื่องแบบนี้

เรื่อง Graphics ตอนนี้สนับสนุนทั้ง Direct3D, OpenGL แล้วสร้าง interface graphics กลางเอาไว้ อันนี้ไม่มีปัญหามากนักสำหรับเรื่องตัว core engine แต่ไอ่ขอบนอกๆเช่นพวก wglXXXXX นี่แหล่ะตัวดี อันนี้พูดถึง OpenGL นะครับ เพราะว่า Direct3D ไม่ Cross platform ปัญหาที่ใหญ่ที่สุดของ Graphics engine คือ Driver ถ้า User อาม่ามาใช้เครื่อง จะบอกเค้ายังไงดีให้เข้าใจว่าต้อง update driver นะ ยากนะ อาม่าส่งเมล์ยังไม่เป็นเลยเหอะ

ที่นี้เรื่องข้าม OS ไม่ว่า แค่ข้ามรุ่น Windows คือ XP, Vista, 7 แบ่งเป็นแบบ 32 และ 64 bit แม่เจ้าเอ๊ย ไหนจะเจอเรื่อง Default Folder, Access write, UAC, Register key locations, Installer MSI (ที่เป็นบั๊กของ Vista ไม่รู้ว่าทำไมไม่แก้กัน), Network, Permission มั่วๆไปกะ UAC หนะแหล่ะ และอีกเพียบ แล้วนี่ถ้าเป็น MAC OS หลายๆรุ่น มันจะมีปัญหาแบบนี้เหมือนกันมั๊ย

ถึงตรงนี้ต้องขอคาระวะคนที่ทำเกมลง multi-platform  ไอ่แบบลงทั้ง PS3, PS2, Xbox360, PC  ทำได้เนาะ

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: