Каковы некоторые хорошие ресурсы на 2D игровом дизайне механизма?

Я полагаю, вы не понимаете, как работает цикл for. Запустив приведенный ниже код, вы сможете увидеть, как он точно использует входы для i и j.

for(i in metaxcan)for(j in predix_asso)print(paste(i,j))

Для вашей проблемы я предлагаю использовать один цикл for:

for(i in seq_along(metaxcan)){
    PGC <- read.csv(metaxcan[i], header = TRUE, sep = ",")
    asociacion<-read.table(predix_assp[i], header=T, sep = "") 
    PGC_predix <- merge(PGC, asociacion, by = "gene")
    print(ngenes <- nrow(PGC_predix))
}

Здесь я использую seq_along, который создаст целочисленный вектор по длине метакскана (аналогично 1:length(metaxcan), но он обрабатывает случай, когда длина равна 0 без ошибки)

11
задан Milan Babuškov 7 October 2008 в 18:59
поделиться

5 ответов

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

Тем не менее я боюсь, что Вы найдете, что идея "лучших практик" в разработке игр более энергозависима, чем большинство. Игры имеют тенденцию быть такими специализированными приложениями, что почти невозможно дать любые "единые" ответы. То, что работает отлично для Тетриса, будет бесполезным с Астероидами, и модель, которая работает отлично на Halo, вероятно, потерпит полный провал для Mario.

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

Если бы Вы плохо знакомы с разработкой игр, мой совет был бы этим: не уничтожайте себя по своей структуре кода на Вашем первом движении. Попробуйте простую игру, как астероиды, и просто взломайте далеко, пока она не работает, неважно, насколько "ужасный" код. Используйте простые форматы, с которыми Вы знакомы, не волнуясь о том, как хорошо они поддержат в больших проектах. Не волнуйтесь о плагинах, коже, редакторах или любом том другом пухе. Просто заставьте его РАБОТАТЬ! Затем когда Вы сделаны с тем сначала, всей важной игрой, выберите другого и на этот раз очистите один или два аспекта Вашего кода (но не идите за борт!) Оттуда, выполните итерации!

Я обещаю Вам, что это получит Вас дальше быстрее, чем какой-либо объем ввода по абсолютному адресу вокруг онлайн для "правильного пути" когда-нибудь мог (это прибытие от кого-то, кто сделал БОЛЬШОЙ ввод по абсолютному адресу).

И одна последняя мысль для Вас: Если Вы чувствуете себя более комфортно, работая в более четко определенном пространстве, смотрите на XNA или подобную библиотеку. Они предопределят некоторые "лучшие" форматы, чтобы использовать и дать Вам инструменты для работы с ними, который вынимает некоторые начальные догадки.

Удача, и прежде всего остального помнит: Игры (и их разработка), как предполагается, являются ЗАБАВОЙ! Не становитесь слишком схваченными на маленьком материале!

15
ответ дан 3 December 2019 в 04:15
поделиться

Сделайте игру. После того, как Вы будете сделаны, сделайте другого. Посмотрите на то, что Вы любили и что Вы не любили и затем делали другим.

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

6
ответ дан 3 December 2019 в 04:15
поделиться

В значительной степени любая книга, которая имеет Andre Lamothe как одного из участников.

GameDev имеет тонны статей также.

3
ответ дан 3 December 2019 в 04:15
поделиться

Так как это еще не было упомянуто, почему бы не запуститься путем рассмотрения существующего механизма, который был выпущен сообществу? Так как Вы говорите 2D, я пошел бы путем назад и рекомендовал бы что-то как Злоупотребление. Да, это является древним, и большинство интересных битов находится в Lisp - но игра стала очень популярной некоторое время, что означает, что они делали что-то правильно.

Как это происходит, я думаю то, что большая часть исходной игры была в Lisp, очень полезный урок. Выберите самый устойчивый язык/инструмент и не волнуйтесь о производительности. Можно всегда оптимизировать медленные части в C позже.

0
ответ дан 3 December 2019 в 04:15
поделиться

Я не могу согласиться с Вами больше: корпоративные приложения не готовят Вас к игровому программированию.

Я создал несколько небольших игр в Python, Java, html/php и жемчуге. Базовая структура игры, как Вы, вероятно, знаете:

Основной цикл:
  handleInput ()
  updateGameLogic ()
  renderImages ()

Теперь, это - все хорошо и хороший для одного экрана, единственных потоковых игр, как что-либо с 70-х или 80-х. Но я не нахожу эту структуру особенно сильным пригодным для многоэкранных игр (как RPG) или ничто более экзотическое. Это не распараллеливает очень хорошо. Код становится довольно броским, поскольку необходимо обработать множество исходных данных. Это не масштабируется хорошо.

Однако, прежде чем я колочу эту метафору слишком много, обратите внимание на то, что это - ПРЕВОСХОДНОЕ место для запуска. Я пошел бы, насколько рекомендовать изучить Python/Pygame и начать создавать игры с тем инструментом, а не C++, который усложняет процесс разработки и реализации. Когда Вы будете моделировать в Python, Вы будете видеть, что игра формируется намного быстрее и сталкивается с независимыми от языка проблемами.

Для меня, самого твердого, большинством трудоемких аспектов игрового программирования являются графические и звуковые активы. В то время как я - немного аудио компьютерный фанат и музыкант-любитель, создавая правдоподобную и соответствующую музыку, и SFX является проектом все самостоятельно. У меня нет графического таланта, таким образом, я должен полагаться на изменение exisitng изображения или использование в свободном доступе. К счастью, существуют широко доступные бесплатно шрифты, которые могут используемый для игр (и мало еще, так как они почти универсально плохи).

Наконец, нет ничего как открытый исходный код, чтобы видеть, как другие проекты обрабатывают это. Сражение Westnoth является сформировавшейся, игрой среднего размера. Вы могли бы хотеть видеть то, что продолжается там. Снова, игры в Python часто делают свой исходный код доступным, таким образом, Вы могли просмотреть сотни проектов там. Вы могли также декомпилировать atari 2600 ROMs, но это не скажет Вам очень о программировании сегодня. Старый VCS был специализированным устройством, которое обработало его приложения очень системно-зависимым способом.:-D

Наконец, мне также нравится Andre LaMothe. У меня есть его olde книга 1993 года, это миллион страниц толщиной. Хотя это - все еще хорошая ссылка на некоторых универсальных игровых идеях, многое из него устранено доступностью свободных доступных библиотек и платформ, которые не существовали тогда.

Удача с Вашим проектом.

1
ответ дан 3 December 2019 в 04:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: