Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.06.2011, 22:14   #41
Wicort
Форумчанин
 
Аватар для Wicort
 
Регистрация: 04.08.2009
Сообщений: 684
По умолчанию

Да, именно такое поведение для ракет я и имел ввиду (надеюсь, указатели на цель вы только для отладки сделали и в итоге уберете их =) )
Гильза, так сказать, не вкатила... Лично мне не нравится. А вот про откат пушки - это было бы гуд.
взрывы на мой взгляд надо сделать чуть менее прозрачными. Ведь в действительности от такого взрыва столько пыли поднимется, что почти ничего видно не будет.
Код сейчас гляну (наконец добрался дома до компа)) )
Еслия Вам помог, не поленитесь нажать на весы и оставить отзыв. Это не займет много времени, но даст понять, что я старался не зря =)
Мой ник зарегистрирован, а твой?
Wicort вне форума Ответить с цитированием
Старый 01.07.2011, 21:01   #42
Format C:
Пользователь
 
Регистрация: 11.03.2007
Сообщений: 92
По умолчанию

2Wicort:
Да, указатели на цели и прозрачность взрывов сделал исключительно для отладки.
По поводу гильзы не понравилась сама идея или реализация?
Откат пушки уже сделал, чуть позже отредактирую это сообщение и выложу проект.

Раз с внешним поведение более менее определились, я бы хотел услышать мнение о внутренней архитектуре программы. А то пока никто ничего не сказал...
Format C: вне форума Ответить с цитированием
Старый 02.07.2011, 21:39   #43
Format C:
Пользователь
 
Регистрация: 11.03.2007
Сообщений: 92
По умолчанию

Приветствую всех!
Не получилось отредактировать предыдущее сообщение.

И так, проект продвигается и это хорошо. Путь не совсем так как хотелось бы, но всё же.

В архивах, как обычно, исходники и сам проект.
Из нового могу отметить переделанное создание объектов. Теперь каждому объекту передаются параметры, в которых можно более точно указать его состояние (угол, радиус обстрела, количество ракет (для ракетницы), скорость и жизни (для вражин)). Соответственно изменились и процедуры создания. Теперь они аналогичны процедурам создания "примочек" (дым, взрывы, выстрелы).
Так же реализовал откат пушки при выстреле.

Теперь для полной красоты осталось только сделать таки интерфейс, хоть самый простой, но сделать.
Может, у кого-нибудь есть мысли по этому поводу, учитывая, что в движке готовых методов нет, но я уже заложил базу для этого. Посмотрите, пожалуйста, и скажите, что вы об этом думаете. Правильный ли подход я выбрал? А то пока как-то скучно получается...

Ещё хочу обратить ваше внимание на производительность программы и, соответственно, её поведение. В модуле uMain есть процедура Update. В ней есть закомментированная строка со Sleep. Заметил, что поведение довольно сильно меняется, если FPS падает ниже 200. У кого есть возможность, посмотрите как это выглядит (изменяя значения в Sleep от 1 до 10) и скажите, вообще играбельно ли это будет, и что можно с этим сделать? Ведь у меня все процедуры обсчёта зависят от времени, котрое прошло между кадрами (в самом первом проекте изменяя интервал таймера это тоже можно прочувствовать) и получается так, что чем меньше интервал, тем более реалистично получается. Но ведь не у всех FPS будет выше 1000, да и в процессе разработки он только падать будет от всё новых и новых объектов, которые тоже посчитать себя хотят. Как быть?
Вложения
Тип файла: rar Attack_src.rar (23.2 Кб, 17 просмотров)
Тип файла: rar Attack_exe.rar (948.1 Кб, 26 просмотров)

Последний раз редактировалось Format C:; 02.07.2011 в 22:38.
Format C: вне форума Ответить с цитированием
Старый 03.07.2011, 13:42   #44
Wicort
Форумчанин
 
Аватар для Wicort
 
