Какъв 2D Game Engine да използвам за следващата си игра

Преди няколко седмици публикувах за моя опит, опитвайки се да направя прототип в куп различни двигатели / рамки за 2D игри, за да науча какво ги кара да отметкат.

Ако пазарувате двигател за следващата си 2D игра, тази статия ще предостави някои неща, които трябва да имате предвид, които могат да помогнат в процеса ви на разпознаване.

Имайте предвид, че не се опитвам да покрия всеки двигател на 2D игра там; нито позиционирам един двигател или рамка върху друг. Тези препоръки са от моя личен опит при използване на различни двигатели и рамки за прототипиране.

И ако предпочитате да гледате, вместо да четете, създадох видео версия на тази публикация (26-минутно гледане):

Реагирайте

На пръв поглед може би си мислите: "React е фронтова рамка за създаване на интерактивни уебсайтове. Това не е игрален механизъм!" И ще бъдете най-вече правилни.

Реагират не осигурява вградена поддръжка за основите за развитие на игра, като, например, 2D физика, но това прави дръжка състояние изключително добре. Ако вече сте разработчик на JavaScript и сте готови да сдвоите React с нещо като boardgame.io, за да направите проста 2D игра, потенциално бихте могли да получите прототип и да стартирате доста бързо.

За всички останали видове 2D игри ще искате да търсите другаде.

Единство

Unity се е появил повсеместно в пространствата за разработване на 2D и 3D игри. Бих го позиционирал като отличен двигател за 3D игри и полезен 2D.

Редакторът на Unity е доста сложен, с много вложени менюта, които отнемат известно време, за да се увиете (вижте тази статия за обиколка на неговите 2D функции). Ако все още нямате фон в C #, който Unity използва за скриптове, ще искате да го отстраните преди да научите Unity, тъй като това ще улесни общата ви крива на обучение.

Unity също прави много неща по "трудния начин", когато става въпрос за разработване на 2D игри, което не се чувства родно в сравнение с други двигатели за игри. Създаването на 2D игрален свят в Unity, например, се чувства сякаш обувате 2D самолет в голямо 3D пространство и неща като анимация и съвършенство на пикселите са по-тромави, отколкото в други 2D-специфични двигатели.

Можете да направите всякакъв вид 2D игра с Unity, ако желаете да се борите с редактора и основните 3D идиосинкразии. Той има широка подкрепа от общността и ще откриете, че работата с C # е удоволствие. Освен това Unity's Asset Store разполага с всички видове изкуство и шаблони, които можете да изтеглите и закупите, но купувачът трябва да внимава: може да прекарате толкова време, за да пренапишете кода на някой друг, за да отговаря на вашия проект, колкото бихте започнали от нулата.

Като цяло Unity е безплатен за използване, но ценообразуването става по-сложно, ако искате да използвате всичко , което предлага (вижте тази страница за повече подробности).

Годо

Godot е безплатен и 2D и 3D игрален механизъм с отворен код, който поддържа GDScript, C # и дори C ++ и Python, ако сте готови да направите голяма част от тежката работа, за да ги накарате да работят. Той поддържа работен процес в стил възел и е супер лек.

Ако сте а) готови да инвестирате в изучаване на GDScript или б) вече супер добри в C #, C ++ или Python, вероятно ще се оправите в Godot, особено ако обичате да работите с софтуер с отворен код. Ако не, може лесно да се разочаровате, тъй като няма почти толкова много поддръжка за C # или други езици, колкото за GDScript. И все пак, Годо е приятен двигател, с който да работите и въпреки че може да няма същото родословие и подкрепа от общността като нещо като Unity, ако сте самоучител, може да се чувствате добре като у дома си.

Постройте 3

Ако просто искате да правите 2D игри и не ви интересува езикът за програмиране или абонаментните такси, ще намерите Construct 3, за да имате всичко необходимо, за да стартирате и стартирате демонстрация и то бързо. Цялата ви работа ще бъде извършена в браузър, с помощта на инструменти за плъзгане и пускане (и персонализирана поддръжка на JavaScript, ако имате нужда от нея).

Не очаквайте обаче да имате значително продуктивно изживяване с Construct 3 безплатно. Има една проста демонстрация, която можете да изпробвате, но въздействащото разработване на игри с Construct 3 е заключено зад платена стена и при това абонамент.

Game Maker Studio 2

Game Maker Studio 2 има лесен за ползване редактор, който поддържа собствен език, наречен по подходящ начин Game Maker Language (GML), заедно с визуални скриптове. Той също така има много уроци, голяма подкрепа от общността и магазин за активи (който идва със същите предупреждения като Unity, по-горе).

Общият работен процес на Game Maker Studio 2 и правенето на неща като анимиране на спрайтове, настройване на вашия свят на игри и т.н. са ясни и интуитивни. GML може да не е вашата чаша чай, ако идвате от друг, по-широко използван език за програмиране и не бих го препоръчал като първото ви въведение в обучението за кодиране. Той използва някои от основните концепции за програмиране, но не и важни подробности като кодиране на най-добрите практики или как да напишете чист код.

Освен това можете да изпробвате Game Maker Studio 2 с безплатен 30-дневен пробен период, но ще трябва да платите, за да продължите да го използвате след това време.

Фазер 3

Ако искате да кодирате всичко и да научите много за екосистемата на JavaScript, докато го правите, проверете Phaser 3 (или изчакайте Phaser 4, който е на път).

Phaser е лека и мощна JavaScript рамка за създаване на 2D игри. Докато Phaser 2 беше изключително добре документиран и имаше отлична подкрепа от общността, Phaser 3 е точно обратното. Има добра официална документация и куп примери (без много контекст около тях, трябва да се каже) и ужасяващо малко уроци.

Очаквайте да изградите всичко сами, но ако търсите поддръжка за ES6 или TypeScript или ако наистина искате да усъвършенствате уменията си като разработчик на JavaScript, ще можете да извървите дълъг път с Phaser 3.

В интерес на справедливостта трябва да спомена още два двигателя за 2D игри, които са ми препоръчани откакто започнах да пиша по темата: LÖVE 2D, който използва Lua, и MonoGame, който поддържа C #. Не съм използвал нито един от тях (нито други, като PyGame) и не мога да говоря за полезността им, но може би си струва да ги проверите.

Кажете ми кой двуизмерен двигател за игри ликвидирате и защо!

Ако харесате тази статия, моля, помислете за разглеждане на игрите и книгите ми, абониране за моя канал в YouTube или присъединяване към Entromancy Discord.

MS Farzan, Ph.D. е писал и работил за известни компании за видеоигри и редакционни уебсайтове като Electronic Arts, Perfect World Entertainment, Modus Games и MMORPG.com и е служил като мениджър на общността за игри като Dungeons & Dragons Neverwinter и Mass Effect: Andromeda . Той е креативен директор и водещ дизайнер на игри на Entromancy: A Cyberpunk Fantasy RPG и автор на The Nightpath Trilogy . Намерете MS Farzan в Twitter @sominator.