Просмотрите мой игровой проект ИЛИ (Как проверить мой проект на рецензии)?
Я только что закончил 2-й платформер в C++/Allegro. Это все еще в незавершенной стадии...
Интересно, как провести экспертную оценку людей, занимающихся разработкой игр? Я хотел бы рассмотреть мой проект на основании
- игровой процесс
- Обнаружение столкновения
- использование ООП
- программирование звуков, эффектов и т. д.
- любые дальнейшие идеи
- способы, которыми я мог бы сделать лучше
- способы оптимизации
в некоторых местах текущий код выглядит как мусор... поэтому не могли бы вы также предложить некоторые методы упрощения?
Вы можете посмотреть мой проект (если хотите) по обновленной ссылке - 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 минут назад)
@ Джон: Спасибо! надеюсь, что это работает!