Расскажу немного о своих приключениях. В последний день я уделил особенно много времени разработке и вымотался - не выспался и заболел. Но было некогда обращать на эти мелочи внимание.
Я залил игру в последнюю минуту. Что могу сказать - не успел доделать много чего, задумок появилось много под конец :) Не хватило тоже много времени. Думаю пары дней как минимум. Глюков полно, играть невозможно. Сырой прототип залил, в общем.
Делал игру, что бы освоить Quad Engine - движок мне понравился, изучался легко, особенно с такой шикарной поддержкой со стороны создателей. За что им особая благодарность! Даже жаль, что игра не получилась.
Для c# немного неудобен, не учитывает его архитектуру, что ли... Поэтому решил создать свою оболочку над этим движком. Заодно прикрутить к нему ещё и box2d.
Получился такой игровой минидижочек, который я планирую использовать и в будущем. Временно назвал его QuadEngineLib, но если это название неприемлемо, то исправлю на другое, только скажите :) Для меня очень удобный получился, только очень глючный пока что. Например, отказался тексты выводить в последний момент :) Уж где я там что не так сделал - пока не нашёл. Сам QuadEngine текст нормально выводит, проверял отдельно.
Звуки прикрутить также не успел...
Графику (её вообще-то в игре нет, но я о паре используемых спрайтов) благополучно стащил из игры Zbl на один из конкурсов, но код писал полностью свой. В игру Zbl подсматривал исключительно для освоения Quad.
С box2d раньше совсем немного сталкивался, так что решил и его подучить. Но толи не разобрался, толи он глючный попался (box2dnet). Пули не летали быстрее, чем могли. В исходниках нашёл ограничение на 2 пикселя за раз перемещение - не разобрался зачем такое, особенно для пули, для которой должен raycast просчитываться. Переделывать исходники не стал. Пришлось в цикле сделать трёхкратный просчёт физики. По другому не смог обойти - может подскажет кто?
Подвели меня как обычно недостаток свободного времени и недостаток наработок. Ну и конечно кривые руки, из-за которых появлялось много глюков которые планомерно исправлялись, а разработка застопоривалась.
Игра, повторю, сейчас неиграбельна. Побегать пострелять можно, но пройти - нечего проходить. Хотя пришедшая мне идея в последний день понравилась и тема оказалась очень интересной и богатой возможностями. Надеюсь у меня хватит сил и терпения доделать эту игру без мощного стимула, который дают конкурсы.
JohnJ2 написал:
Для c# немного неудобен, не учитывает его архитектуру, что ли... Поэтому решил создать свою оболочку над этим движком. Заодно прикрутить к нему ещё и box2d.
Получился такой игровой минидижочек, который я планирую использовать и в будущем. Временно назвал его QuadEngineLib, но если это название неприемлемо, то исправлю на другое, только скажите :)
Эм, не понимаю зачем, но это извращение. Он объектный и применять его было в шарпе, вполне было удобно. Возможно ты, что-то не так понял, и я всегда готов ответить на вопросы. Убей в себе скромность и задавай вопросы!
JohnJ2 написал:
Графику (её вообще-то в игре нет, но я о паре используемых спрайтов) благополучно стащил из игры Zbl на один из конкурсов, но код писал полностью свой. В игру Zbl подсматривал исключительно для освоения Quad.
Прочитав первый абзац, скачал игру посмотрел. Она не запустилась, просто черный экран. Поглядел ресурсы игры и обратил внимание на знакомые спрайты, но не переживай, я сам их стырил :Р
Лог:
[1208]: Loading texture "data\message1.png"
[1208]: Loading texture "data\message2.png"
[1208]: Loading texture "data\message3.png"
[1644]: Error: The method call is invalid.
JohnJ2 написал:
С box2d раньше совсем немного сталкивался, так что решил и его подучить. Но толи не разобрался, толи он глючный попался (box2dnet). Пули не летали быстрее, чем могли.
Бокс2Д достаточно сложный и мощный физ движок, тоже его использую, и много еще не знаю.
"Эм, не понимаю зачем, но это извращение. "
Для того, чтобы общие вещи от одной игры к другой не кодить заново и не копипастить. Большинство инициализаций и настроек происходят одинаково и я хочу их вызывать одной "универсальной" командой. Если нужно что-то особенное - всегда можно будет определить это входными параметрами. Или вообще, в особых-особых случаях, не использовать эту общую на все случаи команду и делать иначе.
Короче говоря: для удобства и универсализации.
Большинство настроек, которые делаются каждый раз одинаковые как раз таки и запрятаны в глубь библиотеки. Код инициализации это буквально десяток строчек. А вот оборачивание отрисовки текста в отдельный метод например - глупо. Почему, легко. ПОтому что будь у тебя два шрифта сразу ты уже не сможешь таким образом вывести текст.
Согласен, что запрятаны в глубь основные - потому графический движок и удобен и с ним приятно работать. Но даже 10 строчек для меня много :) Плюс кроме инициализации графического движка хочется иметь инициализацию сцен, физ.движка и т.п. и всё это я постарался объединить в своей библиотечке.
По поводу текста тоже согласен, поэтому я и не оборачивал отрисовку текста, а использовал Font.TextOut, т.е. прямой код из хедеров Quad. Только "шрифт" стандартный загружаю сразу - это пока слабое место моей библиотечки, не удобно выбирать другой шрифт, но для начала хватит.
После последнего обновления забросил игру, по причине нехватки времени.в последний день немного улучшил игру и добавил (только меню и sfx) игра робит только в arena mode(singleplayer),все что не работает в игре снес :( хотел сделать врагов с оружием, от этого было бы больше необходимость в замедлении, но с оружием были проблемы(дублировались несколько штук на одного врага) для наглядности добавил пару врагов во втором раунде. также добавил безобидного босса :) (3 раунд) по идеи босс должен слоняться по всей карте и в определенный момент наносить огромный шквал выстрелов в разные стороны. но что-то пошло не так(по какой-то причине не спавнились выстрелы) и босс просто ходит туда сюда и крутился как балерина. в общем не реализовал практически 50 % от задуманного. печально :( cry :(
Да я тоже многое не успел, вернее сказать проленился, а еще вернее странный синдром мучает, при котором чем дольше занимаешся проектом, тем все более он надоедает и начинает вызывать чувство легкого отвращения, кажется что все неправильно и можно сделать лучше, но не получается. А свободного времени было навалом, можно было успеть мультиплеерный шутор сделать с замедлением времени доступным каждому игроку, основанным на кластере параллельных вселенных, не до конца продумал как реализовать но концепция есть :)
Это иллюзия, что мог.
На самом деле не факт - все эти архитектурно-плановые мучения - это тоже стадия работы, ее тоже нужно делать. Конечно не всегда нужно прокрастинировать. но не факт, что успел бы сильно больше.
Товарищи, тут возникла концептуальная проблема, и мы не смогли ее решить.
По нашим строгим правилам игра должна уметь работать оффлайн, но констракт 2 безжалостен - у нас с автором(SkyNet) и консультацией гугла чтото не получилось с манифестом.
Поэтому мы имеем с одной стороны нерабочий билд в архиве(который можно запустить локально, имея свой маленький веб сервер, ага), с другой стороны - возможность поиграть по ссылке, а с третьей - возможность собрать exe, который превысит рамки допустимых 50 мб.
Я выкладываю игру в архиве
Возможно кто-то сможет помочь в этом отчаянном деле, либо порекомендовать что-нить.
Формально, по правилам, работа может быть исключена, с другой стороны - лично Я могу запустить ее оффлайн, или поиграть в онлайне.
В общем вопрос спорный.
Обладатели браузера Google Chrome могут обойти это ограничение, и попробовать запустить игру с диска. Для начала закройте все копии Chrome, далее откройте диалог «Выполнить» (клавиши: Windows + R), и введите в нем:
chrome --allow-file-access-from-files
затем перенесите файл index.html в окно браузера. В таком режиме Chrome в состоянии открыть экспортированный проект. Сообщение о том, что игру нельзя запустить локально все ровно еще будет, но им можно пренебречь.
Пока только такое решение нашёл
с оперой тоже прекрасно работает
хорошее решение. Но лично у меня стоит Денвер, его каждый может себе поставить, иногда очень помогает, когда нужно что-то на своём локальном веб-сервере проверить :)
Можно сделать bat-файл запуска, который запускает хром с указанными параметрами. Не знаю, необходимо ли будет закрывать тогда браузер перед игрой, если отрыть новое окно хрома? Либо портативную для игры версию хрома с собой таскать. Который без установки запускается. По-моему такой есть.
"странный синдром мучает, при котором чем дольше занимаешся проектом, тем все более он надоедает"
Действительно странно. Не помню у себя такого. Может быть жанр не устраивает?
У меня обычно наоборот - разработка вполне интересна, но в какой-то момент возникает идея другой игры, которая кажется в 100 раз интереснее. И ради неё я забрасываю первую. Из-за такой фигни у меня много начинаний и нет релизов.
Но, с другой стороны, каждая попытка - тоже опыт. Хотя всё-же лучше доделывать проекты до какой-то конечной реализации.
Erewego
Враги толстоваты. Бег бы сделать по умолчанию.
Туториал хардкорен (платформа точнее).
Чекпоинты хочу!
Хочу управление в прыжке (кроме дабл джампа)
Что делать с ракетами? Их нельзя сбить...
А так очень круто :)
GeePee
Классический платформер с привкусом контры :)
Забавно, понравилось чуть меньше чем у Erewego. Не понял, почему бонусное оружие может оказаться стандартным и заменить улучшенное?
JohnJ / JohnJ2
Идея интересная, но я так понял, что совсем недоделано. Кого убивать? Врагов нет. Убивать себя? Не получилось убить себя-первого. Описание молчит, если ли враги.
neuch
Жизьки поначалу мало. Как выйти из экрана улучшений правильно? Я тыкаю на все подряд. Кажется, пробел? Замедление времени не вкл/выкл удобно на мышке, но не на пробеле.
В целом понравилось.
Nik8bit
Почему инструкцию о том, как играть, я должен смотреть только в игре? Тем более, что там корявого качества скриншот текста(?). Где логика?
Управление неудобно. A, D, Space, K, E...
Skynet
В целом понравилось. Запускал с itch.io. Дожил до середины второго раунда. Имхо, винтовка бесполезна. Полезности управления временем не ощутил вообще.
Daemon написал: Erewego
Враги толстоваты. Бег бы сделать по умолчанию.
Туториал хардкорен (платформа точнее).
Чекпоинты хочу!
Хочу управление в прыжке (кроме дабл джампа)
Что делать с ракетами? Их нельзя сбить...
Да с платформой конечно жесть, я её сделал так как хотел показать логику использования замедления времени, но чет совсем не то получилось. Чекпоинты не стал делать, так как уровни и так совсем коротенькие вышли и, как мне показалось, совсем простые. А управление в полете я нарочно не сделал, для хардкорности, так сказать :) С ракетами я планировал сделать временное изменение траектории движения при попадании пулей и возможность их уничтожения тоже, но что-то пошло не так и в итоге не сделал не то и не другое, подумав "и тааак сойдёт" :) Эту игрульку я не планирую забрасывать, буду допиливать, кучу всего, сделанного на скорую руку, нужно переделать, хочу перекатить её на мобильные платформы.
GeePee
Отличная игра, чувствуется законченный и насколько возможно доведенный до ума проект, нарисовано все круто, функция замедления времени действительно имеет смысл и является частью геймплея, отдельный респект за собственную музыку.
--------------------------------------------- JohnJ
Как честно признался автор, игра оказалась недоделанной, хотя идея и концепция игры понятна. Но это же, так сказать, проба пера автора на новом инструменте.
--------------------------------------------- neuch
Хорошие пиксели, различное оружие и апгрейд персонажа, в общем сделано всё добротно. Не все, правда, сразу догадаются, что жать на пробел чтобы начать играть после смерти, и после того как кончится ресурс замедления времени, оно автоматически не отключается.
--------------------------------------------- Nik8bit
И тут, как также честно признался автор, чувствуется нехватка времени, с которой он столкнулся, наметки есть но у меня так и не получилось уничтожить все турели что бы узнать, что будет дальше и будет ли... :) Лена, а, как я понял, именно так зовут персонажа судя по исходникам это отсылка к персонажу, которого просто невозможно не узнать.
--------------------------------------------- SkyNET
Графика хороша, все нарисовано красиво, и озвучено тоже, геймплей распологает к длительной игре, но к чему придраться тоже есть :) Пулю снайперской винтовки я бы сделал все таки побыстрее, и дамаг значительно больше, но самая неприятная вещь - несколько раз когда хотел перезарядиться и рефлекторно тыкал на "R" - перезапускался уровень и было очень грустно.
neuch
Everywego? =)
Спасибо за обзор! Только, по поводу моей игрушки, хотелось бы сказать, что графику я рисовал полностью сам =) А что стилистика где-то не подходит, это да, может быть...