Рекомендований ігровий движок 2D для прототипування [закрито]


76

Який ігровий двигун високого рівня ви б рекомендували розробити прототип 2D ігор на Windows? (або mac / linux, якщо бажаєте)

Вигляд речей, які я маю на увазі під "високим рівнем", включає (але, безумовно, не обмежується):

  • не потрібно керувати матеріалами низького рівня, як буфери екрана, графічні контексти
  • мати API для малювання геометричних фігур
  • добре, я збирався його опустити, але, мабуть, базуватися на фактичній мові "високого рівня" - це плюс (автоматичне управління ресурсами та наявність розумного набору структур даних у стандартній бібліотеці).

Мені здається, що Flash - це пословічний слон у кімнаті для цього запиту, але я дуже хотів би бачити різні відповіді на основі всіх мов чи SDK.

Відповіді:


31

Я широко використовував пігаму , і вона має багато позитивних результатів:

  • це бібліотека для Python, яка є мовою високого рівня
  • це хороша чітка документація
  • це активне співтовариство

Pygame - це обгортка навколо SDL, міжплатформна 2D графічна бібліотека. Також у Pygame є обгортки для звуку, музики тощо. Зауважте, що незважаючи на те, що Python є мовою програмування високого рівня, pygame є (здебільшого) досить низькою графічною бібліотекою.


3
Ви можете зауважити, що хоч це мова високого рівня, але як ігрова рамка вона все ще досить низька.
Хенк

5
Так, ви можете легко провести кілька тижнів повільно, будуючи ігровий движок в PyGame, не маючи особливої ​​гри для цього. Це чудова бібліотека, але, на мій досвід, вам доведеться зібрати деякий рамковий код з часом, перш ніж він буде працювати для швидкого прототипування більш задіяних ідей.
Джеймс

35

Якщо ви хочете подивитися на інші речі. Ви можете перевірити Löve (який використовує Lua)


4
О, це виглядає як надзвичайно цікавий спосіб вчитися луа!
GloryFish

9
Зауважимо, я написав вищезгаданий коментар 22 вересня 2010 року. Через 7 днів я сів і за одну ніч створив свою першу гру Löve , ніколи раніше не писав жодного Луа. З того часу я створив кілька ігор з Lua та Löve, і зараз переношу гру Löve на iOS. Це була чудова мова для прототипування та чудовий спосіб вивчити Луа.
GloryFish

2
Чудово чути: D
Ólafur Waage

20

Я вважаю, що XNA - це дуже приємна мова для прототипу. Легко поєднувати швидкі ідеї, щоб побачити, як працюватиме гра-механіка та достатньо сильна, щоб справді виконати роботу. Він також має велику спільноту на форумах про допомогу та декілька сторонніх інструментів (фізичні двигуни / бібліотеки-помічники тощо).


Оскільки Microsoft XNA є DOA, наступне найкраще - Monogame (реалізація XNA з відкритим кодом).
ashes999

2
Вони все одно його підтримуватимуть, і ви все ще можете прототипувати ігри з ним. Вони просто не доставляють нові функції. Я б не називав це мертвим, а скоріше на пенсії :)

18

GameMaker виглядає як хороший вступний інструмент для складання прототипів або побудови. Він заснований на перетягуванні "без необхідності писати єдиний рядок коду", тому, схоже, орієнтований на новачків. (Я ніколи не використовував його, просто траплявся через нього - але їх веб-сайт, безумовно, виглядає гладко. :)



14

Також варто згадати Flixel Адама Атомського . Простий, сучасний ігровий движок з голими кістками, написаний у Flash. Ви можете дізнатися це за хвилини, а не за дні. А використання Flash (або Processing / Java) дозволяє вам уникнути однієї з найнебезпечніших підводних каменів прототипування: Ви не можете використовувати код прототипу на будь-якій серйозній платформі. Це гра, яку ви хочете прообразувати, а не код.


1
+1 Для Flixel Чудовий двигун. Ми використовували його на Global Game Jam (і перемогли :). Напівполіровані прототипи неможливо вийти набагато швидше, ніж за 48 годин!
michael.bartnett

