DrumHero: ฉันสร้างเกมแรกในชีวิตได้อย่างไร

ในปีนี้ โปรแกรมด้านสังคมและการศึกษา IT SCHOOL SAMSUNG มีอายุครบ 5 ปี (อ่านเกี่ยวกับ IT SCHOOL ที่นี่) และในโอกาสนี้ เราได้เชิญผู้สำเร็จการศึกษาของเรามาพูดคุยเกี่ยวกับตนเองและประสบการณ์ในการสร้างแอปพลิเคชันบนมือถือ เราเชื่อว่าด้วยความปรารถนาอันแรงกล้า ทุกคนสามารถประสบความสำเร็จได้!

แขกรับเชิญคนแรกในส่วนนี้คือ Shamil Magomedov ซึ่งสำเร็จการศึกษาจาก SAMSUNG IT SCHOOL ประจำปี 2017 ปัจจุบันเป็นนักเรียนที่ MIEM NRU HSE Shamil ขอบคุณมากที่สละเวลาเขียนบทความนี้แม้ว่าตารางงานของคุณจะยุ่งก็ตาม!

Hello!
วันนี้ฉันอยากจะพูดคุยเกี่ยวกับวิธีที่ฉันก้าวจากการ "ยอมรับแบบมีเงื่อนไข" สู่ SAMSUNG IT SCHOOL ไปสู่ผู้เข้ารอบสุดท้ายในการแข่งขันการพัฒนามือถือ All-Russian ได้ด้วยเกมนี้ ดรัมฮีโร่.

DrumHero: ฉันสร้างเกมแรกในชีวิตได้อย่างไร

ประวัติศาสตร์

ฉันเข้าเรียนที่โรงเรียนไอทีเมื่ออยู่เกรด 10 ตั้งแต่วันแรกของการฝึก ฉันตามหลังคนอื่นๆ และสิ่งนี้สามารถคาดเดาได้แม้กระทั่งก่อนเริ่มหลักสูตร (ซึ่งเห็นได้จากคะแนนสอบเข้าที่ต่ำมากของฉัน) หลักการเขียนโปรแกรมทั้งหมดนี้ โครงสร้างของแพลตฟอร์ม Android และภาษา Java จะเข้าใจทั้งหมดได้อย่างไร

โชคดีที่ฉันมีทุกสิ่งที่จำเป็นเพื่อฝึกฝนทักษะการพัฒนาให้ประสบความสำเร็จ นั่นคือความปรารถนาอันไม่มีที่สิ้นสุดที่จะก้าวไปข้างหน้าและไม่หยุดนิ่ง

ทุ่มเทเวลามากมายในการบ้านอยู่สายตลอดเวลาหลังเลิกเรียนกับครู Vladimir Vladimirovich Ilyin (ฉันโชคดีอย่างไม่น่าเชื่อกับเขา) ฉันเริ่มปรับตัวให้เข้ากับการเรียนรู้ที่รวดเร็วและคิดถึงโครงการสำเร็จการศึกษาของฉัน

DrumHero: ฉันสร้างเกมแรกในชีวิตได้อย่างไร

กับอาจารย์ - V.V. Ilyin

ค้นหาแนวคิด

หลายคนคิดว่าเมื่อสร้างโปรเจ็กต์ ไม่ว่าจะเป็นสตาร์ทอัพหรือสิ่งเล็กๆ น้อยๆ เพื่อหาประสบการณ์ ความยากลำบากทั้งหมดอยู่ที่การพัฒนา: การเขียนโค้ดจำนวนมาก การเรียนรู้ไลบรารีใหม่ การทดสอบอย่างต่อเนื่อง - น่ากลัวมาก! เชื่อฉันเถอะว่านี่ไม่เป็นความจริงเลย ฉันให้เหตุผลในลักษณะเดียวกันจนกระทั่งฉันต้องเผชิญกับความจำเป็นในการเลือกและนำแนวคิดไปใช้ซึ่งกลายเป็นขั้นตอนที่ยากที่สุดขั้นตอนหนึ่ง

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

ที่สำคัญที่สุด ฉันอยากจะเขียนเกมดนตรี แต่ความสงสัยเกี่ยวกับความสามารถของฉันกลับเข้ามาขัดขวางจริงๆ ดูเหมือนว่าจะเป็นไปไม่ได้ที่จะทำงานให้เสร็จ และด้วยเหตุนี้ ฉันจึงเปลี่ยนตัวเลือกมากกว่าหนึ่งครั้ง: บิลเลียดเคลื่อนที่ โบว์ลิ่ง นักวิ่ง ฯลฯ ในที่สุด ฉันได้เรียนรู้บทเรียนหนึ่งจากสิ่งนี้: ความยากลำบากจะเกิดขึ้นเสมอโดยไม่คำนึงถึงแนวคิดการใช้งาน ดังนั้น สิ่งที่สำคัญที่สุดคือการเลือกสิ่งที่คุณชอบและไปจนจบ.

