Programing

อ้า ก็ .. อย่างที่ว่าไว้ คือ ตอนนี้ทำโปรเจคนึงขนานกับโปรเจคที่ทำให้บริษัท คือ โปรเจค Game Animation Sequence Editor (ผมเรียกว่า GASE อ่านว่าแก๊ส (ฮา)) โดยที่โปรเจคที่ว่าตอนแรกคือทำมาเป็นตัวเสริมกับตัวโปรเจคของบริษัท (ซึ่งเป็นเกม) เพราะว่าที่บ.ยังไม่มี Tool สำหรับทำ Animation (ยิ่งไปกว่านั้น Engine เกมที่ใช้ยังเป็นของใครของมันเลย ไม่มี Engine ของบริษัทให้ใช้) ผมเลยทำ Tool นี้ขึ้นมา

ที่ผมใส่คำว่า Sequence ไปอีกตัว เพราะ ถ้ามันเป็น GAE ... มันพ้องกับคำนึงที่ไม่อยากเอ่ยงะ

คือ มันไม่ใช่ Sprite Editor ไม่ได้เอาไว้วาด Sprite แต่เป็น Tool ที่เอา Sprite นั้นมา Animate (ผมเรียกว่า Animation Sequence เพราะมันเป็นการเอามาวางเป็นลำดับ) โดยเป็น Keyframe Animation ตอนนี้บอกรายละเอียดมากไม่ได้เพราะยังไม่เสร็จไปถึงไหน อ้อ Tool ตัวนี้อาจจะต้องให้บริษัทไป แต่ผมก็ต้องทำของส่วนตัวมาใช้เองอีกอยู่ดี (เพราะว่ามีโปรเจคทำฟรีต้องใช้เหมือนกัน) คงทำคล้าย ๆ กันแต่ไม่เหมือนกัน จะได้ไม่มีปัญหากับบริษัท ...

