- เครื่องมือสร้างสรรค์ แอนิเมชัน 2D ยุคถัดไปที่พัฒนาด้วย C#, Avalonia, SkiaSharp โดยนำความสามารถของ Flash มาสร้างใหม่ในรูปแบบที่ทันสมัย
- ทำงานได้ครบทั้งบน Linux, Mac, PC และมอบสภาพแวดล้อมสำหรับการสร้างสรรค์แบบครบชุด เช่น ไทม์ไลน์·การวาดเวกเตอร์·สัญลักษณ์·ทวีน·สคริปต์
- รองรับการ นำเข้าไฟล์ .fla/XFL ทำให้สามารถเปิดและแก้ไขโปรเจกต์ Flash เดิมได้
- มีฟังก์ชันการสร้างสรรค์แบบบูรณาการ เช่น ระบบสคริปต์บนพื้นฐาน C#, ตัวแปลง ActionScript, ตัวแก้ไขเสียงในตัว
- แกนสำคัญคือเป็นสภาพแวดล้อมการสร้างสรรค์แบบโอเพนซอร์สที่ สืบทอดมรดกของ Flash พร้อมมอบเวิร์กโฟลว์สมัยใหม่
ภาพรวมโปรเจกต์
- เครื่องมือสร้างแอนิเมชัน 2D แบบครบวงจร ที่ตั้งเป้าว่า หาก Flash ถูกสร้างขึ้นใหม่ในปี 2026 จะมีหน้าตาอย่างไร
- สร้างขึ้นใหม่ทั้งหมดตั้งแต่ต้นด้วย C#, Avalonia, SkiaSharp
- รองรับ Linux, Mac, Windows
- มีฟังก์ชันหลักของ Flash ครบถ้วน ทั้ง ไทม์ไลน์, เครื่องมือวาด, ไลบรารีสัญลักษณ์, ทวีน, สคริปต์
- เปิดและแก้ไขโปรเจกต์ Flash เดิมได้ผ่านฟังก์ชัน นำเข้าไฟล์ .fla/XFL
- นำโค้ดสคริปต์เดิมกลับมาใช้ต่อได้ผ่าน ตัวแปลง ActionScript → C#
ระบบหลัก
- มีฟังก์ชัน แท็บเอกสารหลายรายการ, บันทึกอัตโนมัติ, การซีเรียลไลซ์โปรเจกต์, การจัดการซีน, การตั้งค่าสเตจ
- โครงสร้างการบันทึกไฟล์
.anim แบบโฟลเดอร์หรือแบบบีบอัด บนพื้นฐาน JSON + SkiaSharp
- ผู้ใช้กำหนดขนาดสเตจ สีพื้นหลัง อัตราเฟรม ฯลฯ ได้เอง
เอนจินวาดและเครื่องมือ
- เอนจินเวกเตอร์บนพื้นฐาน DCEL(รายการขอบเชื่อมโยงสองทาง) ที่จำลอง โหมดวาดแบบผสาน ของ Flash
- รองรับ โหมดเพนต์ 5 แบบ ได้แก่ Paint Normal, Behind, Fills, Selection, Inside
- มี เครื่องมือวาด 17 ชนิด
- เช่น แปรง, ดินสอ, เส้น, สี่เหลี่ยม, วงกลม, อาร์ก, ยางลบ, แปลงรูป, ถังสี, หลอดดูดสี, ข้อความ, กล้อง
- ควบคุมได้ละเอียดด้วย การตรวจจับแรงกด, การทำให้เส้นลื่น, การแปลงอิสระ, ซูม/แพน
ระบบออบเจ็กต์และสัญลักษณ์
- รองรับออบเจ็กต์หลายประเภท เช่น Shape, Text, Rich Text, Bitmap, Symbol Instance
- มีการใช้งานโครงสร้างสัญลักษณ์ของ Flash อย่างครบถ้วน เช่น Graphic, MovieClip, Button, RichText Symbol
- ใช้ฟังก์ชัน Convert to Symbol เพื่อแปลงออบเจ็กต์ที่เลือกให้เป็นสัญลักษณ์ที่นำกลับมาใช้ซ้ำได้
- จัดการแอสเซ็ตทั้งหมดจากศูนย์กลางผ่าน Symbol Library
ไทม์ไลน์และแอนิเมชัน
- มี ไทม์ไลน์หลายเลเยอร์ และ ระบบคีย์เฟรม
- ประเภทเลเยอร์: Normal, Guide, Mask, Folder, Camera, Sound
- รองรับ Classic Tween, Motion Tween, Shape Tween
- สามารถ แก้ไขเส้นทางการเคลื่อนไหวแบบ Bezier, ทำแอนิเมชันกล้อง, ซิงก์เสียง ได้
- รองรับ ฟังก์ชัน Easing (Linear, Quad, Cubic, Sine, Expo, Back, Bounce, Elastic) และ เส้นโค้งกำหนดเอง
การจัดสไตล์และเอฟเฟกต์
- การเติมสี (Fill): สีทึบ, กราเดียนต์เชิงเส้น/เชิงรัศมี, แพตเทิร์น
- เส้นขอบ (Stroke): ตั้งค่าความหนา สี รูปแบบปลาย/รอยต่อ และขีดจำกัดมิตเตอร์
- ฟิลเตอร์และเอฟเฟกต์: Blur, Drop Shadow, Glow, Bevel, Adjust Color ฯลฯ
- สามารถ เชื่อมหลายฟิลเตอร์เป็นลูกโซ่ ได้
ฟังก์ชันเลือก·จัดแนว·แปลงรูป
- รองรับ การเลือกแบบสี่เหลี่ยม/อิสระ, การแปลงแบบกลุ่ม, การดัดเส้นทาง, สแนป
- จัดระยะห่างและตำแหน่งของออบเจ็กต์ได้ด้วย เครื่องมือจัดแนวและกระจาย
- รองรับ Undo/Redo สูงสุด 100 ขั้น และ การรวมคำสั่งกับการรันแบบแบตช์
การนำเข้าและส่งออก
- โหลดโปรเจกต์ Flash ได้ด้วย การนำเข้าไฟล์ XFL/.fla
- รองรับทั้ง การส่งออก SWF และ การส่งออก HTML5/Canvas
- รวมถึง การแปลง Bezier, การเบก Tween, คอมไพเลอร์ Shape
สคริปต์และอัตโนมัติ
- ใช้ เอนจินสคริปต์ C# บนพื้นฐาน Roslyn เพื่อทำงานอัตโนมัติด้านการสร้างสรรค์ได้ในระดับสูงกว่า JSFL
- มี API สำหรับเอกสาร, ไทม์ไลน์, เลเยอร์, การเลือก, กราฟิก, ไลบรารี
- ใช้ เฟรมสคริปต์ เพื่อรันโค้ดตามจังหวะการเล่น
- มี ตัวแปลง ActionScript 3 → C# และ AS3 parser/lexer ในตัว
- รองรับการดีบักด้วย เอนจินเล่นสคริปต์, API ตรวจจับอินพุต, แผงแสดงผลลัพธ์
เสียงและ Rich Text
- ตัวแก้ไขเสียงในตัว รองรับการแสดงรูปคลื่น, ตัด/วาง, เล่นแบบซิงก์กับไทม์ไลน์
- ประมวลผลอินพุต/เอาต์พุตเสียงด้วยไลบรารี NAudio
- เอนจินข้อความ ควบคุมได้ละเอียด เช่น ฟอนต์ ขนาด สี การจัดแนว ระยะห่างตัวอักษร ระยะห่างบรรทัด
- สามารถทำข้อความเป็นแอนิเมชันในรูปแบบเวกเตอร์ได้ด้วย การเรนเดอร์เส้นทางกลิฟ
UI/UX
- รองรับ ระบบพาเนล dock แบบสไตล์ VS และ หน้าต่างลอย
- องค์ประกอบพาเนลต่าง ๆ เช่น ไทม์ไลน์, คุณสมบัติ, ไลบรารี, เครื่องมือ, ตัวเลือกสี
- มี การจัดการเอกสารแบบแท็บ, พาเนลซ่อนอัตโนมัติ, ชุดซูมสำเร็จรูป, ตัวแก้ไขโปรไฟล์ความหนาเส้น
ความคืบหน้าและการสนับสนุนโปรเจกต์
- ขณะนี้ยังพัฒนาอย่างต่อเนื่อง และมี การเพิ่มฟีเจอร์ใหม่สม่ำเสมอ
- สามารถสนับสนุนการพัฒนาได้ผ่าน หน้า Patreon
- มีแผนโพสต์อัปเดตโปรเจกต์อย่างต่อเนื่องบน Newgrounds
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
เคยทำ เกม Flash มาก่อน และ โปรไฟล์ Newgrounds ของฉันก็ยังอยู่
ข้อดีของ Flash คือมันเป็น สภาพแวดล้อมที่โปรแกรมเมอร์กับศิลปินทำงานร่วมกันได้ ศิลปินทำแอนิเมชันมาในไฟล์ FLA แล้วส่งมาให้ ฉันก็แค่คัดลอกใส่ในโปรเจ็กต์ได้เลย ถ้าจำเป็นก็ปรับเฟรมเล็กน้อยให้ลื่นไหลขึ้นได้ด้วย
ทุกวันนี้ทำงานด้วย Love2D ซึ่ง การจัดการเวอร์ชัน ดีกว่ามาก เมื่อก่อนต้องจัดการไฟล์แบบ
GameName-1.fla,GameName-2.flaอะไรทำนองนั้น ภายหลังพอแยก ActionScript ออกได้ก็จริง แต่ FLA ก็ยังเป็นก้อนข้อมูลไบนารีอยู่ดีแอนิเมชันแบบเวกเตอร์ของ Flash ยังเป็นสิ่งที่เครื่องมือแบบสไปรต์ในปัจจุบันตามไม่ทัน แอนิเมชันบอสของ Clock Legends ที่เคยทำมีเป็นร้อยเฟรม แต่ไฟล์ FLA มีขนาดแค่ประมาณ 23MB เท่านั้น รู้สึกตื่นเต้นที่โปรเจ็กต์แบบนี้กำลังจะกลับมาอีกครั้ง
ตอนทำงานที่ Adobe เคยสร้าง Flash crawler ขึ้นมา ราวๆ ปี 2008~2010 เริ่มจากไล่ครอว์ลเว็บไซต์ 1 ล้านอันดับแรกของ Alexa
ใช้ Firefox แบบ headless กับ Flash player ที่ปรับแต่งเองเพื่อดัมพ์และวิเคราะห์ข้อมูลรันไทม์ สร้างคลัสเตอร์ไว้ที่ศูนย์ colocate ในบูคาเรสต์ และต้องบินไปดูงานเองบ่อยๆ เพราะมีปัญหาอย่างข้อจำกัดด้านน้ำหนักหรือการอัปเกรด RAM
ใช้เทคโนโลยียุคแรกอย่าง Nutch, Hadoop, HBase แล้วนำผลลัพธ์ไปแสดงผ่าน SQL DB และ UI พวกเด็กฝึกงานเป็นคนช่วยทำให้ระบบนี้เสร็จและได้เรียนรู้อะไรเยอะมาก ตอนนี้บางคนก็ไปทำงานอยู่ซิลิคอนแวลลีย์แล้ว
เครื่องมือนี้ช่วยค้นพบ ช่องโหว่ด้านความปลอดภัย ได้มากมาย ถ้า Adobe ยังเก็บข้อมูลนั้นไว้อยู่ ก็น่าจะบริจาคให้ Computer History Museum ได้เลย
Flash ยังเป็นแพลตฟอร์มพัฒนาที่ สนุกที่สุด เท่าที่ฉันเคยใช้มา
มันวาดภาพเองได้ เชื่อมเข้ากับโค้ดได้ และโครงสร้างก็สะดวกมากเพราะไม่ต้องมานับเฟรมใหม่ตลอด ฉันยังคิดถึงช่วงที่นั่งทำเกมในห้องด้วย Flash MX 2004 Pro (หรือ Flash 8) เวอร์ชันเถื่อน อยู่เลย
Construct กับ GameMaker ก็ดี แต่ไม่สนุกเท่า Flash ถ้ามี Flash ตัวใหม่ออกมาจริงคงดีใจมาก
รู้สึกทึ่งที่มี เครื่องมือโอเพนซอร์สที่เปิดและแก้ไขไฟล์ .fla / XFL ได้โดยตรง ไม่ใช่แค่เล่นกลับได้ แต่แก้ไขได้ด้วย แบบนี้มีความหมายมากในแง่ ความเข้ากันได้ย้อนหลัง
มีคนสงสัยว่าสไตล์การเขียนของบทความไม่สม่ำเสมอ เลยดูเหมือนเป็น ข้อความที่ LLM สร้างบางส่วน การใช้เครื่องหมายวรรคตอนกับตัวพิมพ์ใหญ่พิมพ์เล็กไม่คงที่ แต่ส่วนสรุปกลับเขียนได้ไร้ที่ติ
วลีอย่าง “Not just play them back — edit them” ถูกมองว่าดูเป็นภาษาประดิษฐ์เป็นพิเศษ ถึงอย่างนั้นก็ยัง ขอให้โปรเจ็กต์ประสบความสำเร็จ
ตลอด 15 ปีที่ผ่านมา ฉันคิดอยู่บ่อยๆ ว่า “โลกนี้น่าจะต้องการอะไรแบบ Flash อีกครั้ง” Flash เป็น เครื่องมือที่ทำให้คนทั้งรุ่นได้เรียนรู้ศิลปะ เกม ดนตรี และแอนิเมชัน
สำหรับคนรุ่นปัจจุบัน ดูเหมือน Minecraft กับ Roblox จะเข้ามาทำหน้าที่นั้นแทน
ตอนนี้ยังรัน Flash MX 2004 ผ่าน Wine ได้ก็จริง แต่ถ้ามี เวอร์ชันเปิดที่มีอัปเดตสม่ำเสมอ ก็คงดีมาก
ToonBoom เป็นเครื่องมือแอนิเมชันที่ยอดเยี่ยม และ Construct 2 ก็เป็นเกมเอนจินที่ดี แต่ไม่มีอะไรเป็น เครื่องมือไฮบริดที่ผสานแอนิเมชันกับโค้ดได้อย่างเป็นธรรมชาติ แบบ Flash
ใน Flash คุณทำการ์ตูนได้แม้ไม่รู้จัก ActionScript แล้วค่อยๆ เพิ่มโค้ดเพื่อขยายไปเป็นเกมได้ด้วย มันเป็นโครงสร้างที่ยอดเยี่ยมจริงๆ
มีคนคิดว่าการบอกว่าโปรเจ็กต์นี้เป็น โอเพนซอร์ส แต่กลับเปิด Patreon ก่อน เป็นการเริ่มต้นที่ไม่ดี โดยเฉพาะตอนที่ยังไม่มีตัวอย่างที่ใช้งานได้หรือวิดีโอเลย การรับ การสนับสนุนแบบเสียเงิน ตั้งแต่ตอนนี้ทำให้ความน่าเชื่อถือลดลง
ในปี 2012 มีคนสร้างไลบรารี JavaScript ชื่อ IvanK.js เพื่อจำลอง Flash API บนเว็บ ซึ่งต้องใช้ WebGL แต่ในเวลานั้นยังรองรับกันไม่มาก
ถึงอย่างนั้นก็ยังพอร์ตเกม Flash บางเกมขึ้นเว็บได้อย่างรวดเร็ว
ลิงก์เดโม
มีการพูดถึง Haxe ว่าเป็นผู้สืบทอดของ Flash แต่จริงๆ แล้วมันใกล้เคียงกับการเป็นตัวแทนของ ActionScript มากกว่า
เสน่ห์ที่แท้จริงของ Flash คือ การรวมเครื่องมือกราฟิกเข้ากับสคริปต์ แค่ภาษาใกล้เคียงกันไม่ได้แปลว่าจะให้ประสบการณ์แบบเดียวกันได้
เว็บไซต์ทางการของ OpenFL
มีคนคิดว่า Adobe น่าจะ เปิดซอร์ส Flash ไปตั้งนานแล้ว ถ้าทำแบบนั้นอาจยังครองตลาดเครื่องมือพัฒนาแบบเสียเงินต่อไปได้