Не забывай что все люди разные и то, что тебе может показаться абсолютно бессмысленным, ему очень даже зайдет. Люди делают кучи фан-ремейков не с целью поднять денег, во многих случаях им даже авторство это запрещает делать
Ну, может ты и прав, я не сильно брал этот фактор в расчет. Но, тем не менее, обычная замена графических ресурсов - это, скорее, относится к моддингу, чем к геймдеву.
jobstar, не хотелось бы тебя обижать, но прежде, чем реализовывать нечто подобное, стоит задуматься о рентабельности проекта. Не думаю, что обыкновенное, цитирую, "освежение визуального ряда" игры принесет тебе доход/известность/славу/приятное времяпрепровождение/удовлетворение/связи в КГБ и прочих спецслужбах, дабы был способ отмазаться от статьи за наркоторговлю. В общем, либо делать полный ремейк и смену всего чего только можно, сохраняя только основные черты геймплея и левелдизайна, либо просто забыть об этой идее. Не имею желания никого обижать, но всё же...
Вызываю кого-нибудь на дуэль программистов по третьим правилам от ноунэйма. Слегка удивляет, что тема заглохла на 3,5 года (может, и посещаемость сайта уменьшилась, но я в этом сомневаюсь, ибо ресурс довольно крупный и контент довольно качественный, причин спада посещаемости не вижу), хотя сама идея игры очень интересна.
Сообщение отредактировал LastSeptember - Вторник, 14 Августа 2018, 20:37
И так, в голову стукнула идея написать завтра третий и заключительный урок. Что бы вы хотели в нем увидеть?
Добавлено (14 Августа 2018, 20:38) --------------------------------------------- Эхххх, никто так и не ответил Самому, видимо, придется идеи придумывать, хотя и смысла не вижу, ибо это никому неинтересно.
Quadrathell, тема наркобизнеса взята исключительно для того, чтобы внести "новизну" в жанр кликеров, ибо как почти всё, что можно было придумать, уже забито десятками проектов, а подобной тематики я не встречал.
ЦитатаGC-Vic ()
Для получения опыта пойдёт, но как полноценная игра - нет.
Да я и сам понимаю, но стремлюсь все же сделать из этого полноценную игру. В планах добавить ранги, распространение по странам мира, возможность торговли другими веществами и, по возможности, пару мини-игр. Ну и конечно годная музыка и графика. Многовато, наверное, времени уйдет, но всё же к этому я стремлюсь.
Добавлено (14 Августа 2018, 20:46) --------------------------------------------- Разработка проекта временно заморожена, в связи с нехваткой финансовых средств (а я планировал много чего, что требовало бы вложений), знаний в некоторых областях и идей для реализации. Разморозка ожидается в октябре.
Сам думал над этим, знать бы ещё компоненты метамфетамина, так бы и сделал)
ЦитатаFerrumel ()
карта мира которую надо захватить (распространить) это по сути конечная цель для игрока.
Подумал сейчас - и, в, принципе, это не так уж и сложно сделать. Только другое дело, что сложнее (намного сложнее) здесь с графическими ресурсами, ибо текстом это организовывать как-то странно) В любом случае, за идею спасибо, себе всё таки добавлю)
ЦитатаFerrumel ()
А также необходим личный дом куда покупать различную роскошь, телевизоры, машины, яхты, бассейны, сами дома менять.
Опять же, легкая реализация, но необходимость графических ресурсов и довольно большого количества объектов/строк кода/всего сразу.
ЦитатаFerrumel ()
Покупать корабли, самолеты, фуры, подводные лодки для распространения.
А это идея, спасибо) В общем, спасибо за идеи, но статья ориентирована на новичков, а реализацию некоторого из перечисленного, думаю, новички не поймут). Если ты не против, некоторые твои идеи заберу вот сюда).
Тханкс, решил вспомнить гамак и его логику, самое то для вхождения. Жду продолжения.
Спасибо, сейчас чай заварю и будет продолжение)
И так, вот и второй урок. Думаю, начнём сразу, не распинаясь и без всяких вступлений. Поехали. Для начала, сделаем автоматизацию. Делать всё, можно, конечно и в одном объекте, но т.к. экономия ресурсов незначительна, а реализация немного труднее, будем делать всё через 2 (если кому интересно, могу описать, как сделать всё через один объект).
Идём в наш любимый obj_work и создаём событие Right Pressed. Пишем следующее:
Код
sm=show_menu('Нанять работника (Автоматизация) | Улучшение',0)//При нажатии правой кнопки мыши, появляется всплывающее меню с возможность выбора из двух пунктов (0 - первый пункт, следовательно, 1 - второй).
if sm=0 then //Если выбран первый пункт... {if global.money>=1000//Если денег больше 1000 или 1000... {global.money-=1000;//Вычитаем из них 1000... instance_change(obj_work_auto,1);}//obj_work превращаем в obj_work_auto... else show_message('Недостаточно денег! Нанять работника стоит 1000$.')};//А если денег не хватает, то сообщаем об этом игроку.
if sm=1 then//Если выбран первый пункт... {if global.money>=global.lvl*200*global.lvl//И денег больше, чем (указанная формула, простите, не знаю, как это нормально описать, да вы и сами всё поймёте)... {global.money-=global.lvl*200*global.lvl//Отнимаем необходимое количество денег... global.lvl+=1}//И увеличиваем global.lvl на 1. else show_message('Недостаточно денег! Увеличение заработка стоит '+string(global.lvl*200*global.lvl)+'$.')};//Если денег не хватает, сообщаем игроку об этом.
Отлично. Теперь приступим к созданию самого obj_work_auto. Спрайт можно оставить тот же, что и у obj_work, но это на ваше усмотрение. В событие Create вписываем:
Код
global.money+=global.lvl;//Прибавляем к деньгам столько, сколько нужно (принцип вы уже поняли). alarm[0]=room_speed;//Событие Alarm 0 произойдет через одну секунду.
Далее создаём Alarm 0 и прописываем туда ровно тоже самое. Создаём событие Left Pressed и пишем:
Код
global.money+=global.lvl;//Ну вы поняли.
Далее, создаём событие Right Released (не pressed - во избежание бага с повторным открытием меню при "перевоплощении"). Пишем:
Код
sm=show_menu('Улучшение',0)//Выводим меню с одним пунктом.
if sm=0 then//Если выбран этот пункт... {if global.money>=global.lvl*200*global.lvl//Если количество денег соответствует формуле... {global.money-=global.lvl*200*global.lvl//Снимаем нужное количество денег... global.lvl+=1}//И увеличиваем уровень. else show_message('Недостаточно денег! Увеличение заработка стоит '+string(200*global.lvl)+'$.')};//Если денег не хватает, сообщаем игроку об этом.
В принципе, обещанное я описал, так что урок можно считать законченным. К следующему уроку я расскажу, как реализовать систему "поощрений" - ранги и магазин... Магазин чего? Предлагайте свои идеи на то, что можно будет покупать в магазине, а как это реализовать - в следующем уроке я расскажу. Если со всем этим бредом я вам хоть чем-то помог, можете ставить плюсики в качестве "спасибо", но, конечно, я никого не заставляю. Всем спасибо за прочтение, ждите следующего урока и удачи вам!
Сообщение отредактировал LastSeptember - Понедельник, 06 Августа 2018, 19:21
И так, всем привет. Был вечер, 4 августа. Из окна дул приятный ветерок, а мне нечего было делать, и поэтому, вооружившись чаем и бессонницей, я решил сделать кликер. Поэтому встречайте альфа-версию итога двухдневных мучений - NarClickAlpha. Это только альфа-версия, в которой достаточно багов, недоработок и всего-всего прочего, так что не рассчитывайте, что я на этом остановлюсь. Начали.
Жанр: Кликер/Упрощённый симулятор. Нет, всё таки кликер.
Движок/конструктор: GM 8.0. Когда/если буду портировать на андроид - перейду на GMS.
Пространство: 2D.
Вид: Сверху, сбоку, по-миссионерски... Понятия не имею, что это за вид. Честно.
Похожие игры: Тоже не знаю. Практически любой кликер будет очень похож по механике. Очень.
ЯП: GML. Не знаю, каким боком это можно назвать языком программирования, но, раз того требуют правила., укажу и это.
Платформы: Windows, позже будет порт на Android.
API: OpenGL.
Лицензия: Freeware.
Сроки разработки: 04.08.2018 - хх.хх20хх.
Состав команды: Плохой автор идеи, плохой дизайнер и плохой программист - LastSeptember.
Пару слов о сюжете: Сюжета нет. Работай. Покупай ингредиенты. Вари метамфетамин. Продавай его. Губи современное поколение. За-то вы можете покупать новые фоны, автоматизировать получение денег и увеличивать денежные доходы
В принципе, на этом всё. Я жду ваших отзывов и рекомендаций - что убрать, а что добавить. Новые версии скоро. Не знаю когда, но скоро.
Сейчас решил сам сыграть, намеренно с целью купить все в данный момент имеющиеся фоны (увы, другого "стимула" пока что нет). На всё ушло 25 минут, и я так и не понял, залип я, или всё же к чему-то стремился. Но не суть, думаю. Факт в том, что пока игра неспособна удержать в себе дольше получаса.
Потому, планирую добавить систему рангов (за идею спасибо Atrek'у), магазин различных бонусов (например ускорители, дабы деньги начислялись уже не раз в секунду, а в полсекунды, четверть, 1/8 и т.д.; возможность покупки бонусов для увеличения цены продажи товара и т.д.). Ну и опять же, доработки внешнего вида.
P.S. Мне бы не помешал хороший художник, ибо пока что внешне всё это смотрится достаточно убого. И композитор бы тоже не помешал.
Добавлено (08 Августа 2018, 09:48) ---------------------------------------------
Небольшое обновление. Добавлен "магазин транспорта" для ускорения автоматического заработка денег (скорости распространения).
Сообщение отредактировал LastSeptember - Понедельник, 06 Августа 2018, 11:35
P.s Разве уроки не нужно выкладывать в специальный раздел?
Всё на месте:
ЦитатаОписание раздела ()
Ничего, на то это и кликер. Ты просто кликаешь и ничего больше не происходит.
А вот здесь ты, на мой взгляд, неправ. Из-за того, что человеку "подсознательно" нравится наблюдать за ростом тех или иных чисел, кликеры затягивают получше многих других жанров. Хорошие кликеры. Только вот для "затягивания" должен быть какой-то стимул кликать. Вот ты кликаешь - тебе дают монетку. Накликал до 100 монеток - купил апгрейд и теперь за клик тебе дают 2 монетки вместо одной. Накликал до 400 - купил ещё один апгрейд, теперь тебе дают 3 монетки. Накликал до 1000, теперь тебе можно не кликать, потому что монетки зарабатываются автоматически. Но монетки должны копиться для чего-то, что может использоваться в процессе дальнейшей игры (если не с пользой для дальнейшего накопления, то хотя бы как декорация - сделать магазин фонов, эффектов или чего-то ещё).
Мне интересно, что было бы лучшим стимулом продолжать играть для пользователей GCup.
Сообщение отредактировал LastSeptember - Воскресенье, 05 Августа 2018, 23:48
Atrek, спасибо за отзыв! Думаю, завтра добавлю скриншотов в те места, где они покажутся необходимым. Как только наберется отзывов 5-6, напишу продолжение, если вы посчитаете это нужным. Код для следующей статьи, как ни странно, у меня уже полностью готов.
К слову, если не секрет, чего такого должно быть в кликере, чтобы он заставил вас "застрять в себе" на часок-другой?
Здравствуйте, уважаемые пользователи gcup.ru. Из "научного" интереса я перечитал множество уроков по созданию "первой игры" на GM и всего в этом духе. Что могу сказать? Ну, всё довольно однообразно - hit the ball, платформеры и всё в этом духе... Немного устав читать подобные уроки, я решил сделать кое-что "необычное", а именно написать серию мини-уроков по созданию кликера на GM. И так, поехали. При создании какого бы то ни было кликера для начала нужно продумать идею. Как ни странно, первой идеей, пришедшей мне в голову, стал... симулятор наркоторговца.
Поэтому, делать будем, опираясь именно от этой идеи. Для начала, создадим объект obj_var, создадим событие create и пропишем следующее:
Код
global.money=0;//Деньги, которые даются при старте. global.ing=0;//Ингредиенты для изготовления амфетамина (во все тяжкие, саламалексус). global.met=0;//Непосредственно сам амфетамин. global.lvl=1;//Количество денег, которое приносит один клик и, параллельно, множитель для цен на некоторые улучшения. //Приставка global. означает то, что переменная глобальная - т.е. не привязана к отдельному объекту.
Хорошо, с пропиской переменных мы закончили. Теперь создадим шрифт и назовем его f_game. Диапазон символов - все (all) т.е. от - до 255. Далее, переходим в draw пока что единственного объекта в игре и пишем:
Код
draw_set_font(f_game);//Выбираем шрифт.. draw_text(x,y,'Деньги: '+string(global.money));//Прописываем количество денег в координатах x и y. draw_text(x,y+24,'Ингредиенты: '+string(global.ing));//Прописываем количество ингредиентов в тех же координатах, но на 24 пикселя ниже, чем деньги. draw_text(x,y+48,'Метамфетамин: '+string(global.met));//Прописываем количество метамфетамина в тех же координатах, но на 24 пикселя ниже, чем ингредиенты (на 48 ниже, чем деньги).
Далее создадим объект obj_work... Создадим ему спрайт, ну, spr_work и присвоим ему просто надпись "работать" (можно сделать в виде кнопочки, да и вообще как хотите, дизайн уже за вами). Создадим событие Left Pressed и просто пропишем:
Код
global.money+=global.lvl;//Думаю, объяснять не требуется. При нажатии на кнопку увеличиваем количество денег на текущий уровень.
Создаём объект obj_skupka (очень банальное название, ну да ладно, просто пишу урок по своим же наработкам), спрайт - spr_skupka - либо просто кнопка с надписью "скупка ингредиентов", либо на ваше усмотрение (дальше вы поняли, думаю, про спрайты остальных кнопок объяснять не буду, названия даём такие, как и у объектов, только spr_ вместо obj_ и пропишем во всё тоже Left Pressed:
Код
if global.money>=50//Если количество денег 50 или больше... {global.money-=50;//Количество денег уменьшается на 50... global.ing+=1;}//А количество ингредиентов увеличивается на 1. else//В противном случае... {show_message('Недостаточно денег!')}//Выводим сообщением о том, что денег недостаточно.
Закончили и с этим. Создаём obj_varit. В ставшее стандартным событие пишем:
Код
if global.ing>=1//Если есть ингредиенты... {global.ing-=1;//Уменьшаем их кол-во на 1... global.met+=1};//А кол-во метамфетамина увеличиваем на 1. else//В противном случае... {show_message('У Вас нет ингредиентов!')};//Сообщаем игроку, что варить не из чего.
Теперь самое сложное (нет). Создаем объект obj_prod (я не не могу в английский, просто так привычнее) и рисуем спрайт кнопки продажи. В создание пропишем:
Код
timer=false;//Это переменная отвечает за вывод таймера до продажи (продажа будет занимать 10 секунд).
Создаем Left Pressed и пишем:
Код
if global.met>=1 and alarm[0]<=1 then//Если есть метамфетамин и ни одного грамма не продается... {alarm[0]=room_speed*10;//Выставляем значение аларма на 10 секунд... timer=true//Включаем переменную таймера... timervar=10//Количество секунд до конца продажи в переменной timervar. alarm[1]=room_speed}//Каждую секунду переменная до конца продажи уменьшается на 1. else show_message('Вам нечего продавать или процесс продажи предыдущего грамма не был завершён!');//Если метамфетамина нет или что-либо продаётся, сообщаем об этом игроку.
Создаем Alarm 0 и пишем:
Код
global.met-=1;//Через 10 секунд кол-во метамфетамина уменьшаем на 1. global.money+=70;//Кол-во денег увеличиваем на 70. timer=false//отключаем таймер.
Создаем Alarm 1, следующий код:
Код
alarm[1]=room_speed//Через секунду действие повторится. timervar-=1//Значение этой переменной будет рисоваться, так что уменьшаем его на единицу.
Идем в рисование. Пишем:
Код
draw_sprite(sprite_index,-1,x,y);//Прорисовываем сам спрайт, чтобы его было видно и рисование текста на заменяло рисование спрайта (можно заменить на draw_sprite_ext). if timer=true then//Если таймер включен... {draw_set_font(f_game);//Выбираем шрифт... draw_text(256,432,'Продажа через:'+string(timervar));}//Рисуем в координатах (по х и у соответственно) 256 и 432 отсчёт секунд до продажи.
Далее - просто создаём комнату, расставляем и готово! У меня получилось что-то в этом духе, но своим дизайном распоряжаетесь вы (зелёный текст - тайл):
Можете начинать играть. Во втором уроке я опишу, как сделать улучшение и автоматизацию кнопки "работать". В третьем - ачивки и продажу новых веществ.
Всем спасибо за прочтение. До следующих уроков!
И так, вот и второй урок. Думаю, начнём сразу, не распинаясь и без всяких вступлений. Поехали. Для начала, сделаем автоматизацию. Делать всё, можно, конечно и в одном объекте, но т.к. экономия ресурсов незначительна, а реализация немного труднее, будем делать всё через 2 (если кому интересно, могу описать, как сделать всё через один объект).
Идём в наш любимый obj_work и создаём событие Right Pressed. Пишем следующее:
Код
sm=show_menu('Нанять работника (Автоматизация) | Улучшение',0)//При нажатии правой кнопки мыши, появляется всплывающее меню с возможность выбора из двух пунктов (0 - первый пункт, следовательно, 1 - второй).
if sm=0 then //Если выбран первый пункт... {if global.money>=1000//Если денег больше 1000 или 1000... {global.money-=1000;//Вычитаем из них 1000... instance_change(obj_work_auto,1);}//obj_work превращаем в obj_work_auto... else show_message('Недостаточно денег! Нанять работника стоит 1000$.')};//А если денег не хватает, то сообщаем об этом игроку.
if sm=1 then//Если выбран первый пункт... {if global.money>=global.lvl*200*global.lvl//И денег больше, чем (указанная формула, простите, не знаю, как это нормально описать, да вы и сами всё поймёте)... {global.money-=global.lvl*200*global.lvl//Отнимаем необходимое количество денег... global.lvl+=1}//И увеличиваем global.lvl на 1. else show_message('Недостаточно денег! Увеличение заработка стоит '+string(global.lvl*200*global.lvl)+'$.')};//Если денег не хватает, сообщаем игроку об этом.
Отлично. Теперь приступим к созданию самого obj_work_auto. Спрайт можно оставить тот же, что и у obj_work, но это на ваше усмотрение. В событие Create вписываем:
Код
global.money+=global.lvl;//Прибавляем к деньгам столько, сколько нужно (принцип вы уже поняли). alarm[0]=room_speed;//Событие Alarm 0 произойдет через одну секунду.
Далее создаём Alarm 0 и прописываем туда ровно тоже самое. Создаём событие Left Pressed и пишем:
Код
global.money+=global.lvl;//Ну вы поняли.
Далее, создаём событие Right Released (не pressed - во избежание бага с повторным открытием меню при "перевоплощении"). Пишем:
Код
sm=show_menu('Улучшение',0)//Выводим меню с одним пунктом.
if sm=0 then//Если выбран этот пункт... {if global.money>=global.lvl*200*global.lvl//Если количество денег соответствует формуле... {global.money-=global.lvl*200*global.lvl//Снимаем нужное количество денег... global.lvl+=1}//И увеличиваем уровень. else show_message('Недостаточно денег! Увеличение заработка стоит '+string(200*global.lvl)+'$.')};//Если денег не хватает, сообщаем игроку об этом.
В принципе, обещанное я описал, так что урок можно считать законченным. К следующему уроку я расскажу, как реализовать систему "поощрений" - ранги и магазин... Магазин чего? Предлагайте свои идеи на то, что можно будет покупать в магазине, а как это реализовать - в следующем уроке я расскажу. Если со всем этим бредом я вам хоть чем-то помог, можете ставить плюсики в качестве "спасибо", но, конечно, я никого не заставляю. Всем спасибо за прочтение, ждите следующего урока и удачи вам!
Сообщение отредактировал LastSeptember - Понедельник, 06 Августа 2018, 19:21