Programming
เปิดตัว Easy Massage Board + แฉช่วงเวลาที่หายไป
posted on 18 Nov 2010 21:19 by illuminist in General, LifeStory, Programming- สามารถใส่ข้อความได้ 255 ตัวอักษร
- แบ่งชนิดข้อความที่โพสต์ได้ตาม Tag
- เปิดเลือก Tag เพื่อดูข้อความได้
- รองรับ BBCode พื้นฐาน
- สามารถอัพเดตหน้าได้ตลอด
- ใช้ XML ในการโหลดข้อมูล ทำให้สามารถประยุกต์ใช้กับโปรแกรมอื่นได้ด้วย
ช่วงนี้ยังเป็นช่วงทดสอบอยู่นะครับ ถ้าใครสนใจก็สามารถขอ PHP โค้ดที่ผมได้ฟรีครับ สามารถแก้ไขได้ทั้งหมดแต่ต้องแจ้งส่วนที่ถูกแก้ไขมาที่ผมด้วย ผมใช้ source code Javascript บางส่วนจากอินเตอร์เน็ทก็อย่าลืมทำตามลิขสิทธ์การใช้งานนะครับ
แต่ว่าต้องหาโฮสต์เองนะ
แล้วก็มาเรื่องที่ผมหายไปค่อนข้างนานทีเดียว เหตุผลแรกคือผมพบว่าภาษา Java นั้นเขียนเกมได้ง่ายก็จริง แต่ก็ปาะสิทธิภาพการทำงานโดยรวมนั้นค่อนข้างต่ำ ดังนั้นผมจึงกลับไปศึกษา C++ อีกครั้ง ซึ่งก็เป็นเรืองโชคดีที่ผมเจอ library ตัวหนึ่งที่ใช้ opengl ทำพอดี ก็เลยต้องหาวิธี implement เพื่อให้ใช้งานได้ตามที่ต้องการ
แล้วก็มีอีกช่วงนึงที่ผมติดเกมแฟลซมาก -w- เนื่องมาจากว่าตอนนี้อยากลองหาไอเดียทำเกมใหม่ๆเลยลองตระเวนตามเว็บเกมต่างๆ ซึ่งแน่นอนว่าได้ท่องเที่ยวไปตามเว็บต่างๆมากมายที่มีเกมแฟลซอยู่ อย่างเว็บแรกๆเลยคือ Armorgames ซึ่งเป็นกลุ่มที่พัฒนาเกมแฟลซกันอย่างจริงจัง แต่แล้วก็ดันไปลงที่ Newgrounds ที่เป็นเว็บคล้ายๆกับ Portal ซึ่งเกมแฟลซจากที่ต่างๆจะต้องมาลงที่เว็บนี้ ผมติดใจกับการโหวตเว็บนี้มากเพราะว่าใครๆก็ได้สามารถอัพโหลดแฟลซของตัวเองขึ้นเว็บได้ แน่นอนว่าพวกมือบอนก็จะอัพอะไรแปลกๆขึ้นไปด้วย และระบบโหวตก็จะเป็นแบบโหวต 0-5 ถ้าได้คะแนนน้อยก็ถูกลบทิ้ง ในความคิดของผมจะติดสินแบบ ไอนี่ "ทอง" ไอนี่ "ขยะ" ก็สนุกสนานมากสำหรับที่นี้
พอลง Newgrounds ไปซักพักก็รู้สึกเริ่มอยากทำแฟลซขึ้นมา เลยลองไปศึกษาแฟลซดู ซึ่งปรากฎว่าช่วงนี้เป็นช่วงต่อระหว่าง AS2 กับ AS3 (ภาษาโปรแกรมแฟลซ ActionScript) ทำให้ไม่ค่อยมี Tutorial เกี่ยวกับ AS3 เท่าไหร่ เขาว่ากันว่า AS3 จะเขียนโค้ดหนักกว่า 2 แต่ผมไม่หวั่น ถ้าจะให้ผมไปวาดรูปเองนนี้ตายแน่ๆ =w=
Space Flare update 0.2a แล้ว เยร้~~~! มาพร้อมกับตัวเกมเล่นผ่านหน้าเว็บ
posted on 05 Jun 2010 23:12 by illuminist in IlluministGames, Programming, SpaceFlareเปิดเทอมมาได้อาทิตย์นึงแล้ว ก็ไม่ได้มามาอัพบล็อกนานไปหน่อย (ไม่รวมเอนทรี่เที่ยวรพ.อันที่แล้วนะ) ก็เปิดเทอมแล้ว เวลาว่างก็น้อยลงเพราะว่าเทอมนี้ลงโหด อัดไป 22 หน่วยกิตเต็มๆ หอก็ยังไม่มีให้อยู่อีก เฮ่อ~
ในขณะเดียวกันนี้ก็ต้องทำเอนจิ้นโมมิจิไปด้วย ไหนๆละก็อาศัยวิธีการ "เจียด" เวลาว่างอันแสนน้อยนิดมาทำเกม Space Flare ต่อสะหน่อย
คำเตือน : ถ้าท่านไม่สนใจด้านโปรแกรมมิ่ง และต้องการจะเล่นเกม จงข้ามไปยังท้ายเอนทรี่นี้โดยไว
ต่อจากครั้งที่แล้วที่เอา SS เกม Space Flare รุ่น 0.1b มาลงไว้ ตอนนี้ก็ได้มีการพัฒนาต่ออย่างก้าวกระโดด เพราะเพิ่งจะมารู้ว่า...
"Function ตรีโกณมิติ ใน Java มันใช้ Radian คิด!!!!"
เฟลกันอย่างแรงเลยทีเดียว ไอ้เราก็ใส่ degree มาตลอด
พอรู้งี้แล้วก็ แก้ไขกันมันเลย โชคดีที่จาวามีฟังก์ชั่น toRadian toDegree แถมมาให้ด้วย ก็เลยใช้ซะคุ้มค่าเลย
ปัญหาจากครั้งที่แล้วก็สามารถแก้ไขได้หมดแล้ว ซึ่งก็จะมีดังนี้
พาร์ติเคิลที่มีมันจะไม่แสดงผลในช่วงการเคลื่อนที่ 180-270 องศา
เป็นเพราะว่าการเช็คชีวิตของพาร์ติเคิลผมจะใช้วิธีตรวจจากความเร็วทั้งสองแกนเอา ถ้าความเร็วทั้งสองแกนต่ำกว่าที่กำหนดไว้ก็จะดีดพาร์ติเคิลนั้นออกจากระบบเลย
จาก expression เก่าที่ใช้คือ if(speed.x < uboundSpeed && speed.y < uboundSpeed) ก็จะสั่งให้พาร์ติเคิลนั้นเสีย แต่ปัญหาที่เกิดคือ ที่องศา 180-270 ความเร็วทั้งสองแกนจะเป็นลบทั้งคู่ ทำให้มีค่าต่ำกว่า uboundSpeed จึงทำให้พาร์ติเคิลถูกดีดออกตั้งแต่แรกยังไม่ทันที่จะได้วิ่งด้วยซ้ำ
การแก้ไขคือ ใส่ฟังชั่น abs หรือค่าสมบูรณ์ ไว้ที่ความเร็วทั้งสองแกน ก็จะทำให้สามารถตรวจสอบได้แล้ว
พาร์ติเคิลระเบิดที่เป็นวงกลมก็ไม่เป็นไปตามตำแหน่งที่วางไว้
ก็มีสาเหตุมาจากการวาดของ OpenGL โดย OpenGL จะมีวิธ๊การวาดคือย้ายจุดที่ต้องการวาดไปก่อน แล้วก็วาดจุดลงตำแหน่งที่สัมพันธ์กับจุดที่ย้ายไปก่อนหน้า
แต่ว่าของเก่าที่ผมทำคือ ย้ายจุดไปแล้ว แต่ว่าดันไปบวกพิกัดที่จะวาดเพิ่มเข้าไปอีก ทำให้พิกัดวาดนั้นเลยเถิดออกไปไกลทีเดียว
การแก้ไขคือ ลบพิกัดที่เผลอไปบวกเพิ่มนั่นซะ จบข่าว...
แรงต้านออปเจ็คเพี้ยน
อันนี้ผมไปหาข้อมูลบนอินเตอร์เน็ทมา จริงๆแล้วส่วนตัวผมเองก็ไม่เก่งในเรื่องฟิสิกซ์เท่าไหร่ แต่พอเห็นสมกาของจริงแล้วถึงบางอ้อเลยทีเดียว
สมการคิดตำแหน่งละความเร็วโดยขึ้นกับเฟรมเรตคือ position += speed * tick (แกนเดียวสมมุติว่าเป็นสองแกน)
สมการคิดแรงต้านใหม่ คือ
realResist = -speed * resistRate
speed += realResist * tick
ผลการทดสอบคือแรงต้านมีความเที่ยงตรงมากกว่าเดิม(เยอะเลยทีเดียว)
-------------------------------------------------------------------------------------------
ปัญหาก็แก้หมดแล้วนะครับ แล้วก็จะมีบางส่วนที่เพิ่มเติมเข้าไปคือเรื่องของสีสัน เอฟเฟคเบลอที่ทำได้แล้ว เอฟเฟคจอสั่นที่เป็นผลพลอยได้ของการเบลอ ทำให้เวลาอุกบาตระเบิดรู้สึกว่ามีพลังมากขึ้นเยอะๆ และก็มีเอฟเฟคพาร์ติเคิลย่อยๆเพิ่มเข้าไปด้วยครับ
ตัวเกมนี้จะถูกโหลดมาจากเครื่องผมนะครับ เพราะพอดีว่าบล็อค exteen รู้สึกว่ามันจะอัพอย่างอื่นไม่ได้เลยนอกจากรูปภาพ แล้วก็ไม่รู้จะไปอัพโฮสต์ที่ไหนด้วย
ดังนั้นถ้าเกิดว่าเล่นไม่ได้ขึ้นมาก็ขอโทษด้วยนะครับ เพราะผมอาจจะปิดเครื่องอยู่ หรือไม่ก็อยู่มออยู่ทำให้ไม่สามารถที่จะต่อเข้ามาจากภายนอกได้
เอาเป็นว่า ถ้ารูปข้างล่างนี้ไม่ขึ้นก็แสดงว่าเล่นไม่ได้นะครับ (ไม่นับพวกที่มี cache อยู่ในเครื่อง)
edit @ 15 Jun 2010 01:39:40 by Illuminist Ova
