Что мне нужно, чтобы написать небольшую игру для Linux? - PullRequest
15 голосов
/ 29 марта 2010

Я хочу сделать простую игру: 2d, для одного игрока, без множества анимаций и спецэффектов. Меня не интересуют готовые к использованию игровые движки, я хочу научиться писать некоторый код на совершенно универсальном языке. Я использую Linux (AMD64) и ищу что-то простое с хорошей библиотекой для игр. Я не хочу смешивать несколько языков, большинство из них на самом деле достаточно быстро для моих нужд. Кроссплатформенность будет преимуществом, однако все, что мне нужно, - это хорошая поддержка Linux.

Я обдумывал несколько решений.

рубин
+ Язык выглядит очень красиво.
+ Я собираюсь выучить Ruby.
- Боюсь, у меня могут возникнуть проблемы с дополнительными библиотеками.
- Этот поток о библиотеках игр для Ruby может быть длиннее.

SDL + C
+ Используется для игр.
+ Это очень легко настроить.
+ Есть много дополнительных библиотек.
+ Кроссплатформенный.
- Решение довольно низкого уровня.
- Язык иногда довольно трудно читать.

QT + C ++
+ Это очень легко настроить.
+ Стандартные библиотеки QT поддерживают все, что мне может понадобиться.
+ Кроссплатформенный.
+ Документация хорошая.
- Компиляция идет медленно.
- Язык выглядит ужасно.
- Размер стандартных библиотек QT слишком велик для понимания.

Среда веб-браузера
+ Я собираюсь узнать больше об этой среде.
+ Это несколько используется для игр.
+ Это довольно кроссплатформенный.
- Это было бы слишком экспериментально.

Java
+ Используется для игр.
+ Стандартные библиотеки Java поддерживают все, что мне может понадобиться.
+ Кроссплатформенный.
- Это довольно сложно настроить.
- Размер стандартных библиотек Java слишком велик для понимания.
- Исходный код на Java мог бы выглядеть лучше.
- Я думаю, что я не хочу изучать Java.

Google Go
+ Я собираюсь изучать Google Go.
- Большая проблема с библиотеками.
- Решение будет довольно низким уровнем.

Python
+ Похоже, что некоторые люди делают игры на Python, согласно этой теме .
+ Похоже, что библиотек, вероятно, больше, чем для Ruby.
- Язык Ruby выглядит лучше.
- Я думаю, что я не хочу изучать Python.

C ++ + что-то еще
+ Используется для игр.
+ Это было бы, вероятно, кроссплатформенным.
+ Библиотек много.
- Мне не нужны расширения C ++ для C.
- Компиляция может быть медленной, есть быстрые компиляторы для C, а не для C ++.

Haskell
+ Я собираюсь выучить Хаскель.
- Многое в программировании компьютерных игр выглядит слишком императивно.
- Похоже, у меня могут быть проблемы с библиотеками.
- Компиляция (GHC) выглядит медленно.

Возможно, есть еще кое-что, что стоит рассмотреть. У кого-нибудь есть опыт создания небольших игр для Linux по неосновным решениям? У кого-нибудь есть совет для меня?

Ответы [ 9 ]

14 голосов
/ 29 марта 2010

Возможно, это не совсем то, что вы искали, но я бы сказал, что это то, что вам нужно больше всего: «прекратите планирование, начните строить».

Вы пытаетесь сравнить A с B и C с D, когда вы, очевидно, не знаете ни одного из них так, как вам хочется.

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

8 голосов
/ 29 марта 2010

Некоторые рекомендации Python (я серьезно думаю, что вы не пожалеете об этом как о выборе языка; учитывая ваши потребности):

Pygame будет потрясающим для написания небольшой игры (особенно для 2D). Хорошая (основанная на сообществе) поддержка, документация, примеры, кросс-платформенность бесплатно ...

Если вы хотите перейти на 3D Ogre3D , возможно, стоит посмотреть.

2 голосов
/ 29 марта 2010

Python + PyGame.

1 голос
/ 13 июля 2014

Хорошо. C вообще (Visual C #, C ++, C, Objective C и т. Д.) Имеет много плюсов. Это быстро, и я имею в виду быстро. Тем не менее, требуется время, чтобы разработать что-то простое. Java представляет собой нечто среднее между C (его трудно освоить и нужно что-то разрабатывать) и Python (легкий и мощный) Python - это то, что вы должны изучить на мой взгляд. Это легко учиться. Это мощно. Это легкий. Это кроссплатформенный совместимый. Это гибкий. В нем так много библиотек, что у вас не должно возникнуть проблем с поиском подходящего инструмента для работы. Это мое мнение.

0 голосов
/ 10 марта 2015

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

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

0 голосов
/ 02 марта 2015

Я бы использовал Python и Pygame. Python является мощным и относительно легким в освоении. Там много потрясающих ресурсов, и он очень универсален. Я бы предложил модуль pygame для графики. У pygame.org очень подробная документация.

0 голосов
/ 25 февраля 2014

Я думаю, что Java лучше всего подходит для создания простых программ, потому что она проста в освоении и имеет большую поддержку. Eclipse - хорошая программа для компиляции и написания Java-кода. Я не люблю C ++ или C, Java очень хорош, потому что он может работать в любой операционной системе и может создавать очень сложные игры, такие как Minecraft или простые, как Pac-Man.

0 голосов
/ 02 апреля 2010

Работа в браузере с Javascript и HTML5 на самом деле не экспериментальная! Поскольку элемент canvas был представлен, вы можете использовать его, чтобы просто рисовать в браузере. Игровой цикл может быть реализован таймерами Javascript.

С помощью Javascript и HTML5 вы можете создавать кросс-платформенные игры без какой-либо платформы (хотя для удобства вы можете использовать jQuery и т.п.).

Об элементе canvas:

http://diveintohtml5.ep.io/canvas.html#divingin

0 голосов
/ 29 марта 2010

есть быстрые компиляторы для C, а не для C ++

Это не совсем верно. Скорее, есть особенности с ++, которые делают для медленной компиляции. Напишите c-like c ++, и вы получите такую ​​же быструю компиляцию, как если бы вы изначально написали простой c. Это одно из преимуществ c ++.

Не то, чтобы действительно рекомендовали это, и серьезные люди на С ++ будут вздрагивать, если вы это сделаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...