Рекомендуемый 2D Game Engine для создания прототипов [закрыто]


76

Какой игровой движок высокого уровня вы бы порекомендовали для разработки прототипа 2D-игры на Windows? (или Mac / Linux, если хотите)

Вид вещей, которые я подразумеваю под «высоким уровнем», включает (но не ограничивается ими):

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

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

Ответы:


31

Я широко использовал Pygame , и у него есть много положительных моментов:

  • это библиотека для Python, язык высокого уровня
  • у него хорошая и понятная документация
  • у него есть активное сообщество

Pygame - это обертка вокруг SDL, кросс-платформенная библиотека 2D-графики. Pygame также имеет обертки для звука, музыки и т. Д. Обратите внимание, что, несмотря на то, что Python является языком программирования высокого уровня, pygame является (по большей части) довольно низкоуровневой графической библиотекой.


3
Вы можете упомянуть, что, хотя это язык высокого уровня, в качестве игрового фреймворка он все еще довольно низкоуровневый.
Хенк

5
Да, вы можете легко потратить несколько недель на создание игрового движка в PyGame без особой игры. Это отличная библиотека, но, по моему опыту, вам придется со временем создавать некоторый фреймворк, прежде чем он сработает для быстрого прототипирования более сложных идей.
Джеймс

35

Если вы хотите посмотреть на другие вещи. Вы можете проверить Löve (который использует Lua)


4
Вау, это похоже на супер интересный способ выучить Луа!
GloryFish

9
Просто чтобы отметить, я написал вышеупомянутый комментарий 22 сентября 2010 года. 7 дней спустя я сел и за одну ночь создал свою первую игру Löve , никогда ранее не писавшую Lua. С тех пор я создал несколько игр с Lua и Löve, и в настоящее время я портирую игру Löve на iOS. Это был отличный язык для создания прототипов и отличный способ выучить Lua.
GloryFish

2
Это здорово слышать: D
Олафур Вааге

20

Я считаю XNA очень хорошим языком для создания прототипов. Легко собрать вместе быстрые идеи, чтобы увидеть, как будет работать игра / механика, и достаточно сильные, чтобы действительно выполнить свою работу. У него также есть большое сообщество на форумах для помощи и несколько сторонних инструментов (физические движки / вспомогательные библиотеки / и т.д ..)


Поскольку Microsoft XNA - это DOA, следующая лучшая вещь - Monogame (реализация XNA с открытым исходным кодом).
ashes999

2
Они все еще будут поддерживать его, и вы все еще можете создавать прототипы игр с ним. Они просто не поставляют новые функции. Я не назвал бы это мертвым, а скорее в отставке :)

18

GameMaker выглядит как хороший вводный инструмент для создания прототипов или создания игр. Он основан на перетаскивании мышью «без необходимости писать одну строчку кода», поэтому он ориентирован на новичков. (Я никогда не использовал это, только случился через это - но их веб-сайт конечно выглядит гладким. :)



14

Стоит упомянуть Flixel Адама Атомика . Простой современный голый игровой движок, написанный на Flash. Вы можете узнать это за считанные минуты, а не дни. А использование Flash (или Processing / Java) избавляет вас от одной из самых опасных ловушек прототипирования: вы не можете использовать код прототипа на любой серьезной платформе. Это игра, которую вы хотите создать, а не код.


1
+1 для фликса. Отличный двигатель. Мы использовали его в Global Game Jam (и победили :). Полуполированные прототипы не могут быть получены намного быстрее, чем 48 часов!
Майкл Бартнетт

Действительно действительно здорово. Сегодня утром у меня была пьеса, и она научила меня actionScript с нуля.
mcintyre321

@ michael.bartnett, можешь ли ты дать ссылку на свою выигрышную игру? Просто любопытно :)
Джеймс МакМэхон

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

8

Это не специально игровой движок, но посмотрите на процессинг . Некоторые из хороших моментов:

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

8

Я использую Novashell.

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

Novashell - ДЕЙСТВИТЕЛЬНО инструмент для создания прототипов, он был создан человеком, который также создал «ЛОРД» (Легенда о Красном Драконе) и «Динк Смоллвуд», чтобы он мог быстро создавать игры для Людумдара (48-часовой конкурс по джеджам), у него есть редактор карт. поддерживает сценарии LUA, сделан на C ++, имеет лицензию zlib (что означает, что вы можете делать с исходным кодом все, что угодно, если не считать того, что вы придумали то, что вы не сделали) и имеет физический движок (Box2D), систему частиц (Linear Particle for ClanLIB), поддерживает MikMod и Fmod, работает в Linux, Mac и Windows, очень прост в использовании, и вы можете просить вещи у Сета!

