Просмотрите мой игровой проект ИЛИ (Как проверить мой проект на рецензии)?

Я только что закончил 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 ответа

Решение

Первое, что я заметил в вашем исходном коде, это то, что большая часть игровой логики у вас есть в файле 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
}

РЕКАП из предыдущего эпизода -

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

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

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

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

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

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

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

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

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

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

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

Другие вопросы по тегам