Дійсно дійсно чудово. У мене була п'єса сьогодні вранці, і вона навчила мене сценарію дій з нуля.
mcintyre321

@ michael.bartnett, чи можете ви зв’язати свою гру-виграш? Просто цікаво :)
Джеймс Макмахон

@JamesMcMahon Я ціную вашу цікавість :) Чи не могли б ви надіслати мені на чат про це? Крім того, хочу згадати майбутнім читачам коментарів, що я віддаю перевагу Flashpunk над Flixel в даний час між ними.
michael.bartnett

8

Це не спеціально ігровий движок, але погляньте на Processing . Деякі з хороших моментів:

  • Необхідні мінімальні налаштування. Ви можете мати щось на екрані за 30 секунд.
  • Можна занурюватися в Java в будь-який час для таких речей, як колекції, але багато синтаксису малювання, анімації та взаємодії набагато менш багатослівне, ніж пряма Java.
  • Все, що ви пишете, буде сумісне з Processing.js , тому ви можете працювати з ним у будь-якому місці сучасного браузера.

8

Я використовую Novashell.

Я використовував Game Maker як основний інструмент, але у мене виникли проблеми з YoYo Games (я зараз не поясню тут), тоді я знайшов Novashell.

Novashell дійсно є інструментом для складання прототипів, його створив людина, яка також зробила "LORD" (Легенда про Червоного Дракона) та "Dink Smallwood", щоб він міг швидко робити ігри для Ludumdare (змагання з геймею за 48 годин), у ньому є редактор карт , підтримує сценарій LUA, виготовлений на C ++, має ліцензію zlib (це означає, що ви можете робити все, що завгодно, з джерелом, за винятком тверджень, що ви вигадали речі, яких ви не робили), і має двигун фізики (Box2D), систему частинок (Лінійна частинка для ClanLIB), підтримує MikMod та Fmod, працює в Linux, Mac та Windows, мертвий простий у використанні, і ви можете запитати речі у Seth!

EDIT: Сет - ім'я програміста (який також зробив Господь)


Дякую! ніколи не чув про це раніше, але список функцій досить цікавий, щоб спробувати його. також з відкритим кодом
Nek