РЕДАКТИРОВАТЬ: Seth это имя программиста (который также сделал LORD)


Спасибо! никогда не слышал об этом раньше, но список возможностей достаточно интересен, чтобы попробовать его. также с открытым исходным кодом
Nek

Ага! Моя собственная версия Novashell немного улучшена по сравнению с официальной версией, но мне понадобится ОЧЕНЬ много времени, прежде чем я смогу ее выпустить :( (это даже не в компьютере рядом со мной)
speeder

во всяком случае, у меня нет времени, чтобы выучить это до Ludum Dare на этих выходных. Надеюсь, вы выпустите его до следующего LD.
Nek

также этот лейтмотив от самого Сета!
Нек

Да :) Сет потрясающий ... Я не поспеваю за LDs :( Так что я понятия не имею, даже когда будет следующий LD.
speeder

7

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

Недостатки:

  • Нет пользовательских структур данных (ничего подобного структурам C или классам C ++, только «объекты»)
  • Динамически набираемый (типа "varAwesome = 0" и, о боже, он только что появился)
  • YoYo Games это зло

расквитаться:

  • Легко использовать, трудно освоить
  • Делает много вещей низкого уровня для вас
  • Живое и активное сообщество

Я начал создавать игры с помощью Game Maker в 2002 году. :)


6
LOL в динамически набранных - недостаток ...
RCIX

Да, это и слабая печать. Я получил несколько действительно странных ошибок, прежде чем понял, что оператор модуля возвращает ответы с плавающей запятой.
Джеймс

Пользовательские структуры данных не являются проблемой. Если вам нужно вернуть более одного значения из функции, вам нужно создать для нее объект, но все объекты являются полными игровыми действующими лицами с позицией, событиями и т. Д. Вы не можете передавать массивы (если вы не укажете индекс, он примет [0])
Барт ван Хейкелом

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

У меня фактически есть библиотека сценариев динамического выделения памяти, чтобы обойти проблему отсутствия структур данных. Я скажу, что наличие таких библиотек и возможность делать это в облегченной версии, безусловно, облегчает работу с ними.
Великая утка

5

Я использую DarkBASIC Professional в течение 2 лет и действительно наслаждаюсь этим. Если вы не можете позволить себе купить полную версию, вы можете просто скачать бесплатную версию с рекламой. Создатели игр, разработчики DBPro, также выпускают регулярную новостную рассылку, которая делает довольно хорошее чтение, плюс у них довольно большое активное сообщество; все вышеперечисленное можно найти здесь:

https://www.thegamecreators.com/

Проверьте это, надеюсь, вы можете найти что-то там.

Ура, BFM


5

cocos2d, который использует pyglet . Я широко использую эти две библиотеки Python для создания прототипов.

Намного легче работать, чем с Pygame.

Я удивлен, что это еще не было упомянуто!


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-игр.

Хотя это 3D-движок, есть несколько способов использовать его для 2D-прототипирования. Это основные преимущества:

  • Это бесплатно для использования на платформах ПК и Mac
  • Платные версии также работают для iOS и Android, что позволяет вам увидеть, как ваша концепция будет работать на другой платформе.
  • Он поставляется с физическим движком, который вы также можете использовать при создании прототипов 2D-игр.

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


3

Slick Framework написана на Java является хорошим выбором. Это то, что я впервые научился программировать. Преимущества в том, что он работает кроссплатформенно, может создавать апплеты для Интернета и имеет фантастическую поддержку инструментов / библиотек через Eclipse или любую другую среду Java. Тем не менее я в конечном итоге переключился на Flash просто потому, что если вы хотите распространять свои игры, нет ничего проще и эффективнее.


2

Я начал использовать FlashPunk для своего первого проекта по разработке игр, и пока он был действительно отличным. Это Flash-библиотека, созданная для игрового дизайна. Это простой игровой движок, похожий на Flixel, но больше похожий на GameMaker, более удобный для начинающих, чем Flixel. FlashPunk вместе с Ogmo Editor делают его очень эффективным, чтобы получить право на дизайн уровней, не тратя много времени на кодирование. Более подробную информацию о всех трех из них можно найти во флэш-игре Dojo .


1

