John Squirrels
ระดับ
San Francisco

ในช่วงแรกมี...

เผยแพร่ในกลุ่ม
ในตอนแรกมี ... - 1 ช่วงทดลองงานครั้งแรกของฉันสิ้นสุดลงเมื่อ 3 ปีก่อน แต่ตอนนี้ฉันหาเวลาเขียนบทความได้แล้ว ฉันใช้เวลาหนึ่งปีในแผนกต่างๆ ในมหาวิทยาลัย ในภาคเรียนแรก ฉันเรียนการจัดการ และในภาคเรียนที่สอง ฉันเปลี่ยนไปเรียนวิศวกรรมซอฟต์แวร์ ฉันหวังว่าพวกเขาจะสอนวิธีการเขียนโปรแกรม แต่ฉันคิดผิด ดังนั้นฉันจึงรวบรวมสื่อและตัดสินใจเรียนรู้ทุกอย่างด้วยตัวเอง เหตุผลเดียวที่ฉันรู้สึกขอบคุณครูของฉันคือเขาแนะนำให้ฉันเริ่มต้นด้วย ebook "The C Programming Language" ของ Stephen Pratt เป็นหนังสือที่ดีพร้อมแบบฝึกหัดมากมาย ฉันใช้เวลาประมาณ 2 เดือนในหนังสือเล่มนี้ หลังจากนั้นฉันก็พบหลักสูตร Java ออนไลน์นี้ในกลุ่มเพื่อนและมันก็เริ่มต้นขึ้น ตอนแรกฉันวางแผนที่จะเป็นนักพัฒนา Androidแต่แบ็กเอนด์ดูน่าสนใจมากขึ้นสำหรับฉันเมื่อฉันก้าวหน้าในการเรียนรู้ อย่างไรก็ตาม ฉันใช้เวลาเรียน 3 เดือนกว่าจะถึงระดับ 20 หลังจากนั้นฉันจึงตัดสินใจหางานทำ ลำดับแรกของธุรกิจคือการย้ายไปยังเมืองอื่นเนื่องจากฉันไม่มีช่องสำหรับนักพัฒนา Java รุ่นเยาว์ ฉันพบบริษัท สมัคร และได้รับงานทดสอบ ซึ่งฉันมีเวลาหนึ่งสัปดาห์ในการดำเนินการให้เสร็จ ฉันต้องเขียนเว็บแอปพลิเคชันอย่างง่ายโดยใช้ Hibernate, Servlet/JSP และ MySQL เมื่อเห็นคำศัพท์เหล่านี้ ฉันรู้เพียงว่า MySQL เป็นฐานข้อมูล ตอนแรกผิดหวังมาก ฉันถึงกับตัดสินใจหางานที่ KFC บางแห่ง แต่แล้วฉันก็ตัดสินใจที่จะลองทดสอบดู ท้ายที่สุดฉันสามารถได้งานที่ KFC เสมอ ฉันทำงานไม่หยุดตลอดทั้งสัปดาห์และทำการทดสอบให้เสร็จ ฉันส่งวิธีแก้ปัญหาของฉัน แต่มัน "ไม่สวย" ดังนั้นฉันจึงแก้ไขอีก 4 ครั้ง ทางออกสุดท้ายของฉันกลายเป็นว่าถูกต้อง แต่ตำแหน่งเต็มแล้วและจะไม่รับใบสมัครเพิ่มเติมเป็นเวลา 3 เดือน คุณจะทำอะไรใช่มั้ย? ในอีก 3 เดือนข้างหน้า ฉันได้เรียนรู้ HTML, CSS, JS, SQL และ PHP ทำไมต้อง PHP? ฉันต้องการภาษาเซิร์ฟเวอร์ที่จะตอบสนองต่อคำขอและอื่นๆ ในขณะนั้น servlets และ jsp ดูซับซ้อนเกินไป ในที่สุดฉันก็สร้างเว็บแอปพลิเคชันที่มีคุณสมบัติครบถ้วนพร้อมอินเทอร์เฟซที่แย่มาก ฉันเผยแพร่โค้ดบน GitHub สำหรับพอร์ตโฟลิโอของฉัน ถึงตอนนี้ 3 เดือนผ่านไป บริษัทเดิมก็ติดต่อฉันอีกครั้งและเชิญฉันไปสัมภาษณ์ โดยให้งานง่ายๆ อีกอย่างเพื่อทดสอบความรู้ของฉันเกี่ยวกับ SQL ซึ่งฉันสามารถจัดการให้เสร็จภายในเวลาไม่กี่ชั่วโมง คนที่ฉันคุยด้วยเกี่ยวกับการจ้างงานบอกเป็นนัยว่าพวกเขาจะถามเกี่ยวกับอัลกอริทึมและโครงสร้างข้อมูล ซึ่งเป็นหัวข้อที่ฉันยังไม่มีเวลาที่จะเชี่ยวชาญ กล่าวคือมีเวลา 15 วันก่อนสัมภาษณ์ ฉันได้สิ่งนี้! หนังสือของ Robert Lafore เรื่อง "โครงสร้างข้อมูลและอัลกอริทึมใน Java" ช่วยฉันได้ ฉันไม่ได้ ไม่มีเวลาอ่านและทำความเข้าใจทั้งหมดภายในสองสัปดาห์ แต่ฉันยังได้เรียนรู้อีกมาก และแล้ววันสัมภาษณ์ก็มาถึง ฉันมาถึงตามเวลาที่กำหนด ชายสองคนทักทายฉันและเริ่มการสัมภาษณ์ การพูดว่าฉันกังวลจะเป็นการพูดเกินจริง เสียงของฉันสั่น พวกเขาถามเกี่ยวกับทุกอย่างยกเว้นอัลกอริทึมและโครงสร้างข้อมูล พวกเขาถามเกี่ยวกับ Spring, DI, IoC, Hibernate, JVM ทำงานอย่างไร, วิธีการทำงานของตัวรวบรวมขยะ — ฉันไม่สามารถตอบคำถามเหล่านี้แม้แต่ข้อเดียว ฉันตอบคำถามเกี่ยวกับ Java Core (คอลเลกชัน, ข้อยกเว้น, OOP ฯลฯ) ได้สำเร็จเท่านั้น ตอนที่สัมภาษณ์ ฉันรู้ว่าฉันสอบตก แต่ฉันก็ยังรู้สึกผิดหวังที่ไม่ได้รับคำติชมใดๆ แต่ฉันระบุช่องว่างในความรู้ของฉันและเริ่มทำงานอย่างขยันขันแข็งเพื่อปิดช่องว่างเหล่านั้น และแล้ววันสัมภาษณ์ก็มาถึง ฉันมาถึงตามเวลาที่กำหนด ชายสองคนทักทายฉันและเริ่มการสัมภาษณ์ การพูดว่าฉันกังวลจะเป็นการพูดเกินจริง เสียงของฉันสั่น พวกเขาถามเกี่ยวกับทุกอย่างยกเว้นอัลกอริทึมและโครงสร้างข้อมูล พวกเขาถามเกี่ยวกับ Spring, DI, IoC, Hibernate, JVM ทำงานอย่างไร, วิธีการทำงานของตัวรวบรวมขยะ — ฉันไม่สามารถตอบคำถามเหล่านี้แม้แต่ข้อเดียว ฉันตอบคำถามเกี่ยวกับ Java Core (คอลเลกชัน, ข้อยกเว้น, OOP ฯลฯ) ได้สำเร็จเท่านั้น ตอนที่สัมภาษณ์ ฉันรู้ว่าฉันสอบตก แต่ฉันก็ยังรู้สึกผิดหวังที่ไม่ได้รับคำติชมใดๆ แต่ฉันระบุช่องว่างในความรู้ของฉันและเริ่มทำงานอย่างขยันขันแข็งเพื่อปิดช่องว่างเหล่านั้น และแล้ววันสัมภาษณ์ก็มาถึง ฉันมาถึงตามเวลาที่กำหนด ชายสองคนทักทายฉันและเริ่มการสัมภาษณ์ การพูดว่าฉันกังวลจะเป็นการพูดเกินจริง เสียงของฉันสั่น พวกเขาถามเกี่ยวกับทุกอย่างยกเว้นอัลกอริทึมและโครงสร้างข้อมูล พวกเขาถามเกี่ยวกับ Spring, DI, IoC, Hibernate, JVM ทำงานอย่างไร, วิธีการทำงานของตัวรวบรวมขยะ — ฉันไม่สามารถตอบคำถามเหล่านี้แม้แต่ข้อเดียว ฉันตอบคำถามเกี่ยวกับ Java Core (คอลเลกชัน, ข้อยกเว้น, OOP ฯลฯ) ได้สำเร็จเท่านั้น ตอนที่สัมภาษณ์ ฉันรู้ว่าฉันสอบตก แต่ฉันก็ยังรู้สึกผิดหวังที่ไม่ได้รับคำติชมใดๆ แต่ฉันระบุช่องว่างในความรู้ของฉันและเริ่มทำงานอย่างขยันขันแข็งเพื่อปิดช่องว่างเหล่านั้น การพูดว่าฉันกังวลจะเป็นการพูดเกินจริง เสียงของฉันสั่น พวกเขาถามเกี่ยวกับทุกอย่างยกเว้นอัลกอริทึมและโครงสร้างข้อมูล พวกเขาถามเกี่ยวกับ Spring, DI, IoC, Hibernate, JVM ทำงานอย่างไร, วิธีการทำงานของตัวรวบรวมขยะ — ฉันไม่สามารถตอบคำถามเหล่านี้แม้แต่ข้อเดียว ฉันตอบคำถามเกี่ยวกับ Java Core (คอลเลกชัน, ข้อยกเว้น, OOP ฯลฯ) ได้สำเร็จเท่านั้น ตอนที่สัมภาษณ์ ฉันรู้ว่าฉันสอบตก แต่ฉันก็ยังรู้สึกผิดหวังที่ไม่ได้รับคำติชมใดๆ แต่ฉันระบุช่องว่างในความรู้ของฉันและเริ่มทำงานอย่างขยันขันแข็งเพื่อปิดช่องว่างเหล่านั้น การพูดว่าฉันกังวลจะเป็นการพูดเกินจริง เสียงของฉันสั่น พวกเขาถามเกี่ยวกับทุกอย่างยกเว้นอัลกอริทึมและโครงสร้างข้อมูล พวกเขาถามเกี่ยวกับ Spring, DI, IoC, Hibernate, JVM ทำงานอย่างไร, วิธีการทำงานของตัวรวบรวมขยะ — ฉันไม่สามารถตอบคำถามเหล่านี้แม้แต่ข้อเดียว ฉันตอบคำถามเกี่ยวกับ Java Core (คอลเลกชัน, ข้อยกเว้น, OOP ฯลฯ) ได้สำเร็จเท่านั้น ตอนที่สัมภาษณ์ ฉันรู้ว่าฉันสอบตก แต่ฉันก็ยังรู้สึกผิดหวังที่ไม่ได้รับคำติชมใดๆ แต่ฉันระบุช่องว่างในความรู้ของฉันและเริ่มทำงานอย่างขยันขันแข็งเพื่อปิดช่องว่างเหล่านั้น ฉันตอบคำถามเกี่ยวกับ Java Core (คอลเลกชัน, ข้อยกเว้น, OOP ฯลฯ) ได้สำเร็จเท่านั้น ตอนที่สัมภาษณ์ ฉันรู้ว่าฉันสอบตก แต่ฉันก็ยังรู้สึกผิดหวังที่ไม่ได้รับคำติชมใดๆ แต่ฉันระบุช่องว่างในความรู้ของฉันและเริ่มทำงานอย่างขยันขันแข็งเพื่อปิดช่องว่างเหล่านั้น ฉันตอบคำถามเกี่ยวกับ Java Core (คอลเลกชัน, ข้อยกเว้น, OOP ฯลฯ) ได้สำเร็จเท่านั้น ตอนที่สัมภาษณ์ ฉันรู้ว่าฉันสอบตก แต่ฉันก็ยังรู้สึกผิดหวังที่ไม่ได้รับคำติชมใดๆ แต่ฉันระบุช่องว่างในความรู้ของฉันและเริ่มทำงานอย่างขยันขันแข็งเพื่อปิดช่องว่างเหล่านั้นฉันหางานได้หนึ่งเดือนหลังจากสัมภาษณ์ไม่ผ่าน อย่างไรก็ตาม ฉันพบตำแหน่งงานว่างในการอภิปรายเกี่ยวกับ CodeGym ( CodeGym คือ CodeGym เวอร์ชันภาษารัสเซีย — หมายเหตุบรรณาธิการ). อันดับแรก มีการสัมภาษณ์ผ่าน Skype กับนายหน้า (ใช้เวลาประมาณ 2 ชั่วโมง) พวกเขาถามเกี่ยวกับ Java Core การรวบรวมขยะ (ตอนนี้ฉันรู้แล้วว่ามันทำงานอย่างไร) ฐานข้อมูล และโครงสร้างข้อมูล ผู้สัมภาษณ์ขอให้ฉันแชร์หน้าจอและเขียนเครื่องคิดเลข ฉันเกือบจะร้องไห้ด้วยความดีใจ เพราะฉันเพิ่งเขียนเครื่องคิดเลขเมื่อสัปดาห์ก่อน มั่นใจในตัวเองฉันเริ่มงาน แต่ไม่ว่าจะเพราะความตื่นเต้นของฉันหรือด้วยเหตุผลอื่น ฉันลืมส่วนหนึ่งของอัลกอริทึม หน้าจอของฉันถูกแชร์ ฉันกลัวที่จะปรึกษา Google โชคดีที่ฉันมีโทรศัพท์มือถือซึ่งช่วยชีวิตฉันไว้ วันต่อมา พวกเขาเรียกสัมภาษณ์แบบตัวต่อตัว และอีกสองสามวันต่อมาฉันก็ได้รับข้อเสนอ. ไม่ใช่ตำแหน่งอย่างเป็นทางการ บทบาทของฉันคือฝึกงานกับเจ้าของคนเดียว เราเขียนบริการวางแผนงานขายตั๋ว ฯลฯ ฉันจำได้ว่าทำงานวันแรก เจ้านายของฉันใช้เวลา 15 นาทีเพื่ออธิบายสิ่งที่ต้องทำ "ทุกอย่างชัดเจนหรือไม่" เขาถาม. “อืม ไม่จริง ขอดูอีกรอบได้ไหม” ฉันถามด้วยความเป็นห่วงเป็นใย เจ้านายอธิบายทุกอย่างอีกครั้ง “ตอนนี้ชัดเจนหรือยัง” "ใช่ ตอนนี้เป็นแล้ว" ที่จริงฉันไม่เข้าใจอะไรเลย แต่ฉันกลัวที่จะขอคำอธิบายอื่น ฉันคิดว่าใครก็ตามที่ทำงานสามารถเข้าใจได้ งานจบลงที่การย้ายจาก Thymeleaf ไปยัง AngularJS โชคดีที่ฉันพบโค้ดสำเร็จรูปจำนวนหนึ่งและใช้เป็นตัวอย่างว่าต้องทำอะไร ฉันไม่เข้าใจวิธีการทำงาน แต่ฉันทำงานเสร็จแล้ว ฉันได้รับมอบหมายงานที่เกี่ยวข้องโดยตรงกับแบ็กเอนด์ในเวลาต่อมา หลังจากมีประสบการณ์จริงกับ Spring ฉันก็เริ่มเข้าใจสิ่งที่ฉันอ่านใน "Spring for Professionals" ฉันทำงานที่นั่นได้ 8 เดือนแล้วย้ายไปเมืองอื่น ที่ซึ่งฉันได้งานอย่างเป็นทางการอย่างรวดเร็ว ทำงานเป็นเวลา 2 ปี และเปลี่ยนชื่อจาก "จูเนียร์" เป็น "ระดับกลาง" ไปพร้อมกัน จากนั้นฉันก็พบกับความจริงที่ว่างานของฉันกลายเป็นงานประจำและไม่ได้ทำให้ฉันมีความสุขเลยแม้แต่น้อย ดังนั้นฉันจึงหยุดพัก เพื่อไม่ให้นิ้วของฉันลีบระหว่างพัก ฉันตัดสินใจลองใช้มือของฉันในด้านอื่น: การพัฒนาเกม โดยเฉพาะการพัฒนาเกมมือถือ หยิบ Android มาใช้ เพราะผมรู้จัก Java อยู่แล้ว และนั่นคือสิ่งที่ฉันจะพูดถึงในรายละเอียดตอนนี้ หลังจากมีประสบการณ์จริงกับ Spring ฉันก็เริ่มเข้าใจสิ่งที่ฉันอ่านใน "Spring for Professionals" ฉันทำงานที่นั่นได้ 8 เดือนแล้วย้ายไปเมืองอื่น ที่ซึ่งฉันได้งานอย่างเป็นทางการอย่างรวดเร็ว ทำงานเป็นเวลา 2 ปี และเปลี่ยนชื่อจาก "จูเนียร์" เป็น "ระดับกลาง" ไปพร้อมกัน จากนั้นฉันก็พบกับความจริงที่ว่างานของฉันกลายเป็นงานประจำและไม่ได้ทำให้ฉันมีความสุขเลยแม้แต่น้อย ดังนั้นฉันจึงหยุดพัก เพื่อไม่ให้นิ้วของฉันลีบระหว่างพัก ฉันตัดสินใจลองใช้มือของฉันในด้านอื่น: การพัฒนาเกม โดยเฉพาะการพัฒนาเกมมือถือ หยิบ Android มาใช้ เพราะผมรู้จัก Java อยู่แล้ว และนั่นคือสิ่งที่ฉันจะพูดถึงในรายละเอียดตอนนี้ หลังจากมีประสบการณ์จริงกับ Spring ฉันก็เริ่มเข้าใจสิ่งที่ฉันอ่านใน "Spring for Professionals" ฉันทำงานที่นั่นได้ 8 เดือนแล้วย้ายไปเมืองอื่น ที่ซึ่งฉันได้งานอย่างเป็นทางการอย่างรวดเร็ว ทำงานเป็นเวลา 2 ปี และเปลี่ยนชื่อจาก "จูเนียร์" เป็น "ระดับกลาง" ไปพร้อมกัน จากนั้นฉันก็พบกับความจริงที่ว่างานของฉันกลายเป็นงานประจำและไม่ได้ทำให้ฉันมีความสุขเลยแม้แต่น้อย ดังนั้นฉันจึงหยุดพัก เพื่อไม่ให้นิ้วของฉันลีบระหว่างพัก ฉันตัดสินใจลองใช้มือของฉันในด้านอื่น: การพัฒนาเกม โดยเฉพาะการพัฒนาเกมมือถือ หยิบ Android มาใช้ เพราะผมรู้จัก Java อยู่แล้ว และนั่นคือสิ่งที่ฉันจะพูดถึงในรายละเอียดตอนนี้ ที่ซึ่งฉันได้งานอย่างเป็นทางการอย่างรวดเร็ว ทำงานเป็นเวลา 2 ปี และเปลี่ยนชื่อจาก "จูเนียร์" เป็น "ระดับกลาง" ไปพร้อมกัน จากนั้นฉันก็พบกับความจริงที่ว่างานของฉันกลายเป็นงานประจำและไม่ได้ทำให้ฉันมีความสุขเลยแม้แต่น้อย ดังนั้นฉันจึงหยุดพัก เพื่อไม่ให้นิ้วของฉันลีบระหว่างพัก ฉันตัดสินใจลองใช้มือของฉันในด้านอื่น: การพัฒนาเกม โดยเฉพาะการพัฒนาเกมมือถือ หยิบ Android มาใช้ เพราะผมรู้จัก Java อยู่แล้ว และนั่นคือสิ่งที่ฉันจะพูดถึงในรายละเอียดตอนนี้ ที่ซึ่งฉันได้งานอย่างเป็นทางการอย่างรวดเร็ว ทำงานเป็นเวลา 2 ปี และเปลี่ยนชื่อจาก "จูเนียร์" เป็น "ระดับกลาง" ไปพร้อมกัน จากนั้นฉันก็พบกับความจริงที่ว่างานของฉันกลายเป็นงานประจำและไม่ได้ทำให้ฉันมีความสุขเลยแม้แต่น้อย ดังนั้นฉันจึงหยุดพัก เพื่อไม่ให้นิ้วของฉันลีบระหว่างพัก ฉันตัดสินใจลองใช้มือของฉันในด้านอื่น: การพัฒนาเกม โดยเฉพาะการพัฒนาเกมมือถือ หยิบ Android มาใช้ เพราะผมรู้จัก Java อยู่แล้ว และนั่นคือสิ่งที่ฉันจะพูดถึงในรายละเอียดตอนนี้ ฉันตัดสินใจลองใช้ในด้านอื่น: การพัฒนาเกม โดยเฉพาะการพัฒนาเกมมือถือ หยิบ Android มาใช้ เพราะผมรู้จัก Java อยู่แล้ว และนั่นคือสิ่งที่ฉันจะพูดถึงในรายละเอียดตอนนี้ ฉันตัดสินใจลองใช้ในด้านอื่น: การพัฒนาเกม โดยเฉพาะการพัฒนาเกมมือถือ หยิบ Android มาใช้ เพราะผมรู้จัก Java อยู่แล้ว และนั่นคือสิ่งที่ฉันจะพูดถึงในรายละเอียดตอนนี้ทีมของฉัน. ในระยะสั้น ฉันได้รวบรวมทีมเล็กๆ 4 คน (รวมฉันด้วย): นักพัฒนา 2 คน นักออกแบบเกม 1 คน และวิศวกรเสียง 1 คน เนื่องจากไม่มีใครในทีมที่มีประสบการณ์ในการพัฒนาเกมเลย และเนื่องจากเวลาพักร้อนของฉันมีจำกัด เราจึงตัดสินใจดำเนินโครงการง่ายๆ ที่เราจะสามารถดำเนินการให้เสร็จสิ้นได้อย่างแน่นอน และเราก็ทำ! เริ่มแรกกำหนดเส้นตายคือวันที่ 15 พฤศจิกายน แต่อย่างที่คุณทราบ การทำโปรเจกต์ให้เสร็จตามกำหนดเวลานั้นผิด ดังนั้นเราจึงทำมันเสร็จช้าไปสองสัปดาห์ สแตกเทคโนโลยีของเราประกอบด้วย Java 8 และ libGDX

