Просмотрите мой игровой проект ИЛИ (Как проверить мой проект на рецензии)? - PullRequest
2 голосов
/ 29 октября 2008

Я только что закончил 2-й платформер на C ++ / Allegro. Это все еще в незавершенной стадии ...

Интересно, как провести экспертную оценку людей, занимающихся разработкой игр? Я хотел бы рассмотреть мой проект на основании

  1. игра
  2. Обнаружение столкновения
  3. использование ООП
  4. программирование звуков, эффектов и т. Д.
  5. любые дальнейшие идеи
  6. способов, которыми я мог бы сделать лучше
  7. способов оптимизации

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

Вы можете посмотреть мой проект (если хотите) по обновленной ссылке - nincompoop (прямая ссылка)

http://ideamonk.googlepages.com/nincompoop_distro.rar

На данный момент я переключаюсь на C # и XNA, и мне очень легко и быстро выучить все, потому что я впечатлен -

http://catalog.xna.com/GameDetails.aspx?releaseId=341

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

Ответы [ 2 ]

3 голосов
/ 31 октября 2008

Первое, что я заметил в вашем исходном коде, это то, что большая часть вашей игровой логики находится в файле main.cpp, а вложение занимает до 11 вкладок! Для организационных целей кода это кошмар. Конечно, я сделал это тоже в моей первой игре. :) Первое, что вы можете сделать, это упростить основной цикл игры, чтобы он выглядел примерно так:

int main () 
{
    game_object gob;
    gob.init_allegro();
    gob.load_assets();
    while(true) {
        gob.handle_inputs()
        if (!gob.update())
            break;
        gob.render();
    }
    gob.cleanup();
}

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

Мое второе предложение состояло бы в том, чтобы заменить ваш goto чем-то более вменяемым, как это:

bool playerwins = check_win_condition();

if(playerwins) {
    // win condition code
} else {
    // lose condition code
}
1 голос
/ 29 октября 2008

RECAP из предыдущего эпизода -

Я не понимаю, почему люди голосуют за тебя и оскорбляют Продолжай в том же духе ... - Даок (27 минут назад)

Что-то ужасно неправильно в запросе о рецензировании? Подумайте, прежде чем нажимать кнопку «вниз», завтра вам может понадобиться рецензирование! - Абхишек Мишра (26 минут назад)

@ Daok: это то, что мне было интересно 58 секунд назад! - Абхишек Мишра (25 минут назад)

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

@ Митчел Селлерс: вы знаете, что, когда я работал над этим проектом, было хорошее обсуждение разработки игр ... поэтому я подумал, что было бы хорошо поставить его на рассмотрение ... но @ stackoverflow ... все действительно здорово! Толпа ycombinator еще более умна, они приходят с удивительными отзывами - Абхишек Мишра (21 минуту назад)

Я думаю, что это может быть фраза и тон вопроса. Это больше похоже на объявление о продукте, чем на вопрос о помощи. Если бы это было сформулировано как «Как правильно оценить мой проект» и т. Д., Люди могли бы быть менее резкими. - Марк Инграм (21 минуту назад)

Дело в том, что это не то, для чего переполнение стека. Это для того, чтобы задавать конкретные технические вопросы. - Реми Деспрес-Смит (19 минут назад)

woops ... да, это катилось в моей голове, когда я набирал вопрос ... позвольте мне перефразировать его в REAL вопрос! :) - Абхишек Мишра (18 минут назад)

и можно было бы дать и технические отзывы о том, как улучшить игру ... кроме того, я также выкладываю исходный код для обзора! Есть ли способ снова открыть вопрос? - Абхишек Мишра (17 минут назад)

Я попросил пересмотреть код и получил его здесь. Абхишек, если кто-то снова откроет это, и ты сможешь отредактировать его, взгляни на этот вопрос: Упражнение K & R: Мой код работает, но чувствует себя вонючим; Советы по уборке? в качестве примера вопроса обзора кода. - Джон Руди (12 минут назад)

@ Джон: Спасибо! надеюсь, что это работает!

...