Так! Моя власна версія Novashell дещо вдосконалена стосовно офіційної версії, але пройде LOOONG час, перш ніж я можу випустити її :( (її навіть у комп’ютері фізично немає біля мене)
швидкість

у будь-якому випадку я не встигаю це навчитися перед Ludum Dare у ці вихідні. Сподіваюсь, ви випустите його до наступного ступеня виступу.
Нек

також основним коментарем цього ЛД є сам Сет!
Нек

Так :) Сет приголомшливий ... Я не йду в ногу з ЛД :( Тож я не маю уявлення навіть про те, коли буде наступний ЛД.
швидкість

7

Game Maker дуже крутий, він в основному робить все, що ви описали. У ньому є значки перетягування для початківців та код для досвідчених користувачів. Однак після використання ексклюзивно C ++ протягом року, повернення до Game Maker було болісним.

Недоліки:

  • Немає визначених користувачем структур даних (нічого, як C структури або C ++ класи, просто "об'єкти")
  • Динамічно набраний (тип "varAwesome = 0" і о, боже, щойно з'явився)
  • Ігри YoYo - це зло

Вгору:

  • Простий у використанні, важкий у освоєнні
  • Чи багато матеріалів на низькому рівні для вас
  • Яскрава та активна спільнота

Я почав робити ігри за допомогою Game Maker у 2002 році. :)


6
lol у динамічно
набраному

Так, це і слабкий набір тексту. У мене з’явилися справді дивні помилки, перш ніж зрозуміти, що оператор модуля повертає відповіді у плаваючій точці.
Джеймс

Жодна визначена користувачем структура даних не є болем. Якщо вам потрібно повернути більше ніж одне значення з функції, вам потрібно створити для неї об’єкт, але всі об’єкти - це повноцінні актори гри з позицією, подіями тощо. Ви не можете проходити навколо масивів (якщо ви не вказали індекс, буде вважати [0])
Барт ван Хекелом

Я також рекомендую GameMaker, якщо ви хочете швидко прообразувати свій ігровий дизайн. GameMaker дуже потужний, і я бачив деякі дивовижні речі, зроблені з ним. Ви можете потенційно заощадити собі багато часу і скорботи, якщо спершу скласти прототип свого ігрового дизайну в GameMaker, перш ніж перейти до розробки ігрового двигуна в C ++ або XNA.
Купер

У мене фактично є бібліотека сценаріїв динамічного розподілу пам’яті спеціально для вирішення проблеми браку структур даних. Я скажу, що наявність таких бібліотек та вміння робити це у версії Lite, безумовно, дуже легко працювати з ними.
Велика качка

5

Я використовую DarkBASIC Professional вже 2 роки і дуже насолоджуюся цим. Якщо ви не можете дозволити собі придбати повну версію, ви можете просто завантажити безкоштовну підтримувану рекламу версію. Творці ігор, що створюють DBPro, також випускають звичайний інформаційний бюлетень, який робить досить непоганим читання, плюс вони мають досить велике активне співтовариство; все вищесказане можна знайти тут:

https://www.thegamecreators.com/

Перевірте це, сподіваємось, ви там щось знайдете.

Ура, БФМ


5

cocos2d, який використовує піглет . Ці дві бібліотеки Python я широко використовую для прототипування.

Набагато простіше працювати з пігамою.

Я здивований, що це ще не було згадано!


5

Я б рекомендував Scirra Construct для початківців і швидкого складання прототипів.

Сам ігровий движок абстрагується, тому ви можете повністю зосередитись на своїй грі. Плагіни дозволяють отримати додаткову функціональність, "код" складається з перетягуваних блоків подій, стану та дій тощо.

Construct знаходиться в стадії активного розвитку, а також має активне співтовариство.


3

Скролінг Kit Game Development версія 2 є другим основним ітерація (переписування) з IDE для розробки ігор і рамок для саме такого роду прототипирования і простий розробки 2-D гри. В якості другої ітерації він використовує сучасні мови (C #) та технології (роздуми над спеціальним кодом), а також опрацьовує деякі основні недоліки в дизайні (тепер він дозволяє розміщувати спрайти безпосередньо в редакторі карт, а не лише шлях, який повинен бути зовнішньо з'єднаний з спрайтом, і він не намагається бути таким редактором Wysywig, тому що є деякі речі, які ви хочете, щоб вони траплялися лише під час виконання, та інші, які ви хочете лише в час проектування).

Деякі особливості, що цікавлять:

  1. Переважна більшість рамкових кодів відкривається та редагується в IDE. Якщо вам не подобається, як поводиться вбудована функція "PushTowardSprite", ви можете піднести редактор і змінити його або додати свій власний, який відображатиметься у списку прямо разом із усіма вбудованими командами.
  2. Ви згадали про вміння малювати багатокутники. Ця основа заснована на OpenTK, який є .NET обгорткою навколо OpenGL. Таким чином, у вас є вся сила OpenGL під рукою. У рамковому коді є один клас "Display.cs", який ви можете редагувати в IDE, додайте всі необхідні функції малювання.
  3. Значна частина фреймворку орієнтована на фізику бічних скролерів (ходьба по схилах, їзда на платформах тощо), тому багато цього коду вже зроблено для вас; звичайно, ви можете налаштувати або проігнорувати його для інших 2-D типів гри. З ним написана гра «Тетріс».
  4. Прокрутка Паралакса
  5. Прозорість альфа може бути вбудована у графіку або застосована до малювання будь-якої графіки.
  6. Усі дані проекту зберігаються в одному XML-файлі (набір даних .NET). Зовнішні редактори можуть отримати доступ до файлу, тим самим розширивши функції, доступні в IDE, якщо необхідно.
  7. Проекти складаються спочатку в проекти C # (сумісні з Visual Studio), а потім у файли EXE (з усіма вбудованими ресурсами). Якщо потрібно, ви можете завантажити проект у Visual Studio для розширеного інтерфейсу налагодження чи розробки коду.

3

З PreviewLabs, компанією, що спеціалізується на швидкому прототипуванні , ми часто використовуємо Unity3D для прототипу 2D Games.

Хоча це тривимірний двигун, існує кілька способів використовувати його для 2D-прототипування. Це основні переваги:

  • Це безкоштовно для використання на платформах PC і Mac
  • Платні версії також працюють для iOS та Android, що дозволяє вам бачити, як ваша концепція працюватиме на іншій платформі.
  • Він постачається з двигуном фізики, який ви також можете використовувати при прототипуванні 2D-ігор.

Я пишу серію публікацій у блогах про те, як Unity3D можна використовувати для прототипування 2D-ігор; це перший: прототипування 2D ігор в Unity3D


3

Slick Framework написана на Java є хорошим вибором. Це те, що я вперше навчився програмувати. Переваги полягає в тому, що вона працює на крос-платформі, може виробляти аплети для Інтернету та має фантастичну підтримку інструментів / бібліотек за допомогою Eclipse або будь-якого іншого, що має середовище Java. Це сказав, що я врешті-решт перейшов на Flash просто тому, що якщо ви хочете розповсюджувати свої ігри, немає нічого легшого чи ефективнішого.


2

Я почав використовувати FlashPunk для свого першого проекту розвитку ігор, і до цього часу він був справді витончений. Це бібліотека Flash, побудована для ігрового дизайну. Це ігровий двигун з голими кістками, схожий на Flixel, але він більше схожий на GameMaker, він є більш зручним для початківців, ніж Flixel. FlashPunk разом з редактором Ogmo роблять дуже ефективним правильний дизайн рівня без необхідності витрачати багато часу на кодування. Більше інформації про всі три з них можна знайти у Flash Game Dojo .


1

Я буду другою згадкою про Game Maker. Я б сказав, якщо кожен ігровий двигун потрапляє на континуум від "простого у використанні / навчанні, але обмеженого в тому, що ти можеш зробити", до "дійсно потужного, але для того, щоб освоїти багато часу" ... Game Maker - це майже все визначення простого у користуванні екстриму. Як каже Циклоп, більшість основних функціональних можливостей (спрайти, створення ігрових об'єктів, рух, виявлення зіткнень, пробірки тощо) - це значки перетягування. Це насправді включає в себе досить надійну мову сценаріїв, яку ви також можете використовувати, як тільки ви почнете отримувати хороший результат ... але коли ви почнете писати всю гру на їх вбудованій мові сценаріїв, можливо, саме час "перейти" на мову сценаріїв, як Flash або PyGame.

Тим не менш, я мав великий успіх з Game Maker як початківець, не потрібний для програмування інструмент для студентів ігрового дизайну, і не можу його рекомендувати достатньо.


1

Я дуже початківець у створенні ігор, і мені було вражено, що мені вдалося так швидко і легко зробити щось із пігами. Python + SDL = забезпечена легкість.


1

Ну, якщо це для прототипування, вам не потрібен гладкий бек-енд з керуванням ресурсами і подібними подібними матеріалами. Поки ви можете завантажувати графіки та відображати їх, ви здебільшого налаштовані. Я іду проти зерна і пропоную "написати своє". Ви втратите нульовий час, розібравшись, як користуватися чиїми api. Якщо писати власноруч - це справді не варіант, DirectX поставляється із зразком фреймворку, який надає більшість основних послуг. Не бути обмеженим рамкою означає не втрачати будь-який час, дотримуючись його правил, і не бути обмеженим його сферою застосування. Я розробляв прототипи як роботу, і найшвидші мої результати були, коли я міг просто бити код, не переймаючись рамкою або перешкоджаючи цьому. 2D-обгортці дійсно не потребує завантаження зображень і можливості їх відображення в x, y - можливо, в масштабі, обертання, і якщо ви хочете бути потрійним, шейдер. Решту ви можете кодувати за потребою. Для прототипу, який є - код не буде приємним.


1

Крутний момент-2d від GarageGames - це чудовий ігровий движок із великою спільнотою, деякими дійсно вражаючими додатками та вбудованою підтримкою для Windows, Mac та Wii та навіть iOS (за окремою ліцензією). Коштує 99 доларів.

Unity3d (ви можете розробити на ній 2d ігри) - ще один дуже хороший ігровий двигун високої якості з відносно низьким бар'єром для входу. Знову ж таки, велике співтовариство та дійсно крута підтримка на багатьох платформах, включаючи iOS та Android, крім Win / Mac, Wii, Xbox, Playstation та Інтернету.

Чудовим ігровим двигуном для iPhone є cocos2d для iOS.


1

Ваше питання стосується того, що потрібно для написання прототипу 2D-гри, але я думаю, що є ще щось, що слід врахувати: найбільша перевага Flash - це те, що потрібно, щоб поділитися цим прототипом з іншими. Майже у всіх уже встановлений Flash. Я можу завантажити SWF та передати URL комусь у чаті чи електронному листі. Ні завантаження, ні встановлення, ні розпакування, ні exe, ні питання крос-платформи. Я закінчив вибирати Flash, тому що це було так просто ділитися та отримувати відгуки. Ітерація включає завантаження ще раз і сповіщення про їх перезавантаження, і я хотів швидкої ітерації для складання прототипів. (Javascript + Canvas / SVG - ще один корисний варіант, і я впевнений, що незабаром ми побачимо такі бібліотеки, як Flixel / Flashpunk для JS).


1

HGE здається чудовим. У нього є редактор частинок, редактор графічного інтерфейсу та використовується програмами-програмістами.


1

Завжди є GLBasic .

Це досить високий рівень мови і останнім часом розширює свою мобільну підтримку.

  • Це і 2D, і 3D
  • Безкоштовно для некомерційних
  • Основні спрайтові команди, зіткнення пікселів або блоків
  • Напишіть один раз і розгорніть на багатьох пристроях і платформах (в основному)
  • Має підтримку Box2D через обгортку (пошукові форуми)
  • Спеціальні дані ТИПИ з функціями (близькі до класу, але відсутні багато функцій OOP)
  • Може спрацьовувати спрайт на екрані за короткий час за допомогою декількох рядків коду

1

PixieEngine - це веб-середовище IDE та середовище розробки ігор. Він використовує CoffeeScript для створення сценаріїв і забезпечує вбудовані редактори для піксельної графіки та звукових ефектів.

PixieEngine IDE


1

Я був на подібному квесті і натрапив на кілька інших інструментів, про які не згадувалося:

  • Stencylworks - це середовище IDE / розробника для побудови Flash-ігор дуже швидко та легко, візуальний інтерфейс для існуючих модулів. начебто, на 100% вільний, не з відкритим кодом, а до основних переваг можна віднести гладке безкодування кодування (це не так, як шитцоїдний візуальний інтерфейс Gamemaker). Я хвилююся щодо меж візуального інтерфейсу - незрозуміло, наскільки правильно об’єктно орієнтований він насправді; у ньому звичайно є прості речі; імовірно, редактор сценаріїв JavaScript є десь там, але ще не бачив. Це, здається, призначене для спільної розробки в його основі (чат, вбудований в IDE; всі ресурси та поведінка, розміщені на сервері, внесені користувачем). Це може бути ВЕЛИКИЙ для розробки прототипу. Я ще не багато з цим займався, але підручник був мертвим простим, і там '

Я також спробував кілька інших більш дивних.

Alice - це середовище для 3D-ігор / розробників, яке є відкритим кодом - виглядає неначе незграбно.

Kodu, виходячи за рамки Gamemaker за легким / обмеженим спектром, орієнтованим на дітей, дозволяє створювати ігри з контролером Xbox. безкоштовно від Microsoft Research

Scratch від MIT Labs - це безкоштовний і дійсно базовий 2D, спрямований на те, щоб діти кодувались. Візуально незграбний. Хоча гнучка.

Повертаючись до логотипу Паперта, Microworlds JR дозволяє нібито писати логотипом. Потрібне оновлення, щоб бути корисним, IMO.

Для мене поки що це зводиться до Construct 2 vs Stencylworks ... хоча я перевірю, наскільки легко будувати гідну 2D гру в Unity, як я знаю і люблю Unity.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.