DrumHero: ฉันสร้างเกมแรกในชีวิตได้อย่างไร

ฉันชอบเกม Guitar Hero มาโดยตลอด

การใช้ตรรกะของเกม

แนวคิดพื้นฐานเบื้องหลังแอปอย่าง Guitar Hero คือการแตะหน้าจอตามจังหวะเพลง
ก่อนอื่น ฉันเริ่มใช้ตรรกะของเกม:

  1. สร้างคลาสของโน้ต ปุ่ม และแถบซึ่งโน้ตจะเคลื่อนไหว
  2. ฉันวางผืนผ้าใบไว้บนหน้าจอทั้งหมดของแอปพลิเคชันและฉันได้อธิบายตำแหน่งของออบเจ็กต์ของคลาสที่สร้างขึ้นแล้ว
  3. ใช้งานการเปิดตัวไฟล์ mp3 ของเพลงและอาร์เรย์บันทึกย่อที่ได้รับจากฐานข้อมูลและ voila ไปพร้อมกัน! ร่างแรกของเกมอยู่ในสมาร์ทโฟนของฉันแล้ว :)

DrumHero: ฉันสร้างเกมแรกในชีวิตได้อย่างไร

เวอร์ชันแรกของเกม

ใช่ มันดู “น่าประทับใจ” แต่ก็เกือบจะเพียงพอที่จะทดสอบเกมแล้ว! ขั้นตอนสุดท้ายที่จำเป็นคือรายการโน้ตสำหรับเพลง และฉันต้องใช้เวลามากในการปรับใช้
หลักการค่อนข้างง่าย: การใช้ค่าของตารางฐานข้อมูลโปรแกรมจะสร้างวัตถุของคลาส "Note" และเพิ่มบันทึกย่อผลลัพธ์ลงในอาร์เรย์ ตารางประกอบด้วยสองคอลัมน์:

  • หมายเลขบรรทัดตั้งแต่ 1 ถึง 4 ที่โน้ตควรอยู่และ
  • เวลาที่ควรจะปรากฏบนหน้าจอ

ทำไมฉันถึงใช้เวลามากมายถ้าทุกอย่างเรียบง่ายขนาดนี้? เพื่อเติมฐานข้อมูลนี้!
น่าเสียดายที่ในเวลานั้นฉันไม่สามารถหาวิธีทำให้กระบวนการรับโน้ตเพลงในรูปแบบที่ฉันต้องการจากไฟล์ MP3 ของเพลงเป็นแบบอัตโนมัติได้ ดังนั้นฉันจึงต้องกรอกคอลัมน์เหล่านี้ด้วยตนเอง

DrumHero: ฉันสร้างเกมแรกในชีวิตได้อย่างไร

ขั้นตอนการกรอกฐานข้อมูลด้วยบันทึกย่อ

วิธีการนี้ทำให้ฉันสามารถเริ่มพัฒนาและทดสอบเกมได้ตั้งแต่เนิ่นๆ แต่ก็ชัดเจนว่าฉันต้องคิดสิ่งที่แตกต่างออกไป ที่นี่อาจารย์ของฉัน Ilyin Vladimir Vladimirovich ช่วยฉันได้มากโดยพูดคุยเกี่ยวกับการมีอยู่ของรูปแบบ MIDI อธิบายโครงสร้างของมันและช่วยฉันค้นหาไลบรารีที่ฉันพบสำหรับการทำงานกับไฟล์ MIDI

ความสวยงามของรูปแบบนี้คือเครื่องดนตรีแต่ละชิ้นจะมีแทร็กแยกกันซึ่งมี "โน้ต" บางตัวอยู่อยู่แล้ว ด้วยวิธีนี้ คุณสามารถวนซ้ำบันทึกทั้งหมดได้อย่างง่ายดาย และเพิ่มลงในฐานข้อมูลโดยอัตโนมัติ ทั้งนี้ขึ้นอยู่กับแทร็กและเวลา นี่เป็นคุณสมบัติที่สำคัญมาก เพราะต้องขอบคุณมันที่ทำให้ฉันสามารถแก้ไขปัญหาของเกมประเภทนี้ได้ นั่นก็คือ การไม่สามารถเพิ่มเพลงของตัวเองได้ จริงอยู่ที่รูปแบบ MIDI มีข้อเสียอย่างมาก - เสียง (เราทุกคนจำท่วงทำนองในเกมย้อนยุคใช่ไหม)

การปรับปรุงการเล่นเกมอย่างค่อยเป็นค่อยไป ฉันนำโปรแกรมไปสู่สถานะการทำงานเต็มรูปแบบ เพิ่ม "คุณสมบัติ" มากมาย: ความสามารถในการเพิ่มเพลงของคุณเองจากหน่วยความจำของอุปกรณ์หรือจากแคตตาล็อกคลาวด์ ตัวเลือกระดับความยาก โหมดเริ่มต้น และอีกมากมาย
และในที่สุดก็มาถึง “เชอร์รี่ออนเดอะเค้ก”...