Регистрация: 04.08.2009
Сообщений: 684
По умолчанию

Цитата:
По поводу гильзы не понравилась сама идея или реализация?
Не понравилась реализация. Если честно, если бы Вы не сказали, что это гильза, ни за что бы не понял.
Исходники посмотрел ещё не все, и пока могу лишь сказать, что организация кода меня порадовала. Четкая и красивая структура классов - это очень хорошо. Единственное, что убило - отсутствие комментариев. Варианты типа
Код:
{}
я за комментарий по понятным причинам не считал

P.S. Зря убрали в последней версии информацию о количестве противников на экране.
Еслия Вам помог, не поленитесь нажать на весы и оставить отзыв. Это не займет много времени, но даст понять, что я старался не зря =)
Мой ник зарегистрирован, а твой?
Wicort вне форума Ответить с цитированием
Старый 03.07.2011, 15:46   #45
Format C:
Пользователь
 
Регистрация: 11.03.2007
Сообщений: 92
По умолчанию

2Wicort:
А какой вы видите реализацию гильзы?

Две фигурные скобки я использую для отделения функций. У меня несколько изменённая подсветка синтаксиса, в которой комментарии имеют фон. Поэтому и использую данную конструкцию.
Я, конечно, поработаю над этим, но в каких местах нужны комментарии? Или, скажу так, какие места обычно требуют комментария?
Format C: вне форума Ответить с цитированием
Старый 03.07.2011, 17:11   #46
Wicort
Форумчанин
 
Аватар для Wicort
 
Регистрация: 04.08.2009
Сообщений: 684
По умолчанию

Комментировать нужно ВСЁ! У каждой значимой переменной в комментарии должно быть ее назначение, у каждого метода - описание того, что он делает, у каждого условия - что проверяется и какие действия при каком условии выполняются.
Это, конечно, в идеале. На самом деле далеко не всегда получается комментировать всё.
Такое обилие комментариев необходимо даже для Вас самого. Вот случится какая-то ситуация, и у Вас несколько месяцев не получится заглядывать в код. Потом Вам придется долго и упорно вспоминать что и где находится. Не говоря уже о том, чтобы в Вашем коде разбирался кто-то другой, ранее с ним не знакомый.

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

P.S. Сейчас сижу и копаюсь в вашем коде. Сделаю небольшие доработки, касающиеся интерфейса если Вы не против. Потом посмотрите, доработаете на свое усмотрение или удалите
Еслия Вам помог, не поленитесь нажать на весы и оставить отзыв. Это не займет много времени, но даст понять, что я старался не зря =)
Мой ник зарегистрирован, а твой?
Wicort вне форума Ответить с цитированием
Старый 03.07.2011, 19:13   #47
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Цитата:
Сообщение от Format C: Посмотреть сообщение
Ещё хочу обратить ваше внимание на производительность программы и, соответственно, её поведение. В модуле uMain есть процедура Update. В ней есть закомментированная строка со Sleep. Заметил, что поведение довольно сильно меняется, если FPS падает ниже 200.
100 FPS За глаза хватит. И вообще лучше вертикальную синхронизацию поставить.
Цитата:
Сообщение от Format C: Посмотреть сообщение
Но ведь не у всех FPS будет выше 1000, да и в процессе разработки он только падать будет от всё новых и новых объектов, которые тоже посчитать себя хотят. Как быть?
Оптимизировать надо.
An1ka вне форума Ответить с цитированием
Старый 03.07.2011, 22:12   #48
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Понравились наработки игры . А взрывы/дым через партиклы ZenGL делал?
Вадим Буренков вне форума Ответить с цитированием
Старый 04.07.2011, 11:55   #49
Format C:
Пользователь
 
Регистрация: 11.03.2007
Сообщений: 92
По умолчанию

2Wicort:
Спасибо, жду ваших доработок.
Плохо, что код сейчас довольно сильно видоизменился (и изменяется сейчас).

