LINUX.ORG.RU
ФорумTalks

gamedev


0

1

Занимается(лся) ли кто-нибудь разработкой игр? Под линуксом с играми всегда были проблемы и с их разработкой соответственно тоже. Но хочется попробовать себя в геймдеве(пусть то даже будет незаконченная ненужная любительская поделка - не важно, все для себя и только в ради интереса) и тут есть несколько вопросов:

  • Какой жанр выбрать начинающему?
  • Какие движки/библиотеки использовать(тоже желательно простые в изучении)?
  • И возможно главный вопрос: как решать проблему с контентом? Сам моделировать/рисовать не умею, человека найти маловероятно, можно пробовать искать в интернете, то тут опять же не все можно найти.

PS. До этого пытался смастерить что-нить на C#+XNA, сделал чеовечка, бегающего по экрану(просто проигрывал последовательность кадров, хранящиеся в файле изображения - все было в 2d), дальше дело не зашло.

★★★

Ответ на: комментарий от sdio

>> tensai_cirno> Зато вот с оборудованием оче серьезные.

чего?


Со звуком например, в линухе все очень плохо до сих пор. И абстракции SDL не помогают.

webhamster
()

Занимался на уровне любительской поделки. Клон Battle City на Java (совместный универский проект, но код целиком писал я), примитивную стратегию на Dark Basic написал еще в школе, неудачные попытки сделать более навороченную стратегию на Ogre (фейлился на попытках сделать красивую расширяемую архитектуру). Несколько простых игр для калькулятора Casio FX 7450.

И возможно главный вопрос: как решать проблему с контентом?

Opensouce для того и придумывали: дери контент из свободных игр.

Какой жанр выбрать начинающему?

Какой нравится. У меня склонность к roguelike и стратегиям.

elverion
()
Ответ на: комментарий от webhamster

webhamster> о звуком например, в линухе все очень плохо до сих пор.

Как вы достали со своими абстрактными проблемами. Конкретнее давай

sdio ★★★★★
()
Ответ на: комментарий от elverion

>Opensouce для того и придумывали: дери контент из свободных игр.

Было бы что драть :)

Gary ★★★★★
()
Ответ на: комментарий от webhamster

И да, я написал игру под линух:

припоминаю... на linuxforum ещё вроде был нытик тред о том какой Linux-плохой, и там дурдом с библиотеками и пр. :)

Andru ★★★★
()
Ответ на: комментарий от tensai_cirno

Какие? Кроме кривизны свободных драйверов для NVIDIA и некоторых моделей ATI (их при необходимости можно заменить проприетарщиной).

Deleted
()
Ответ на: комментарий от webhamster

А есть проблемы кроме многообразия API?

Deleted
()

> Занимается(лся) ли кто-нибудь разработкой игр?

ну я занимаюсь (но не под/для linux)

Какой жанр выбрать начинающему?

соответствующий собственному уровню. тетрис, морской бой, loderunner, pacman, головоломки, и т.п.

Какие движки/библиотеки использовать(тоже желательно простые в изучении)?

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

И возможно главный вопрос: как решать проблему с контентом?

без команды - лучше всего выбрать такой жанр, в котором минимум (или совсем нет) графики и звука. все тот же тетрис, пэкмен, и т.п. уровни (если будут) задавать в текстовых файлах в как можно более простом виде. следовать принципам KISS во всем.

waker ★★★★★
()
Ответ на: комментарий от sdio

> Как вы достали со своими абстрактными проблемами. Конкретнее давай

В линухе какая-то засада с латентностью звука. Регулируется латентность размером буфера. Меньше буфер - меньше латентность. Но при уменьшении размера буфера, что в SDL, что в OpenAl, появляется треск - и на дешевых AC97 и на всяких SBLive. Треск идет в примитивном коде, взятом из документации. Посему делаю вывод, что проблема не аппаратная, а програмная, что-то напутано либо в драйверах, либо в библиотеках, и всем на это пофигу.

webhamster
()
Ответ на: комментарий от elverion

> Все-таки сделал? Я думал ты ее забросил.

Игра на прохождение, там вопрос в уровнях. Я остановился на четырех уровнях, дальше кто хочет, может дорисовывать их самостоятельно. Там просто XML файл с описанием конфигурации платформ и мест где появляются пчелки. Формат очевиден при первом просмотре.

webhamster
()

Думаю, что есть такие.

После перехода на linux, начал изначально писать под ним и для него. Потом уже портирую игру на macosx и windows.
Движок свой, на всех платформах использую opengl / opengles и sdl (сейчас отказываюсь от него; использовал как удобный способ формирования окна и обработку ввода).

