Мой быдлокод вас огорчает, часть 1 (комментарии)
Это сообщение сгенерировано автоматически.
Спасибо, а в описанные игры можно поиграть?
"DOOM Ы" где-то в старых архивах, надо попробовать найти. Леталку через некоторое время скину, как дома буду. Но игры - отстойные)))
Без скриншотов даже читать не хочется.
Alprog
Есть истина в словах твоих, исправлю.
Интересно, в каком году писалась игра на Turbo Pascal? Если не ошибаюсь, эта среда морально устарела в середине 90х. Это не критика, просто замечание. Я сам в начале 2000х писал набросок игры в этой среде. Работал в DOS. Изображение создавалось векторным способом через линии, кривые, заполнение контуров (модуль graph).
Помню, была в Turbo Pascal команда копирования части экрана, но там было жесткое ограничение на объем копируемой памяти. Т.е. блиттируемая картинка была слишком маленькой для серьезной работы.
Конечно, реальные игры никто на Turbo Pascal не писал. Даже С в то время (до середины 90х) было слишком тормозным для этого. Для написания игр использовался Assembler.
В том, как Ваша команда выполняла проект есть одна положительная черта. Вы поставили перед собой реально достижимую задачу. Очень многие начинающие разработчики сразу хотят создать шедевр, а это практически невозможно.
old_proger
Хех. Это дело писалось 6 лет назад, то есть в 2005. На дворе ожидался F.E.A.R., а мы писали игры на Turbo Pascal. Все объяснялось предельно просто. После 9 класса я отдыхал в летней физико-компьютерной школе, и наш препод по информатике поставил нам задачу - за время пребывания в этой школе сделать игру на Turbo Pascal, у нас было около 10 дней на это. К тому моменту я уже имел некоторый опыт работы с трехмерными движками - леталка, вторая игра в статье, была сделана за год до этого.
На тех компах, что мы имели в распоряжении, не было даже мышек - не говоря уже о DIrectX'ах)
А постановка достижимой задачи была связана с тем, что сроки были четко оговорены и не было никакой возможности их увеличить.
Спасибо за статью, очень занятно).
хм...заголовок статьи о быдлокоде, но в статье ничего толком не сказано про быдлокод. Про именование функций - слишком уж банально и очевидно. Статья больше походит на мемуары "о славных похождениях Петьки и Василия Ивановича". Использование матрицы вместо отдельных эвентов не означает, что в игре не будет быдлокода. Ожидал увидеть архитектурные решения, паттерны, тесты(модульные и не очень), используемые библиотеки. Было бы неплохо рассказать о том, использовались ли у вас код-ревью системы
P.S.
Сорри, если получилось слишком грубо, но такое первое впечталение от статьи.
Ravager
Хм, под быдлокодом здесь понимаются архитектурные решения, а не имена функций - они больше относятся к стилю. В принципе, могу выложить свои старые исходники или их фрагменты - но сомневаюсь, что они кому-то будут интересны.
Что касается матрицы - это всего лишь схема, поясняющая взаимодействия между игровыми объектами, к быдлокоду отношения не имеющая.
Основная суть статьи указана в предисловии - демонстрация накопления сложности даже в мизерных проектах. Возможно, это позволит хотя бы нескольким начинающим разработчикам понять, что сделать убийцу Крайзиса у них, скорее всего, не получится, начните с Пакмена или Тетриса. Если эта мысль от читателей ускользнула - значит, я плохо написал статью.
Название статьи было выбрано в конце - я посчитал его достаточно простым и запоминающимся, хотя оно не совсем точно отражает ее суть. А если начистоту, то это название пришло прямиком из моего быдлорассказа "Творец".
Согласен с Ravager, было бы неплохо привести примеры быдло-кода к статье.
Прошу внести изменения, матрица выложена ввиде картинки, которая занимает весь экран и текст с неё нельзя скопировать, удобнее будет если сделать такую аккуратненькую таблицу, просто скопируйте предложенный код.
Уровень | Самолёт | Ракета | |
Уровень | Нет событий | ||
Самолёт | Уничтожение самолёта | Уничтожение обоих самолётов | |
Ракета | Уничтожение ракеты | Уничтожение ракеты, уменьшение здоровья самолёта | Уничтожение обеих ракет |
<h1>Матрица взаимодействия при контакте</h1> <table border=1> <tr><td></td><td>Уровень</td><td>Самолёт</td><td>Ракета</td></tr> <tr><td>Уровень</td><td>Нет событий</td><td></td><td></td></tr> <tr><td>Самолёт</td><td>Уничтожение самолёта</td><td>Уничтожение обоих самолётов</td><td></td></tr> <tr><td>Ракета</td><td>Уничтожение ракеты</td><td>Уничтожение ракеты, уменьшение здоровья самолёта</td><td>Уничтожение обеих ракет</td></tr> </table>
Володя
Спасибо! Сначала сам так хотел, но не разобрался. Исправляю.
Тема в архиве.