การพัฒนา

เริ่มการพัฒนาเมื่อวันที่ 17 ตุลาคม โดยรวมแล้วเราใช้เวลา 45 วันโดย:
  1. เราได้เรียนรู้วิธีใช้ libGDX
  2. เราเขียนโค้ด
  3. เราสร้างกราฟิก
  4. เราสร้างดนตรี
ใครก็ตามที่ได้เห็นเกมนี้อาจถามว่า "ทำไมใช้เวลานานจัง เกมง่ายมาก" ใช่ เป็นเรื่องจริง และพูดให้ชัดก็คือ ส่วนการพัฒนา (เขียนโค้ด) ใช้เวลาประมาณหนึ่งสัปดาห์ครึ่ง เวลาที่เหลือถูกแบ่งระหว่าง:
  1. การเรียนรู้วิธีการใช้เครื่องยนต์เกม
  2. การวาดภาพและการวาดงานศิลปะใหม่
  3. การเขียนเพลง.
  4. ค้นหาเสียงในhttps://freesound.org
  5. อ่านบทความมากมายเกี่ยวกับวิธีโปรโมตเกม
นอกจากนี้ เรายังมีช่วงเวลา "หยุดทำงาน" ด้วยเหตุผลหลายประการ เช่น มีคนสอบ บางคนสอบวัดผล ฯลฯ เราสามารถระบุได้ว่าช่วงหยุดทำงานเป็นเวลาหนึ่งสัปดาห์ครึ่งหรือมากกว่านั้นอย่างแน่นอน บางครั้งก็ใช้เวลาไปกับ "การโต้วาที" ด้วย: แนวคิดใหม่ๆ เกี่ยวกับสิ่งที่จะเพิ่มเข้าไปในเกมปรากฏขึ้นเกือบทุกวัน ดังนั้นเราจึงถกเถียงกันว่า "นั่นไม่จำเป็น" "นั่นไม่เหมาะ" ฯลฯ เราโยนความคิดมากมายออกไป ตัวอย่างเช่น การเพิ่มแมลงสาบวิ่งที่สามารถบดขยี้เพื่อให้ได้คะแนนพิเศษ: ในความคิดของฉัน หนึ่งในสิ่งที่ยากที่สุดคือการตัดสินใจล่วงหน้าว่าจะมีอะไรในเกมและทำตามแผนโดยไม่พยายามเพิ่ม "อีกอัน" " คุณสมบัติ. นั่นคือวิธีการสะสม 45 วันเหล่านี้ ต้นแบบของเกมพร้อมแล้วหลังจากผ่านไปหนึ่งสัปดาห์ครึ่ง ช่วงนี้เราไม่มีฟิคเลยจริงๆ ในตอนแรกมี ... - 2เกมนี้ง่ายมากในแง่เทคนิค เราไม่จำเป็นต้องใช้ box2d (เครื่องมือฟิสิกส์) เราสามารถจัดการการชนและคำนวณด้านตรงข้ามมุมฉากได้เอง ประเด็นที่น่าสนใจที่สุดที่ฉันจะเน้นคือ:
  1. ในขั้นต้น องค์ประกอบของเกมทั้งหมดถูกสร้างขึ้นแบบสุ่ม กล่าวอีกนัยหนึ่ง เราใส่ผู้ให้บริการ (หลุมดำ กรรไกร ดาวนินจา ไส้ดินสอ หัวใจ) ลงในอาร์เรย์ มีผู้ให้บริการแบบสุ่ม ได้รับองค์ประกอบที่มีพิกัดแบบสุ่ม เห็นได้ชัดอย่างรวดเร็วว่าแนวทางนี้ "ไม่ดีจริงๆ" เพื่อนที่เข้าร่วมการทดสอบบอกเราในสิ่งเดียวกัน โดยแนะนำให้ใช้เทมเพลต สำหรับผู้ที่เกี่ยวข้องกับการพัฒนาเกม นี่อาจเป็นทางออกที่ชัดเจน แต่เนื่องจากเราเป็นมือใหม่ในสนาม จึงเป็นคำแนะนำที่ใช้ได้จริงสำหรับเรา

    ดังนั้นเราจึงสร้างเทมเพลตขึ้นมาหลายแบบ: หุบเขากรรไกร; ไส้ดินสอ — มันเจ๋งมากที่จะเก็บพวกมันอย่างรวดเร็ว (หวือ หวือ หวือด้วยนิ้วของคุณ); และอีกหนึ่งเทมเพลตที่ฉันไม่รู้ว่าจะเรียกว่าอะไร ฉันจะบอกคุณว่าเราตั้งชื่อคลาสในโค้ดของเราว่าอะไรStraightForwardPattern:

    ในตอนแรกมี ... - 3

    เทมเพลตเหล่านี้ปรับปรุงให้ดีขึ้น แต่ก็คาดเดาได้ยากเกินไป นั่นเป็นเหตุผลที่เราเพิ่มอีก: เทมเพลตแบบสุ่ม กล่าวอีกนัยหนึ่ง ตอนนี้เรามีเทมเพลต "คงที่" และเทมเพลตสุ่มหนึ่งเทมเพลต (ใส่มีม "ที่สมดุลอย่างสมบูรณ์แบบ" ที่นี่)

  2. นี่คือปัญหาหลักที่เราพบ LibGDX เรียกใช้เมธอดการเรนเดอร์ (float delta) ในลูปไม่สิ้นสุด นี่คือที่ที่องค์ประกอบทั้งหมดถูกวาด วาดเส้นดินสอดังนี้: เราได้พิกัดนิ้วและวาดพื้นผิวที่นั่น ดังนั้น หากเราเลื่อนนิ้วไปบนหน้าจออย่างรวดเร็ว บรรทัดนั้นก็จะมี "ช่องว่าง" เนื่องจากมิลลิวินาทีระหว่างการเรียกใช้เมธอดการเรนเดอร์ (เดลต้า)

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