ออกแบบ

นี่คือจุดเริ่มต้นของ "วิสัยทัศน์" ของเกมของฉัน ก่อนอื่นผมเริ่มเลือกโปรแกรมวาดรูป ฉันไม่มีประสบการณ์ในการออกแบบกราฟิก ดังนั้นฉันจึงต้องการโปรแกรมที่เรียนรู้ได้ง่าย (อย่างไรก็ตาม Photoshop) แต่ก็มีความยืดหยุ่นและสะดวกด้วย (Paint ขออภัย) ตัวเลือกตกอยู่ที่ Inkscape ซึ่งเป็นเครื่องมือที่ดีสำหรับการแก้ไขภาพเวกเตอร์ซึ่งส่วนใหญ่อยู่ในรูปแบบ svg

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

DrumHero: ฉันสร้างเกมแรกในชีวิตได้อย่างไร

การออกแบบเวอร์ชันแรก (สองหน้าจอ ไม่มีแอนิเมชัน ชื่อเก่า)

DrumHero: ฉันสร้างเกมแรกในชีวิตได้อย่างไร

การออกแบบเวอร์ชันที่สอง (4 หน้าจอ หน้าจอเริ่มต้นจะเต้นเป็นจังหวะได้อย่างราบรื่นด้วยสีต่างๆ การไล่ระดับสีทุกที่)

ฉันปกป้องโครงการสุดท้ายของฉันและมีความสุขมากเมื่อพบว่าฉันผ่านรอบคัดเลือกและได้รับเชิญให้เข้าร่วมรอบชิงชนะเลิศของการแข่งขันการสมัคร IT SCHOOL ฉันเหลือเวลาประมาณหนึ่งเดือนก่อนการแข่งขัน และฉันก็คิดอย่างจริงจังว่าจะจ้างคนที่เป็นมืออาชีพมากขึ้นในสาขาการออกแบบ การค้นหาไม่ได้ไร้ผล: ปรากฎว่าเพื่อนสนิทของพี่ชายของฉันเป็นนักออกแบบที่ยอดเยี่ยม! เธอตกลงที่จะช่วยฉันทันที และการออกแบบเกมในปัจจุบันก็ถือเป็นเครดิตของเธอ

DrumHero: ฉันสร้างเกมแรกในชีวิตได้อย่างไร

การออกแบบขั้นสุดท้าย

สิ่งพิมพ์

หลังจากเสร็จสิ้นการทำงานในเวอร์ชันวางจำหน่าย ฉันก็เริ่มเตรียมแอปพลิเคชันเพื่อเผยแพร่บน Google Play Market ทันที ขั้นตอนมาตรฐาน: การรับบัญชีนักพัฒนา การสร้างหน้าแอปพลิเคชัน ฯลฯ แต่ส่วนนี้ไม่เกี่ยวกับเรื่องนั้น

สิ่งที่น่าประหลาดใจที่สุดในเรื่องนี้ก็คือสถิติการดาวน์โหลด ในตอนแรก จำนวนการดาวน์โหลด DrumHero เพิ่มขึ้นทีละน้อยและเกือบจะเท่าๆ กันในบางประเทศในยุโรป สหรัฐอเมริกา และประเทศ CIS แต่ผ่านไปหนึ่งเดือน และจำนวนการดาวน์โหลดก็สูงถึง 100 ครั้ง! ข้อเท็จจริงที่น่าสนใจก็คือการดาวน์โหลดส่วนใหญ่มาจากอินโดนีเซีย

ข้อสรุป

DrumHero เป็นโปรเจ็กต์จริงจังครั้งแรกของฉันที่ฉันได้เรียนรู้การเขียนโปรแกรม เขาไม่เพียงพาฉันเข้าสู่การแข่งขันโครงการ SAMSUNG IT SCHOOL ในการแข่งขัน All-Russian Final เท่านั้น แต่ยังทำให้ฉันมีประสบการณ์มากมายในด้านการออกแบบกราฟิก GameDev การโต้ตอบกับบริการ Play Market และอีกมากมาย

DrumHero: ฉันสร้างเกมแรกในชีวิตได้อย่างไร

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

ข้อมูล:
SAMSUNG IT SCHOOL เป็นโปรแกรมการศึกษาเพิ่มเติมเต็มเวลาฟรีสำหรับนักเรียนมัธยมปลาย ซึ่งดำเนินงานใน 25 เมืองของรัสเซีย
โครงการรับปริญญาของนักศึกษาเป็นแอปพลิเคชั่นบนมือถือ อาจเป็นเกม แอปโซเชียล นักวางแผน หรืออะไรก็ได้ที่พวกเขาต้องการ
สามารถสมัครเข้ารับการฝึกอบรมได้ตั้งแต่เดือนกันยายน 2019 เป็นต้นไป ที่ เว็บไซต์ โปรแกรม


ที่มา: will.com

เพิ่มความคิดเห็น