Разработка своей игры - ожидание/реальность
Всем привет! Уверен, каждый разработчик мечтает когда-нибудь написать свой Magnum opus и, несомненно, показать всему миру, или хотя бы его части, свой талант и усердие. Так вот, игра, о которой пойдет речь, не имеет к предыдущему предложению никакого отношения. Это скорее просто игра-размышление на тему того, что же будет если у тебя в голове есть только картинка игры и желание научиться делать игры.
"Картинка в голове" была довольно проста - храбрый курьер/воин ночью мчится на верном транспортном средстве к цели, по пути уворачиваясь от всяческих снарядов и препятствий. По идее, это весьма динамично и красочно - взрывы, снаряды, всполохи огня... Но, разумеется, разработка внесла свои коррективы, и о них и пойдет речь.
Прежде всего - у меня не было опыта разработки игр. Разумеется, я понимал, что у меня не получится реализовать всё так, как бы мне хотелось, но в итоге, так, как мне бы хотелось, не получилось ничего. Например - свет. На самом деле тут у Unity нет особых проблем, знай себе расставляй источники света и двигай как тебе заблагорассудится. И пока всё работает на компьютере - всё отлично, но, как оказалось, мобильные платформы совсем не дружат с источниками света. Даже один источник, представленный на скриншоте, нагружал мой немолодой тестовый телефон так, что 20 FPS было потолком.
Это мгновенно зарубило на корню все надежды о динамических всполохах снарядов и всяких отсветов лазеров. Кстати о лазерах - как выяснилось, в Unity крайне сложно сделать динамический протяженный источник света. Разумеется можно сделать "в лоб" и изобразить что-то вроде гирлянды скриптом, но, мало того, это будет просто жалко и ненатурально, так ещё и заставит даже компьютерную видеокарту молить о пощаде. Ну а уж мобильная и вовсе откажется показывать всё это безобразие. Разумеется, я уверен, что есть способы отобразить желаемое, но точно так же я уверен, что это всё таки не для мобильных платформ, поэтому я отказался даже от мыслей об этом. В итоге удалось добиться достаточной производительности для большинства используемых телефонов преимущественно ценой того что источник света так и остался только один.
Следующий момент - водитель. Изначально были мысли о кастомизируемом наезднике верного байка. И разумеется, это тоже разбилось о суровую реальность. Приобрести хорошие модели транспортных средств оказалось не сложно, однако я понятия не имел как "усадить" туда модель игрока. На горизонте маячила перспектива изучения Blender и эта перспектива откровенно пугала. Не то чтобы это было слишком сложно, просто объем требуемых знаний и так рос очень быстро и изучение Blender грозило надолго замедлить разработку игры в целом. В итоге сама концепция пилота-наездника была исключена и средство передвижения стало беспилотным, всерьез сократив сложность разработки и анимацию.
Постепенно, стало понятно, что выглядеть игра будет совсем не так как планировалось. С различными спецэффектами было тоже непросто, всё таки неспроста существуют даже отдельные профессии для разработки этих неотъемлемых атрибутов любой игры или фильма. От большей части изначально планируемых придется отказаться. На самом деле это поразительно, насколько часто в разработке игр какая-то "ерунда", которая, казалось бы, должна просто и легко встраиваться в игру, оказывается крайне сложной. Конечно, сделать можно всё, но, время - тоже ресурс. И этот ресурс имеет свои пределы. Если за них выйти - можно перегореть, разочароваться в своей разработке, да и полировать те или иные элементы можно буквально бесконечно. Именно поэтому я не особенно переживал, отбрасывая те или иные элементы. Главное - суть игры, а суть состояла в том чтобы игрок скоротал 5-10 минут, ну и возможно в том, чтобы узнать насколько далеко в игре смогут зайти люди с хорошей реакцией, так как, как выяснилось, таблица рекордов реализуется буквально в несколько кликов. Опять таки, это тоже особенность разработки - казалось бы социальные функции или рекламная интеграция - это сложно, но это вовсе не так. Кстати, да, там есть реклама, но я постарался сделать её действительно редкой, так как, разумеется, заработок всё равно не планировался. Если не привередничать и использовать существующие инструменты и сервисы, то многое буквально делается в пару кликов и строк кода, что было для меня приятной неожиданностью.
По итогу разработки, ощущения достаточно однозначные. Это оказалось действительно сложно, именно как я и рассчитывал, но сложности, как оказалось, есть даже там где их и не планировалось. И игра получилось далеко не так хороша, как она выглядела в задумке. Но всё таки это очень приятно знать, что кто-то играет в твою игру и возможно кому-то она даже нравится.
Ссылка на игру для любопытствующих - https://play.google.com/store/apps/details?id=com.IDDE.Throu....