|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
11.09.2013, 16:50 | #1 |
Пользователь
Регистрация: 08.02.2013
Сообщений: 10
|
Birds Killer
Моя первая законченная(почти) игра. Суть в отстреливании птиц. Среда программирования: Borland Delphi.
Управление: Кликать мышкой по птицам, для перезарядки используем 'R'. В обойме 2 патрона, дополнительные можно купить в магазине(нижний правый угол). P.S. Игра самому не нравится. С самого начала была продумана плохо и поэтому является скучной. Пытался исправить добавлением миссий, но не вышло, поэтому вряд ли буду работать над ней еще. Но если есть идеи по улучшению, то не молчите. Анимация птиц не моя! Они находятся в свободном доступе в интернете. |
11.09.2013, 18:27 | #2 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,885
|
В целом задумка неплохая. Этакий клон морхуна, со своей спецификой.
Поиграть, конечно, получается немного, однообразная игра, но тем не менее, определённый фан есть, если бы ещё были падающие после выстрела птицы в какой-то забавной позе (как в морхуне), было бы уже весело играть. Не очень способствует в такой казуалке иметь всего 2 патрона на перезарядку, которая очень неудобна (если её ещё юзер догадается искать на клавиатуре, кнопка R малоочевидна - надо знать про Ваш пост тут, а ридмихи не идёт в комплекте), в морхуне, например, на правую мышку перезарядка поставлена, что удобно. Систему магазина сложно оценить, т.к. чтобы его использовать надо серьёзно потренироваться, что требует времени, а это не каждый будет делать в такой игре. По сути ведь, игра ведётся просто на место в таблице рекордов, а в морхуне была серьезная "квестовая" составляющая - кучи секретов и комбинаций выстрелов, что сильно поднимали игру и хотелось переигрывать снова и снова. Также не очень нравится графика и оформление, анимированные птички - хороши вполне, а вот фоны (игра и магазин) и тем более интерфейс - смазанные по краям картинки (видимо из-за jpg размытия и невозможности адекватно использовать TransparentColor) и стандартные VCL-контролы очень портят впечатление. Фоны то уж можно было тоже тяпнуть с инета, да и кнопки из картинок у Вас есть - в меню. По программной части тоже нарекания - после показа геймовера можно дальше кликать мышкой, слышать звук выстрела, осечки, перезарядиться со звуком и так хоть до бесконечности. Также странно мерцает светофором меню при перемещении мышки над кнопками - может так и задумано, но не приятный эффект ни разу. Также мелочь - текст при ошибке ввода (пустом никнейме) остаётся красный и уже никак не меняется, аналогично вроде ведёт себя кнопка ок при геймовере, только она остаётся фиолетовой при наведении мыши и после не меняется, а правильное поведение (подсветка при наведение и возвращение прежнего вида при отведении)- неявная подсказка что элемент интерактивен (между прочим, тоже ошибка - то что "ок" ничем не отличается от иного текста и не обрамлён рамкой, как привычно для кнопок- не сразу можно понять что клик по нему выведет в меню). Чисто программно-моделировочная ошибка - альт+ф4 (часть пользователей пользуется им) на форме игры оставит игру висеть в процессах - нужно решение - либо отслеживать закрытие формы и ставить меню или вообще выходить из игры, либо сформировать всю работу на одной форме. Использование кстати нескольких форм и стандартных контролов это лёгкая возможность знающему человеку манипулировать ими через специальные программы и производить недопустимые операции - показывать формы/кнопки и прочее нежели те что разрешены на данном этапе в игре, менять некоторые значения (я не говорю про артмани и подобное, это другая песня). Поэтому одна форма с минимумом готовых контролов, а лучше чтобы они все были собственные рисованные это уже будет очень хороший шаг вперёд к грамотному подходу. В целом, я бы сказал так - что это должно быть для Вас хорошим учебным проектом, и то, что оно доведено до играбельного состояния уже огромная заслуга Вас как "предпринимателя" и учащегося. Поэтому, если есть желание - стоит развивать, если же нет желания именно развивать эту игру - ничего страшного - наоборот, стоит взяться за ещё более сложное и занимательное дело - и тогда учебный рост не заставит себя ждать. Так что удачи в любом проекте Вам ! |
13.09.2013, 19:47 | #3 |
Пользователь
Регистрация: 08.02.2013
Сообщений: 10
|
Спасибо за ваши советы и замечания, но я решил не продолжать работу над этой игрой и перешел к созданию 2D платформера. В новой игре я учту большинство ваших советов...
|
13.09.2013, 20:24 | #4 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
А зачем тогда было выкладывать? У нас у каждого есть по скелету в шкафу. Хоть бы вопрос задали - "Оцените мою первую игру", а так, пост просто в никуда.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
13.09.2013, 22:49 | #5 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,885
|
По платформерам стоит изучить прикреплённые темы в этом разделе - Уроки по созданию игр для новичков
Особенно обратить внимание на примеры Beermonza , такие , например , как этот |
14.09.2013, 10:51 | #6 | |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Цитата:
И по поводу поста Beermonza - там есть ссылка, последняя, "Создание меню/интерфейса". Я очень не советую варианты 1 и 2, поскольку они страшно неэффективные, но на деле и ненамного проще пункта 3. Я бы для новичка рекомендовал бы вариант, родственный третьему, только без пустых Image (вместо них получать клики по главной форме и через координаты клика считать, попал ли он в заданный прямоугольник, в который мы отрисовали ту или иную кнопку; можно даже хранить координаты кнопок в TRect вместо TImage, не используя ненужную информацию). Такой метод показал себя сравнительно простым и при должном использовании достаточно эффективным.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
|
14.09.2013, 16:28 | #7 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Гром, когда создаёшь очередной совет, он не должен быть сразу самым эффективным. Гораздо поучительнее - "прогнать" начинающего через элементарные компоненты, входящие в пакет среды Delphi, чтобы он прочувствовал где эффективнее, где сложнее, а где проще, лично для него. От простого к сложному. Я, хоть и указывал несколько вариантов, но с конкретной целью, а сам пользуюсь совершенно другими, которые в тему "начинающим" уже не бьют, это сильно сложно. Поэтому всё правильно.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
14.09.2013, 18:56 | #8 | |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Beermonza, само собой, не стоит сразу пытаться писать суперсложный код, который дает максимальную эффективность. Абсолютно согласен, что начинать нужно с чего попроще, но и к принципиально индусскому коду тоже не стоит стремиться. Соотношение простота-эффективность должно быть разумным с обеих сторон. Есть хорошая пара цитат на эту тему:
Цитата:
На самом деле можно с помощью всего одного брошенного на форму компонента (таймера) получить очень простой, но эффективный вариант. Я в свое время именно с такого кода на сотню максимум строк начинал свой "Погостъ". Вот, например, в плане сложности. Image на форме против рисования через Bitmap на канву формы. Если мы делаем меню, то в первом случае имеем код Код:
Код:
Что касается подходов "один объект - один Image на форме" против "рисование на Canvas формы", то на деле вообще никакого выигрыша нет, особенно если мы делаем анимацию. В первом случае мы пишем Код:
Код:
Отличие в плане кода третьего варианта от первых двух - что мы работаем с битмапами вместо форм и панелей, но при этом выполняем с ними почти одни и те же операции. В общем, я бы предложил не рассматривать варианты 1 и 2, а начинать сразу с третьего (факультативно - добавить мой вариант оптимизации, заменив пустые имейджи для отслеживания нажатия на простую проверку в событии нажатия на форму; если расположение объектов может быть произвольно, то хранить не весь TImage, а только TRect и пробегать их все в цикле, проверяя через один простой IF попадание внутрь). Игры - не та вещь, в которой стоит изучать компоненты, предназначенные для создания интерфейса "офисных" приложений. Если мы делаем игру, то мы делаем игру, а не "МС Ворд, в котором один пункт главного меню бегает за другим". Лучше сначала просто не делать игры, в которых нужно использовать кнопки и полоски прогресса, вместо того чтобы лепить на форму стандартные. Змейка или Пакман - хороший вариант для начала.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
|
14.09.2013, 20:30 | #9 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Уважаемый Гром, это не Вам решать, что для начинающего проще и правильнее, ...правильнее на текущий момент для новичка то - что он сумел освоить. Первая игра, обычно, ничем не отличается от программы (тот же Сапёр). Все пункты и 1 и 2 и 3 и 4 абсолютно разные, разные по восприятию, разные по реализации. Вы может и будете прописывать условия на диапазон клика, а кто-то пока не освоил или ему проще разместить на нарисованном куске графики Image и на клик вставлять процедуру, ...достаточно подвинуть и изменить размеры визуально на самой форме, чем считать пиксели и переписывать условие бесконечно. Уровень более опытного не равен уровню начинающего. Об этом нужно помнить. Если бы варианты были бы равноценные или не заслуживающие внимания их бы не было в моём описании.
Скажу прямо, создание игры - это вообще не для начинающих, но что делать, с чего-то нужно начинать. Если Ваш совет - "пропустить" имеет смысл только "я бы выбрал последний", то это Ваше личное дело, запретов не существует, аналогично как и "правильно/неправильно" тоже не существует, есть "понимаю/не понимаю", "быстро/медленно", "сложно/просто", ...сочетания этих противоположностей очень сильно влияют на работу программы (игры).
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
15.09.2013, 11:26 | #10 | ||
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Beermonza, позвольте с вами не согласиться. Можно, казалось бы, предлагать новичкам попробовать все варианты - и правильные, и допустимые, и откровенно извращенные, бессмысленные и беспощадные. Но зачем учить плохому? Я, откровенно говоря, не вижу принципиальной разницы между "попробуй сделать цикл через GOTO" и "тебе уже 12 и ты все еще не пробовал алкоголь, сигареты и женщин?".
"В жизни надо все попробовать" - крайне гнилое дао. Нельзя надеяться на то, что новичок, попробовав "неправильный" способ, сразу поймет, что он действительно хуже других альтернативных. Во-первых, есть законы Мерфи, и если человек может что-то не понять, то он почти наверняка и не поймет. Во-вторых и в главных, чтобы самостоятельно понять, что какой-то вариант плох, зачастую нужно иметь довольно глубокое понимание предмета, которого у новичка еще нет. А к тому моменту, как человек станет достаточно опытным, он уже привыкнет делать неправильно и не будет переучиваться. Поэтому если вы предлагаете новичку неравноценные варианты, необходимо сразу указать все ключевые плюсы и минусы каждого из них. Тогда он сможет хотя бы прикинуть границы применимости каждого и сделает осознанный выбор. Цитата:
Цитата:
Не подумайте, пожалуйста, что я против простых методов. Можно на банальных ифах и функциях с помощью очень простых алгоритмов написать короткий, чистый и в меру эффективный код. Но я против приучения к быдлокоду и извращениям, которые будут к тому же не проще в понимании и гораздо менее эффективны. "Хуже и извращеннее" не значит "проще и короче". Не надо учить людей плохому, когда можно учить хорошему. P.S. Я, конечно, понимаю, что пост не по теме Birds Killer-а, но раз уж мы даем человеку советы, то и я дал свой, попутно обосновав свою точку зрения. Ну а дальше пусть ТС сам решает, подходит ему моя точка зрения или нет.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
компонента делфи подобие Angry birds | S@dist | Фриланс | 5 | 22.01.2013 15:17 |