p.s. Сейчас основное направление ios.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

> p.s. Сейчас основное направление ios.

И какой инструментарий используешь для написания игр под iOS? Под какой операционкой ведешь разработку?

webhamster
()
Ответ на: комментарий от webhamster

> И какой инструментарий используешь для написания игр под iOS? Под какой операционкой ведешь разработку?

Тут особого выбора нет. Разработка под macosx в macvim, сборка и подписание проекта в xcode. Отладка в зависимости от ситуации - симулятор или железяки.

andreyu ★★★★★
()
Ответ на: комментарий от PolarFox

>> а вот рисовать трешовое 2д можно научиться достаточно быстро =)

Мне всегда казалось наоборот, не умеешь рисовать — делай в 3д.


Это точно (:

pevzi ★★★★★
()
Ответ на: комментарий от sdio

> а проблем с написанием игр под линукс нет

Хм, сейчас куда ни глянь — все пишут игры на XNA, Flash, Unity3D, Game Maker в конце концов. И ни одного из этих инструментов под линуксом нет (разве что для флеша что-то было, да и то неполноценное).

pevzi ★★★★★
()
Ответ на: комментарий от pevzi

> пишут игры на ... Game Maker

Да, не так выразился, но мысль понятна.

pevzi ★★★★★
()
Ответ на: комментарий от andreyu

> Тут особого выбора нет. Разработка под macosx в macvim, сборка и подписание проекта в xcode.

То есть ту сидишь в макоси?

То есть, то о чем ты говорил - «После перехода на linux, начал изначально писать под ним и для него. Потом уже портирую игру на macosx и windows» для iOS не канает?

webhamster
()

> Какой жанр выбрать начинающему?

Проще всего сделать сначала какую-нибудь простенькую аркаду/головоломку вроде пакмана, тетриса или арканоида. А вообще, странный вопрос — что тебя самого интересует, то и пиши.

Какие движки/библиотеки использовать(тоже желательно простые в изучении)?


Можешь попробовать Python + Pyglet/Cocos2d/Pygame. Язык простой, писать на нем довольно легко. Но главный недостаток очевиден — сравнительно низкая производительность.

И возможно главный вопрос: как решать проблему с контентом?


Ну, поначалу можно использовать что-то готовое, можно самому набросать в гимпе/инкскейпе, а потом может кто подтянется.

pevzi ★★★★★
()
Ответ на: комментарий от webhamster

> То есть ту сидишь в макоси?

То есть, то о чем ты говорил - «После перехода на linux, начал изначально писать под ним и для него. Потом уже портирую игру на macosx и windows» для iOS не канает?


Если разработка для ios, то в макоси.
Если linux, windows, macosx, то разработка в linux

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

Тут особого выбора нет. Разработка под macosx в macvim, сборка и подписание проекта в xcode.

Хммм, а какой особый профит от разработки в этой конченной по юзабилити ОС? О_о Или проекты часто завязаны на какой-нить iOS-системщине или нужно часто на девайсах тестировать мультитач элементы геймплея? Я вполне себе из под Linux'а всё делал, и только прикручивание In App Purchase и пр. лабуды по требованию издателя, потребовало запуска VritualBox'а с MacOS X внутри :)

Andru ★★★★
()

Занимается ли кто-нибудь разработкой игр?

Да. Имею долгострой с неопределённым итогом. Подробностей не скажу, скажу только, что подводных камней масса. На данном этапе графика для меня вторична, есть примитив на OpenGL, но сценарий игры не подразумевает обилие видеоэффектов.

Deleted
()

Пытаюсь освоить SDL, пока что не особо успешно. Сам хочу написать 2D-аркаду, чтобы получить опыт. Что будет дальше - неясно...

IceRain
()
Ответ на: комментарий от webhamster

> В линухе какая-то засада с латентностью звука. Регулируется латентность размером буфера. Меньше буфер - меньше латентность. Но при уменьшении размера буфера, что в SDL, что в OpenAl, появляется треск - и на дешевых AC97 и на всяких SBLive.

в опенсорсной реализации openal наблюдал такое, но с sdl проблем не было. может быть просто буфер недостаточно быстро заполняется? насколько буфер маленький? при достижении определенного минимального размера буфера от треска никак не избавиться, т.к. оверхед достигает величин, когда передавать такое количество мелких буферов в звуковуху в realtime уже невозможно. такое скорее всего будет при размере буфера <200-500 сэмплов. но для игры такой мелкий буфер явно перебор — только лишние тормоза.

