DrumHero:我是如何製作人生中第一款遊戲的

今年,社會與教育計畫 IT SCHOOL SAMSUNG 迎來了 5 歲生日(了解 IT SCHOOL 這裡),這次我們邀請我們的畢業生談論他們自己以及他們在創建行動應用程式方面的經驗。我們相信,只要有足夠的渴望,每個人都可以成功!

本部分的第一位嘉賓是 Shaamil Magomedov,他是 SAMSUNG IT SCHOOL 2017 年畢業生,現在是 MIEM NRU HSE 的學生。 Shaamil,非常感謝您在百忙之中抽空寫這篇文章!

大家好!
今天我想談談我是如何透過這款遊戲從「有條件錄取」到三星IT學校,進入全俄羅斯行動開發大賽決賽的 鼓英雄.

DrumHero:我是如何製作人生中第一款遊戲的

我在 10 年級時進入 IT 學校。從訓練的第一天起,我就落後於其他人,這甚至在課程開始之前就可以預見(我的入學考試成績極低就證明了這一點)。所有這些程式設計原理、Android平台的結構和Java語言,如何理解呢?

幸運的是,我擁有成功掌握開發技能所需的一切:前進而不是停止的無限渴望。

投入大量時間做作業,經常在老師弗拉基米爾·弗拉基米羅維奇·伊林(Vladimir Vladimirovich Ilyin)(我非常幸運和他在一起)下課後熬夜,我開始適應快節奏的學習並思考我的畢業設計。

DrumHero:我是如何製作人生中第一款遊戲的

與老師 - V.V. Ilyin

尋找一個想法

許多人認為,在創建專案時,無論是新創公司還是累積經驗的小項目,所有的困難都在於開發:編寫一堆程式碼,學習新庫,不斷測試 - 恐怖!相信我,這根本不是真的。我以完全相同的方式推理,直到我自己面臨選擇和實施一個想法的需要;結果證明這是最困難的階段之一。

在學習初期選擇一個想法最困難的事情是確定實現的複雜性:很長一段時間我都無法想出一個我可以做並且同時喜歡的應用程式。

最重要的是,我想編寫一款音樂遊戲,但對我能力的懷疑確實阻礙了我。似乎無法完成工作了,為此我不只一次改變了自己的選擇:移動桌球、保齡球、跑步機等。最終,我從中得到了一個教訓: 困難總是會出現,無論應用想法如何,因此 最重要的是選擇自己喜歡的並走到最後.

DrumHero:我是如何製作人生中第一款遊戲的

我一直很喜歡吉他英雄這個遊戲

遊戲邏輯的實現

《吉他英雄》等應用程式背後的基本概念是隨著音樂的節拍點擊螢幕。
首先,我開始實現遊戲邏輯:

  1. 建立筆記類別、按鈕和筆記將沿其移動的條紋。
  2. 我將畫布放置在應用程式的整個螢幕上,並在其上描述了所創建類別的物件的位置。
  3. 實作了同時啟動歌曲的 mp3 檔案和從資料庫取得的一系列音符,瞧!遊戲的初稿已經在我的智慧型手機上:)

DrumHero:我是如何製作人生中第一款遊戲的

遊戲的第一個版本

是的,它看起來“令人印象深刻”,但這幾乎足以測試遊戲了!最後一個必要的步驟是歌曲的音符列表,我必須花很多時間來實現它。
原理非常簡單:程式使用資料庫表的值來建立「Note」類別的對象,並將產生的註解添加到陣列中。此表由兩列組成:

  • 註釋應位於的行號 1 到 4 以及
  • 它應該出現在螢幕上的時間。

如果一切都這麼簡單,為什麼我要花很多時間?填充這個資料庫!
不幸的是,當時我無法弄清楚如何自動從歌曲的 mp3 檔案中獲取所需格式的樂譜,因此我必須手動根據耳朵填寫這些列。

DrumHero:我是如何製作人生中第一款遊戲的

用筆記填滿資料庫的過程