ในขั้นนี้ผมใช้ .Net 2.0 (C#) กับ Managed DirectX 1.1 ในอนาคตอาจจะพอร์ทมาเป็น WTL หรือ MFC หรืออาจจะเป็น wxWidget ก้ได้นะ แต่ตอนนี้คือต้องทำให้เสร็จเป็นรูปเป็นร่างก่อน แฮ่ ๆๆ

ปล. ถ้าท่านใดเคยเห็น Tool แบบที่ผมว่ามานะ ... บอกผมด้วย จะได้ไม่ต้องเสียเวลาเขียนเอง (ฮา)


edit @ 2006/07/18 15:22:21

Proprietary vs Opensource

posted on 20 Jun 2006 19:14 by 9tawan in Programing
นาน ๆ ทีจะมาเรื่องมีสาระ แต่ก็นั่นแหละเดี๋ยวมันจะกลายเป็นเรื่องไร้สาระไป หุหุหุ

ว่ากันเลย :-
  • ผมมีอ. ที่เป็น Microsoft MVP ถึงสองคน (ถึงตอนนี้หนึ่งคนจะลาออกไปทำธุรกิจส่วนตัวแล้วก็เหอะนะ)
  • ผมเคยเป็นคนที่เคยลง Linux ใส่ Notebook แล้วเอาไปใช้ที่มหาลัย ทำให้คนงงกันถ้วนหน้าว่ามันคืออะไร
  • ผมใช้ C# เป็นคนแรก ๆ ของมหาลัย ว่ากันง่าย ๆ ก็ตั้งแต่อีตอน VS 2002 นั่นแหละ ซึ่งตอนที่นำโปรเจคไปนำเสนอก็ทำให้คอมเจ๊งไปหนึ่งเครื่องจากการขนส่ง (เครื่องที่ม.ในตอนนั้นไม่มี .Net Framework) แต่ปัจจุบันทุกเครื่องที่ม. มี Visual Studio .NET 2003 ลงไว้
  • มีโปรเจคนึงที่ถูกบังคับให้ใช้ UNIX เนื่องจาก Library ที่ใช้ไม่สามารถทำงานบน Windows ได้ (และ Lib นั่นคือ pThread)
  • ผมเขียน ASP.NET ได้ เพราะว่าเคยเรียนมา
  • ผมกำลังจะต้องใช้ PHP เพราะมันถูกกว่ามาก - -
  • โปรเจคปัจจุบัน ทำงานบน Windows และต้องใช้ DirectX สารพันปัญหาเริ่มเข้ามารุมเร้า ... ใครจะรู้ DirectX สามารถทำให้ Pentium-M 1.3GHz ทำงานชนะ Pentium 4 3.04GHz ได้หน้าตาเฉย (เครื่อง P-M ใช้ Intel 855GM ในขณะที่ Pentium 4 ใช้ ATi 9500 กับ nVidia 6600)
  • โปรเจคนอกรอบตอนนี้ ใช้ SDL ใช้งานง่ายจนงงว่าทำไมง่ายจัง - -'
  • คนที่เข้ามาอ่านในบล๊อกนี้ มีทั้งฝ่าย OS และ ฝ่าย MS - -'
  • ... เขียนไปเขียนมา กลายเป็น Opensource VS Microsoft ไปซะงั้น ...
เมื่อวานลองไปดู XGL โห สวยว่ะ น่าเล่นมาก ... แต่ตอนนี้ไม่มีเครื่องจะลง Linux แล้วน่ะสิ ... เอาไว้หมดโปรเจคนี้แล้วจะเอามาลงไว้ที่ทำงานดีกว่าแฮะ อิอิ
ตอนนี้ก็ ในโปรเจคผมมี DLL เป็นตับเลยครับ เยอะจริง ๆ 555

วันนี้จะมาพูดเรื่องสิ่งที่ผมใช้อยู่ในโปรเจคนี้สักหน่อยแล้วกัน เริ่มจาก

IDE - ตอนแรกใช้ Eclipse แต่ว่าตอนนี้ CDT ผมว่ายังใช้ไม่ค่อยสะดวก ก็เลยเปลี่ยนมาเป็น Dev-C++ ครับ มีปัญหาเรื่องย่อหน้า + ไม่ซัพพอร์ท UTF-8 ก็เลยต้องเอา Source Code มาแก้ใน Edit Plus อยู่บ่อย (ตัวนี้เป็น commercial ครับ)
Compiler - ใช้ MINGW ครับผม เวอร์ชั่น4.1.0 ครับ คิดว่ามากับ GCC 3.23 มั้ง
Library - ก็มี
SDL - Simple DirectMedia Layer ใช้ 1.2.9 ครับ
SDL-TTF - เป็นตัวเสริมของ SDL ในการวาด Text เรียกใช้ FreeType อีกชั้นนึง
SDL-Image - ตัวเสริมเช่นกัน ใช้ในการอ่านไฟล์ภาพในฟอร์แมทต่าง ๆ
SDL-Mixer - ตัวเสริมอีก ใช้ในการอ่านไฟล์เพลง+เล่นเพลง
ICU - Internation Component for Unicode - งงมั้ยครับทำไมผมต้องใช้ ICU ด้วย คือ ผมอยากให้โปรแกรมนี้อ่าน UTF-8 เป็นหลัก (มันง่ายในการทำงานครับ) แต่ว่า string ใน C++ เนี่ยดันเป็น ASCII (อีกเหตุผลนึงคือ SDL-TTF ตีความ char* string ว่าเป็น Latin1 หมด) ตอนแรกใช้ libutf8 แต่ว่าจนปัญญา คือ Doc มันแทบไม่มี แล้วรันเท่าไหร่ก็ไม่ได้ดังใจก็เลยเปลี่ยน ผมเปลี่ยนมาหลายสิบตัว (เืพื่อเลี่ยงการใช้ ICU นี่ล่ะ) แต่สุดท้ายก็มาจบที่ตัวนี้ แต่เอาน่ะอย่างน้อยก็ใช้ทำอย่างอื่นได้ด้วยแหละ

รวม Dependencies ทั้งหมด ทั้งจากตัวโปรแกรมและ Library ที่ใช้ ผมใช้ DLL ไปแล้ว 14 ไฟล์ !!!

ไม่รู้จะมีอะไรเพิ่มอีกมั้ย = ='



:D

edit @ 2005/10/26 03:51:21