waker ★★★★★
()
Ответ на: комментарий от webhamster

p.s. если хочешь — могу дать свой пример, который музыку через sdl играет, буфер можно прямо в коде настраивать — сможешь проверить при каком буфере появляется треск.

waker ★★★★★
()
Ответ на: комментарий от Deleted

> Имею долгострой с неопределённым итогом.

Да у каждого пятого разработчика есть такое just-for-fun поделие, я думаю. На волне энтузиазма лепят скелет. Полировать его до необходимого блеска скучно - запал пропадает. В итоге на свет является очередной обреченный на вечную недоделанность долгострой.

Manhunt ★★★★★
()

>Какой жанр выбрать начинающему?

Текстовый квест.

Сам моделировать/рисовать не умею, человека найти маловероятно


Тем более.

massimus ★★★
()
Ответ на: комментарий от waker

> p.s. если хочешь — могу дать свой пример, который музыку через sdl играет, буфер можно прямо в коде настраивать — сможешь проверить при каком буфере появляется треск.

Давай. xintrea@gmail.com

Расчет такой: 512 выборок - уже слышна задержка по латентности. 256 выборок щелчки. Давай посмотрю как это на твоем коде выглядит.

webhamster
()

Кстати, вот это как бы намекает, что еще есть вариант Java + LWJGL, правда не знаю насколько этот вариант годен.

pevzi ★★★★★
()
Ответ на: комментарий от Manhunt

Да, примерно так. С тем отличем, что на свет покамест нничо не появлялось ;-) Живёт своей жизнью на винте, периодически targz-ипится))

Deleted
()
Ответ на: комментарий от Andru

> Хммм, а какой особый профит от разработки в этой конченной по юзабилити ОС?

Так из MacVim почти и не вылазишь. Так какой смысл на столе держать несколько десктопов или лэптопов?
Периодически переключаешься в iTerm2 и Xcode.

О_о Или проекты часто завязаны на какой-нить iOS-системщине или нужно часто на девайсах тестировать мультитач элементы геймплея?


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

Я вполне себе из под Linux'а всё делал, и только прикручивание In App Purchase и пр. лабуды по требованию издателя, потребовало запуска VritualBox'а с MacOS X внутри :)


А сборка проекта тоже под линуксом делается? Я же не про macosx игры речь веду, а про ios.

andreyu ★★★★★
()

>Какой жанр выбрать начинающему?

Жанры в порядке увеличения сложности:

логические - самый простой жанр, когда логику игры не сложно реализовать в виде готового алгоритма, чаще всего игра не в реальном времени, а «пошаговая», сюда подходят всякие шашки, карточные игры, пазлы и т.п.

аркады - динамичная игра в реальном времени, нужно программировать таймеры, отлаживать скорость игры, используется вероятность при вызове разных событий, охватывает множество игр начиная от тетрисов-змеек и заканчивая всякими space shooter-ами и платформерами, их объединяет простое управление, минимум свободы действий.

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

шутеры (FPS) - чаще всего 3D, физический движок, более сложный поиск коллизий.

RPG - интерфейс, много контента начиная с оружия и скиллов, игровой баланс, сложный расчет урона.

MMORPG - добавляются клиент-серверные технологии.

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

И возможно главный вопрос: как решать проблему с контентом?


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

Hope ★★
()
Ответ на: комментарий от andreyu

Так из MacVim почти и не вылазишь. Так какой смысл на столе держать несколько десктопов или лэптопов?

В данном случаи ты прав, но я порой таки вылажу из IDE, да и Lazarus в MacOS X страшный... :) А проблемы с несколькими десктопами у меня нет - макось прекрасно себя чувствует в виртуалке )

А сборка проекта тоже под линуксом делается?

Учитывая, что геймплей можно проверять и на PC, то да, собирается из под Linux'а и в нём же тестируется. Это когда нужен реальный девайс для проверок - тогда только макось.

Andru ★★★★
()
Ответ на: комментарий от Andru

> В данном случаи ты прав, но я порой таки вылажу из IDE, да и Lazarus в MacOS X страшный... :) А проблемы с несколькими десктопами у меня нет - макось прекрасно себя чувствует в виртуалке )

У меня на четырехядерной i7 тормозит.

Учитывая, что геймплей можно проверять и на PC, то да, собирается из под Linux'а и в нём же тестируется. Это когда нужен реальный девайс для проверок - тогда только макось.


Ну если игра предназначена для PC, то и я ее разрабатываю под линуксом. Но разрабатывать игру для ios без симулятора и железяки сложно, да и не правильно это.

andreyu ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.