這種方法使我能夠儘早開始開發和測試遊戲,但很明顯我需要想出一些不同的東西。在這裡,我的老師 Ilyin Vladimir Vladimirovich 給了我很多幫助,他談論了 MIDI 格式的存在,解釋了它的結構,並幫助我找出了我找到的用於處理 MIDI 文件的庫。

這種格式的美妙之處在於,其中每個樂器都已經是一個單獨的軌道,其中某些“音符”位於其上。這樣,您可以輕鬆地循環瀏覽所有筆記,並根據曲目和時間自動將它們新增至資料庫。這是一個非常重要的屬性,因為正是有了它,我才能夠解決這類遊戲的問題:無法加入自己的歌曲。誠然,MIDI 格式有一個很大的缺點 - 聲音(我們都記得復古遊戲中的旋律,對吧?)。

在逐漸改進遊戲玩法的過程中,我使程式達到了完全運行的狀態,添加了許多「功能」:能夠從設備內存或雲端目錄中添加自己的歌曲、選擇難度級別、初學者模式等等。
最後我來到了「蛋糕上的櫻桃」...

設計

這就是我對遊戲的「願景」的體現的開始。首先,我開始選擇一個繪圖程式。我沒有任何圖形設計經驗,所以我需要一個易於學習的程式(順便說一句,Photoshop),但也靈活方便(Paint,對不起)。選擇落在了 Inkscape——一個編輯向量圖像(主要是 svg 格式)的好工具。

在對這個程式更加熟悉後,我開始繪製遊戲的每個元素並將其保存為不同的分辨率,以適合不同的裝置螢幕尺寸。也嘗試實現音符爆炸的動畫,儘管最終的設計不合適,但我很高興。當然,在完成專案的同時,我繼續進行設計,添加新的顏色(漸變「一見鍾情」)。

DrumHero:我是如何製作人生中第一款遊戲的

第一個版本的設計(兩個螢幕,無動畫,舊名稱)

DrumHero:我是如何製作人生中第一款遊戲的

第二版設計(4個螢幕,初始螢幕可平滑地脈動著不同的顏色,到處都是漸層)

我完成了期末專案的答辯,當我發現自己已經通過資格賽並受邀參加 IT SCHOOL 申請大賽的決賽時,我非常高興。距離比賽還有大約一個月的時間,我認真考慮聘請一位在設計領域更專業的人。尋找並沒有白費:事實證明,我哥哥的密友是一位出色的設計師!她立即​​同意幫助我,現在的遊戲設計都是她的功勞。

DrumHero:我是如何製作人生中第一款遊戲的

最終設計

發布

完成發布版本的工作後,我立即開始準備在 Google Play 市場上發布該應用程式。標準流程:取得開發者帳號、建立應用程式頁面等。但本節不是關於這個的。

這個故事中最令人驚訝的是下載統計數據。起初,DrumHero的下載量逐漸增加,在一些歐洲國家、美國和獨聯體國家幾乎均勻增長,但一個月後,下載量達到了100萬次!一個有趣的事實是,大部分下載來自印尼。

結論

DrumHero 是我學習程式設計的第一個嚴肅專案。他不僅帶我參加了 SAMSUNG IT SCHOOL 專案競賽的全俄決賽,還給了我許多平面設計、GameDev、與 Play Market 服務互動等方面的經驗。

DrumHero:我是如何製作人生中第一款遊戲的

當然,現在我看到了遊戲的許多缺點,雖然今天下載量已經接近200萬了,我的計劃是發布一個新版本,關於如何增加穩定性、改善遊戲性和增加下載量有想法。

說明:
SAMSUNG IT SCHOOL 是高中生的免費全日製附加教育計劃,在俄羅斯 25 個城市運作。
學生的畢業設計是一個行動應用程式。它可以是一款遊戲、一款社交應用程式、一款計畫工具,無論他們想要什麼。
您可以從 2019 年 XNUMX 月開始申請培訓: 在線 節目。


來源: www.habr.com

添加評論