เกี่ยวกับเกม

รูปแบบการเล่นไม่ได้อ้างว่าไม่เหมือนใคร แต่มันค่อนข้างดีและสามารถดึงดูดผู้ใช้ได้ คุณสามารถควบคุมดินสอ วาดบนกระดาษอย่างแท้จริง และหลบหลีกสิ่งกีดขวาง เช่น กรรไกร ดาวนินจา และหลุมดำ ช่วงนี้ไส้ดินสอใกล้หมดแล้วต้องหยิบดินสอแท่งเล็กๆ หากดินสอของคุณกำลังจะหมดก่อนที่คุณจะเก็บดินสอแท่งเล็ก คุณสามารถหยิบกระจกขึ้นมาได้ เป็นเวลาสองสามวินาที แทนที่จะใช้ไส้ดินสอ ไส้ดินสอจะกลับคืนสภาพเดิม อย่างไรก็ตาม ตัวควบคุมจะถูกสะท้อนกลับในเวลาเดียวกัน หากนิ้วของคุณเลื่อนไปทางซ้าย ดินสอก็จะดึงไปทางขวา คุณยังสามารถรับหัวใจที่จะช่วยให้คุณชนสิ่งกีดขวางเพียงครั้งเดียวและมีชีวิตอยู่ได้ ยิ่งคุณเลื่อนดินสอนานขึ้นโดยไม่ยกนิ้วขึ้น คอมโบของคุณก็จะยิ่งสูงขึ้น ซึ่งหมายความว่าคุณจะสะสมคะแนนได้เร็วขึ้น ในตอนแรกมี ... - 4ความเร็วของเกมยังเพิ่มขึ้นเรื่อย ๆ สิ่งเดียวที่ขาดหายไปคือนกขี้โมโห ในขั้นต้น เราวางแผนที่จะตั้งชื่อเกมว่า Karan Dash (การทับศัพท์ของคำภาษารัสเซียสำหรับดินสอคือ karandash — ฮ่า! เราทำสิ่งนี้เพราะเฉพาะผู้ชมที่พูดภาษารัสเซียเท่านั้นที่เข้าใจการเล่นสำนวนที่สละสลวยนี้ เราเปิดตัวเกมเมื่อสองสามวันก่อนและตอนนี้กำลังโปรโมตอยู่ ที่นี่ไม่มีใครในทีมมีประสบการณ์เลย เราได้รับความรู้ทั้งหมดเกี่ยวกับการโปรโมตเกมจากบทความต่างๆ เราเผยแพร่ข้อมูลเกี่ยวกับเกมบนเว็บไซต์/ฟอรัมต่างๆ ฟรี ช่องทางการชำระเงินของเรารวมถึงการโฆษณาบน 4pd, การโฆษณากับบล็อกเกอร์หนึ่งคน, โพสต์หลายรายการในกลุ่มสาธารณะบน VKontakte และการโฆษณา AdMob อย่างไรก็ตาม โพสต์นี้เป็นส่วนหนึ่งของการโปรโมตของเรา ดังนั้นเมื่อได้รับอนุญาตจากผู้ดูแลเว็บไซต์แล้ว ฉันจึงใส่ลิงก์ไปยังเกมที่นี่ คุณสามารถค้นหาเกมบน Google Play ได้ที่นี่ ฉันจะขอบคุณถ้าคุณจะติดตั้งมัน (บางทีคุณอาจจะชอบมัน!) และถ้าคุณให้คะแนน ฉันสัญญาว่าจะตั้งชื่อลูกตามคุณ! :) ในตอนแรกมี ... - 6
ความคิดเห็น
  • เป็นที่นิยม
  • ใหม่
  • เก่า
คุณต้องลงชื่อเข้าใช้เพื่อแสดงความคิดเห็น
หน้านี้ยังไม่มีความคิดเห็นใด ๆ