Второе упоминание о Game Maker. Я бы сказал, что если каждый игровой движок попадает в непрерывную цепочку от «простого в использовании / изучении, но ограниченного в том, что вы можете сделать», до «действительно мощного, но требующего много времени для освоения» ... Game Maker - в значительной степени определение из простого в использовании экстрима. Как говорит Циклоп, большинство основных функций (спрайты, создание игровых объектов, движение, обнаружение столкновений, ведение счета и т. Д.) - это значки с перетаскиванием. На самом деле он включает в себя довольно надежный язык сценариев, который вы также можете использовать, как только вы начнете становиться лучше ... но когда вы начнете писать всю свою игру на их встроенном языке сценариев, возможно, пришло время «перейти» на язык сценариев, такой как Flash или PyGame.

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


1

Я очень новичок в создании игр, и я был впечатлен, что сумел сделать что-то из Pygame так быстро и легко. Python + SDL = легкость гарантирована.


1

Что ж, если для прототипирования вам не нужен гладкий сервер с управлением ресурсами и тому подобное. Пока вы можете загружать графику и отображать ее, вы в основном настроены. Я иду против зерна и предлагаю «написать свой». Вы потеряете ноль времени, выясняя, как использовать чей-то API. Если написать «собственное» на самом деле не вариант, DirectX поставляется с примером платформы, которая предоставляет большинство основных услуг. Не быть связанным рамками означает не терять времени, следуя его правилам, и не быть ограниченным его областью действия. Я работал над созданием прототипов, и мои самые быстрые результаты были, когда я мог просто использовать bash в коде, не беспокоясь о чем-то или не мешая фреймворку. 2D-обертке действительно нужно не больше, чем загрузка изображений и возможность отображать их в x, y - возможно, с масштабом, вращение и если вы хотите быть триповым, шейдер. Остальное вы можете кодировать, как вам нужно. Для прототипа это - код не будет хорошим.


1

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

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

Отличным игровым движком для iPhone является cocos2d для iOS.


1

Ваш вопрос о том, что нужно, чтобы написать прототип 2D-игры, но я думаю, что есть еще кое-что, что нужно учитывать: самое большое преимущество Flash - то, что нужно, чтобы поделиться этим прототипом с другими. Почти у всех уже установлена ​​Flash. Я могу загрузить SWF-файл и передать его кому-нибудь через чат или по электронной почте. Нет загрузки, нет установки, нет разархивировать, нет EXE, нет кроссплатформенной проблемы. В итоге я выбрал Flash, потому что им было легко делиться и получать отзывы. Итерация включает в себя загрузку снова и указание перезагрузить их, и я хотел быструю итерацию для создания прототипа (Javascript + Canvas / SVG - еще одна полезная опция, и я уверен, что скоро мы увидим библиотеки, такие как Flixel / Flashpunk для JS).


1

HGE кажется великолепным. У него есть Particle Editor, GUI Editor, и используется профессиональными программистами.


1

Всегда есть GLBasic .

Это язык довольно высокого уровня, и в последнее время он расширяет свою мобильную поддержку.

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

1

PixieEngine - это среда IDE и среда разработки игр. Он использует CoffeeScript для сценариев и предоставляет встроенные редакторы для пиксельной графики и звуковых эффектов.

PixieEngine IDE


1

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

  • Stencylworks - это среда IDE / dev для быстрой и простой сборки Flash-игр, визуальный интерфейс для существующих модулей. кажется, что он на 100% бесплатный, а не с открытым исходным кодом, а ключевые преимущества включают в себя плавное кодирование без кода (это не похоже на скриптово-визуальный интерфейс Gamemaker's schitzoid). Я действительно беспокоюсь об ограничениях визуального интерфейса - неясно, насколько он действительно ориентирован на объект; у этого конечно есть простые вещи; предположительно где-то там есть редактор сценариев JavaScript, но он еще не видел. Похоже, он предназначен для совместной разработки по своей сути (чат, встроенный в IDE; все ресурсы и поведения, размещенные на сервере, предоставляются пользователем). Это может быть здорово для разработки прототипа. Я пока мало с этим справлялся, но учебник был очень простым, и там

Я тоже попробовал несколько более странных.

Алиса - это 3D-игра / среда разработки с открытым исходным кодом - выглядит немного неуклюже.

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

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

Возвращаясь обратно к ЛОГОТИПУ Papert, Microworlds JR, как утверждается, позволяет писать логотипом. Нужно обновление, чтобы быть полезным, ИМО.

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


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.