2An1ka:
То что нужно оптимизировать я понимаю, но хотелось бы (хоть не в первой уже говорю) сначала отладить общую структуру и убедиться, что она верная. А потом уже можно и оптимизацией заниматься.
Или я не прав?

2Вадим Буренков:
Нет, с партиклами (а какое научное название у них?) я ещё не разобрался.
Взрывы - это спрайтовая анимация. Дым - тоже спрайт, который представляет собой круглый чёрно-белый градиент с прозрачностью. Потом при отрисовке накладывается нужный цвет (спрайт играет роль маски) и выводится на экран с постепенным уменьшением прозрачность. Может метод и не самый оптимальный, зато простой и рабочий. Да и дым в этом случае можно видоизменить не вмешиваясь в код (практически).
А вам не сложно будет показать (ссылкой, кодом или просто объяснением), как можно через них (партиклы) дым рисовать. В демках есть пример, но что-то я не особо понял... Там текстура какая-то хитрая у них...

2All:
Кстати говоря. Никто не обращал внимание на странное поведение ракет? В частности то, что они иногда выбирают не ближайшую к ним цели, а цель из новой волны. Причины пока не понял. Думал, что показалось, а нет. Прикрутил указание цели. Так оно и есть. Прикладываю скрины. У кого-нибудь есть идеи, почему так может быть. Код смотрел, вроде всё верно.
Причём ракета начинает лететь к цели, которая вообще вне зоны поиска.


Добавлено 13:42
Ещё, по моему недосмотру, если у ракета не может найти цель, то программа падает. Видимо это и есть причина глюков. Исправить пока не удалось. Первопричиной я считаю непрерывный поток врагов, когда цель всегда была (Раньше даже жаловались, что ракеты кружатся и никуда не падают. Теперь падают, только вместе с программой =) Ваша мечта сбылась =) ). Ищу проблему.

Добавлено 13:54
Мда. Сравнил с предыдущей версией (от 27.06). Изменений практически нет, но там программа не падает. Ищу дальше.

Добавлено 14:12
Нашёл ошибку. Основная причина была в том, что когда ракета достигает цели, то она убирается из списка, а следующая за ней ракета уже не обсчитывается, поэтому не может узнать, что цель уже не актуальна. Поэтому при отрисовке происходило падение, когда я ставил указатели до цели. Нужно учесть это. Есть мысль, что не нужно сразу уничтожать, а ставить флаг уничтожения, а после полного обсчёта уже уничтожать ракеты. Как такой вариант?
Плюс, всегда проверять цель, прежде чем с ней взаимодействовать.

Однако вопрос о первичном глюке (тот, что на скринах в архиве) ещё остался.
Вложения
Тип файла: rar Attack_bug.rar (1.12 Мб, 12 просмотров)

Последний раз редактировалось Format C:; 04.07.2011 в 14:15. Причина: Обнаружил ошибку в программе
Format C: вне форума Ответить с цитированием
Старый 04.07.2011, 15:46   #50
Wicort
Форумчанин
 
Аватар для Wicort
 
Регистрация: 04.08.2009
Сообщений: 684
По умолчанию

Хм.. не замечал таких ситуёвин... или просто не обращал внимания...
Еслия Вам помог, не поленитесь нажать на весы и оставить отзыв. Это не займет много времени, но даст понять, что я старался не зря =)
Мой ник зарегистрирован, а твой?
Wicort вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как "повесить " передачу данных из формы на событие нажатия кнопки типа "button" ? vedro-compota JavaScript, Ajax 10 14.12.2010 21:05
Как обойти "преобразование типа из "string" в "float" невозможно" lexluter1988 Помощь студентам 1 07.08.2010 12:23
разработка игры "Реверси". Имеется код этой игры на С++ CD-RW Помощь студентам 0 28.03.2010 00:13
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
На чем пишутся стратегии типа "Казаков" и "Эпохи империи" Tayfun Свободное общение 3 26.06.2007 20:27