"Нейро-Хрючево" или создаем игру без опыта, через ai.
Лонг несет чисто информационный характер, в попытках выговорится. Я лишь делюсь своим опытом, и не претендую на какие то лавры. Я не программист не профессиональный игрок, и уж тем более не разработчик игр. Так же я не умею полноценно и качественно оформлять посты на ДТФ, так как не было опыта. Ну и не писатель, или мыслитель я. Я могу путать термины, или путаться в показаниях, за что выше озвученные люди могут вполне заслуженно кидать в меня "всякое", это нормально. Я простой обыватель с желанием разобраться в теме, о которой пишу ниже. Тут не будет каких то конкретных гайдов "делай так", мне самому надо многому научится прежде чем учить других. Любые попытки объявить меня нейронкой или рекламным чучелом - ошибочны!(а может и нет, думаем!) И определяются как "страусиный поступок".
Экспозиция, с навалом контекста:
Я играю в видеоигры лет с пяти — ну или с семи (я не кинаман, чтобы точные даты помнить). Как и у многих детей той эпохи, мой геймерский путь начался с «серого слонёнка» и журнала «Великий дракон»... А дальше — незаметно без малого, мне 40 лет.
В Steam-библиотеке скопилось больше 700 игр, половину из которых я даже не запускал. Дом построен, ребёнок растёт, в деревне посажен целый лес... но чего-то всё равно не хватает. Опыта. Его всегда не хватает. Впрочем, учиться — никогда не поздно.
Работать я всегда хотел с компьютерами! Но как оказалось позже, я хочу не работать с компьютерами, я хочу играть в компьютер.
В общем карты на стол. Работаю я консультантом-аналитиком в 1с, не первый и надеюсь не последний год. Работаю в какой то там компании, на какой то там удалёнке.
Экспозиция: (Та самая душная часть, где мне надо изливать душу, рассказывая историю, которая никому не интересна. Но — таков путь.).
Я не люблю врываться в тренды, предпочитаю сперва присмотреться. И часто опаздываю.
Когда то майнил на последней волне, и еле успел окупить видяху. Приглядываю и много читаю за электромобили, а они похоже уже походу всё. Так же всё еще не выкупаю русский рэп. И трендовую попсу. Есть и плюсы. Например мне на душе хорошо от того, что вовремя не вкатился в финансирование NFT.
При этом я стараюсь шарить за тренды, по чуть чуть. В железках к пк. За новые и старые игрори. В роблокс пару раз даже играл. Стараюсь разбираться в рабочих приколах типа новых фишек от ФНС. Радует, что у меня сын подросток, и в новых мемах мне не приходится шарить. Так как у поколения Z, мемы совсем дегродные. На столько, что они их сами не используют. И в ходу старые добрые "в стекло не попади" и "широкую на широкую".
В общем я бы назвал себя динозавром, но по умнее многих сверстников из этой же стаи стигазавров (*пасхалка?).
А вот долго игнорировать слона в посудной лавке, в виде искусственного интеллекта уже просто невозможно. То в доме внезапно появилась умная колонка от компании на букву "Я". Которая помогает в подготовке к контрольным сыну и ставит мне напоминания с размещением "митингов" в рабочий календарь. И свет руками я разучился включать. То друзья начинают скидывать всякие штуки (от мемов до нюдсов) из нейронки которые они там хихикая крутят вечерами. То в шедевруме сделаешь веселую картинку, что бы отослать маме.
И я пытался вкатиться. Я давным давно щупал доступный функционал нейронок. И мне очень НЕ понравилось. Я сам делал быстрее работу быстрее, и меня не нужно было проверять по 10 раз. Учитывая, что работаем на работе с денюшками, косяков быть не должно. В общем для себя я сделал правильные выводы(но не те). Ну и решил как то прожить без дальше без нейросетей. Благо не долго осталось.
А тем временем не так давно, на работе перед майскими праздниками, привалило кучу рутины, которую ну ни как не хотелось делать вручную. Иначе вообще не удалось бы вовремя заехать на дачку. А тревожить программиста по этому пустяку...кааароче.
Пожаловался я коллеге на этот "манки-джоб" и получил ответ - "спроси у нейронки". Нейронка от зелегого банка быстро и качественно делает работу, было написано на главной странице. Не буду вдаваться в задачу.
Я спросил у нейро сети. Спросил как смог. Прям по тупому совсем спросил. Затратил на пару вопросов (я даж не знал что это называется промпт) буквально 5 минут. И всё. И всё ОК! Ушла рутина, а за ней и гора с плеч. Так.. А в смысле? так просто?
Попробовал дозу, и сразу подсел!
И пошёл этим же вечером смотреть видосики на тему "44 варианта работы с ии чатами", а потом другие и другие видосяны на эту тему. Вдохновился! И уехал на дачу на все майские, сажать картошку. Ручной труд облагораживает, выбивает все мысли о работе, в том числе мысли о нейросетях.
Глава 1
Калькулятор
Майские праздники кончились. На работе последние 2 дня безумно много "митингов" с обсуждением реально крутых фишек для 1с. Фишек которые будут реализованы через такое время, что человек который просил эти доработки, уже скорее всего уволится. То разговаривали есть о вещах нецелесообразных, затратных, а за чистую и откровенно глупых.
Как то так бывает, что после выходных руководство осеняет на идеи.(но не те).
Буквально в первый день после майских я потратил на рабочие "созвоны" 10 часов из 9 возможных. И ладно бы мы решали какие то глобальные задачи. Ракету в космос на 1с запускали. Нет. Скука смертная. Митинги где моё присутствие нужно моему боссу, и только для того, что бы я на его "бубубу" руководству, поддакивал:
-угу, так и есть, так и надо. Нам это точно не надо.
Но времени совсем даром я терять не хотел...
Перенесемся в прошлое: (фуууъ флешбеки)
Три года назад я решил!
-Ну всё, хватит консультантом работать. Хочу программировать на питоне!! Ну и что, что моя работа завязана на axapta которая написана на X++. Мне в видосяны с ютуба обещали золотые горы за питон, уже на этапе учёбы!!
Даже книжку купил, с какой то мышкой на логотипе. Прочитал! Силы духа хватило даже на 2 бесплатных курса с популярного тогда "степика"! И даже хватило на написание двух приложений. И каких? Ты только глянь! Калькулятор! И генератора прогноза погоды!
Три недели, или около того, я потратил на изучение всевозможной темы программирования и возможностей на питоне. Готовил себя к сворачиванию гор. И даже начал получать удовольствие от ковыряния в алгоритмах и вопросах их решения. Но совершил ошибку!
Я озвучил свое рвение руководителю на работе. Мол, давайте мне курсы, а я вас тут всех запрограммирую.
А босс меня осадил:
-Вот куда ты лезешь? Ты профи в своём деле, давай развивайся в этом направлении, а код оставь мне.
- Но..но я?!
-Ненене даже не думай. Нам еще 1с внедрять через год. Сиди уроки по 1с смотри а не питона своего гоняй.
...И не могу сказать, что я зол на него. Даже благодарен. Я и сам понимал, что программирование это что то другое. Это иной склад ума, и нужно профильное образование и куча других но, под которые я не годен.
Хотя видосы с ютуба о платных курсах питона конечно же твердили обратное. Да и сейчас твердят.
Ну и отложил питона в "беклог". Потом, когда то займусь.
О чем я? Ах да!
Возращаемся в наше время:
Звонки. Созвончики рабочие. Любимые.
В голове щелкнула мысль. А что если, я просто возьму и сделаю нейро-хрючево! Натурально игру в нейронке! В каком то видео на прошлой неделе я видел пример того как можно сделать игру. Да и в стиме уже хватает подобного, палворлд видели? И конечно же я буду делать на питоне! Я же знаю питон(хыхы). Придумал и даже на виртуальном липстике сделал следующие требования:
1. Проект игры будет создан на 100% в нейро сети. Прям совсем. Я тут только вдохновитель.
2. Нейро сети должны быть бесплатными (впн не в счёт).
3. Затрачивать на него сил меньше чем на любимые созвоны по работе.
4. Научится пользоваться нейронками, хоть как то. На пол шишечки.
5. Изучить различные нейросети на их возможности. Слышал, что они как бы разные бывают.
6. Посмотреть, помню ли я пайтон, а может чему то научусь.
То есть как вы видите выше, общая цель была не сделать игру. А по учиться. Научится нейронкам, помучать её запросами, и пощупать их возможности.
Путь всегда важнее результата!
И одной из важнейших моментов которые не указаны в целях:
Делать промпты ГЛУПЕНЬКИМИ.
Специально, нарочито глупенькими. Не откровенно тупыми, но прикидываться человеком не далёким. (*спойлер - я быстро провалил это задание).
Скачан по знакомой ссылке PyCharm, а так же путём гугления и запросов к друзьям найден подопытный!
Первой нейронкой стал DeepSeek. Идеальный как мне казалось кандидат. Бесплатен, даже впн не нужен, и умён не по годам.
Приступил к первому промпту.
Надо было определится с жанром и стилем игры. Буквально первое, что приходит в голову первооткрывателю в создании игр, который не нюхал ни чего кроме калькулятора- ну конечно тетрис, или понг!
Решил остановится на понг.
Спустя буквально 3 запроса, у меня был код! Полностью рабочий код который запустил мне игру! Ту самую игру, из эпохи когда я даже не родился. Без звука, без графики, без изюма. Но сколько удовольствия! А самое главное игра работала. Шар отскакивал от платформы. Очки за гол начислялись. Да я даже жену к монитору позвал СМАРИЧО.
Эксперимент можно было заканчивать. Все(?) цели достигнуты.
Я почитал код. Вспомнил немного питон. Нашёл почти всё что хотел. Но узнал ли я что то новое?
Глава 2
Едем дальше.
Спустя еще несколько запросов, игра обросла какой то идеей. Какой то нелепой графикой, спрайтами и звуками. При этом я пытался минимизировать затраты сил и экономить время. И это получалось. Я сидел на на созвоне, и попутно в втором окне, что то запрашивал у нейронки, и она давала мне код на тесты. Везде где можно и нельзя, мне подсказывала нейросеть. Я лишь немного направлял её.
В итоге получился гомункул. ПонгТрис!
Смесь понга тетриса и арканоид. Первое название которое подсказала мне нейронка PongTris. (Да да, задача всё та же - ни делать практически ничего руками, даже название)
Я обещал себе, как только начнутся проблемы, баги, затраты времени, я забрасываю это дело. Но, забегая вперед, что то пошло не по плану.
Первые проблемы посыпались от самой неронки дипсика.
DeepSeek чертовски умная но бесплатная а значит и популярная нейросеть. В связи с этим, некоторые запросы приходилось ждать в очереди по пол часа. Что сбивало с мысли, и приходилось перечитывать и вникать в то что мне написал дипсик о результатах готового кода (не забываем, я еще учусь питону). В общем вечно занятый сервер становился большой большой проблемой.
Волевым решением через гугление и друзей, было принято включать впн, и звать нового подопытного нейронку "Grok".
В каком то из просмотренных ранее видео я услышал от автора тейк, что нейронка от Илона, не умеет работать с кодом, она ужасна в этом деле, На что в комментариях знающие кодеры умыли наглеца утверждением, что ни кто лучше код не пишет особенно в платной версии. А вот хвалёный gpt чат, на бесплатной основе - наоборот обругали. Выводы сделаны (правда опять не те).
Чтож привет Grok! ты умеешь работать с piton?
Я запихнул в него весь код который в последний раз выдал дипсик, и спросил - тебе понятно что тут написано?
А он мне всё как на духу, и даже больше. Он выдал мне кучу идей что с кодом не так. Как можно усовершенствовать проект, по логике в том числе, и о том, что код можно прилично сократить выбрав другие варианты решения, и еще много чего вкусного.
Опыта хоть у меня и не много, но в сравнении с дипсиком, грок, меня прям шокировал. Во первых он гораздо информативнее понимал мой бред в промптах (да да глупые промпты, это подцель). Он буквально с полу слова понимал мои дебильные "ой хочю грабить корованы" и делал их на ура. По вопросу доработок, моментально были реализованы всякие штуки. Так появились Бонусы и какая ни какая прогрессия в геймплее. Грок реализовывал идеи в рабочий код, грамотно и по делу. Всё очень быстро, как мне казалось . Код становился больше и больше а главное и он становился сложнее, а от этого интереснее.
Да DeepSeek давал хороший, читаемый код, но допускал много синтаксических ошибок. Конечно он их потом исправлял на основе моих логов и результатов тестирования. Но с ошибкой "простите я занят"(загруженный сервер), меня начало потряхивать.
Grok же писал как мне казалось, умнее и не допускал вообще ни каких ошибок синтакса. Ну и конечно грок казался для меня идеалом. Код вырос с 150 до 500 строк(хех).
Переделана логика падения тетромино, реализована игра против ИИ, бонусы за попадания по фигуркам тетро. Мы исправили занимательный баг, когда шарик становился слишком быстрым, он за цикл пролетал больше пикселей чем платформа, фактически пролетал через неё. Круто когда игра не просто оживала, но и обрастала жирком. Но конечно всегда есть НО!
В рамках дефолтных библиотек py, с numpy, было сложно разгуляться. Например звуки там писать можно(нейронке, не мне), но они откровенно ужасные, до крови из ушей.
Музыка вообще забей. В качестве музыки пришлось делать *.mp3.
Музыкальные темы для главного меню и геймплея я конечно же создал через нейронку. Для музыки я использовал Suno. Ей буквально хватило промпта из 5 слов, что бы сделать мне саундтрек, который звучал круто (я любитель послушать 5 часовые нарезки музыки с nes, и я в этом чуть разбираюсь). Всё как хотелось, и звучалось ок и я не трачу на это очень много времени.
Но вот звуковые файлы в рамках numpi типа "пиу" и "блюп", ужасные. Когда шар ударяется о платформу, хочется застрелится. И в ручную мне было откровенно лениво их делать, даже через нейросети.
Было решено (опять же нейронкой), что пора переходить на библиотеку по сильнее. А именно на библиотеку pixels.
И тут начались первые серьезные проблемы.
Grok как будто бы умел работать с этой библиотекой. Но я постоянно сталкивался с логическим проблемами. С проблемами синтаксиса. С проблемами в нотах. В общем опять трачу горы времени на написание нейронкой кода, и последующих исправлений его уже лично мной(звоночек).
Совершенно точно, что проблемы с кодом связаны с тем, что надо было сразу же писать с нуля всю логику и использовать библиотеку pixels. А не пихать в грок уже готовый код из дипсик.
Но таков путь. Я уже не человек, я одержимый закончить начатое.
И вот еще одна проблема которая скрывалась.
Из за того, что грок пишет код на ходу, а не выдаёт его сразу (как gpt). Написание кода затягивалось.
Я не просил писать мне участки модифицированного или нового кода. Задача была, что бы нейросеть всё сделала сама, помним? Друг назвал это "ВайбКодинг". подходит!
А по этому, решение банальной проблемы затягивалось на часы. Каждую из 5 проблем с воспроизведением звука он мне "чинил", буквально по часу. Но я (или он?) таки победили эти грёбаные ноты. И больше вдруг проблем логикой и синтаксом кода в гроке больше не возникало.
Нашлась другая проблема.
Проблема бесплатной версии Grok. Когда спустя полтора дня (напоминаю, я работал с нейронками только на работе на созвонах), код вырос до 1500+ строк, этот крутой грок просто начал "захлебываться". Позже выяснилось, что скорее всего это из за того, что бесплатные запросы постоянно исчерпывали доступные мне токены, и код просто не выдавался до конца. *в гроке есть ограничения на обращения, токены, их многие бесплатные да и некоторые платные сети используют*
Это конечно же решалось через подождать пол часа и написать "допиши мне код с строки *такой то* ".
После чего происходили посыпались регулярные ошибки синтакса. И мне приходилось чинить их самому в коде. С гуглом и другими нейросетями. И занимало это времени чуть больше чем я планировал затратить на эту затею.
Я общался с нейронкой уже в не рабочее время. Да, звучит как преступление!
Вместо того, что бы наяривать за мага в ремастере обливиона, я сидел и правил код за гроком. В какой то момент я сказал себе, ну и хватит. Заканчиваем. Полируем немного, и как есть компилируем в *exe.
Следующим утром, я сделал exe с каким то там большим размером. Запаковал это дело в архив. Залил на диск. И дело сделано.
Что получилось:
PingBlox — крутой микс Pong и Tetris! Что это?
PingBlox — это динамичная гибридная игра, сочетающая классический Pong (теннис с платформами) и Tetris (падение блоков). Ты отбиваешь мяч, разрушаешь тетрис-блоки и получаешь бонусы, чтобы победить соперника!
Чем интересна?
Необычный геймплей — не просто пинг-понг, а ещё и стратегия с тетрисом!
Режимы на выбор — играй против друга или против ИИ. Стили и сложность — можно настроить графику (ретро, минимализм) и уровень сложности.
Крутые бонусы — увеличение платформы, ускорение мяча, щиты, мультимячи и даже реверс управления!
Фишки:
Разрушаемые блоки — отбивай мяч, ломай тетрис-фигуры и зарабатывай очки. Случайные бонусы — каждый удар по блоку может дать суперспособность.
Стилизованная графика — пиксельный дизайн с оригинальной палитрой. Музыка и звуки — атмосферные треки и эффекты. Попробуй PingBlox — это адреналин и ретро-ностальгия в одном флаконе! (рекламный текст к игре ну естественно написан нейронкой, на основе анализа кода игры)
От себя скажу, что игра конечно же простейшая. И качать её смысла как будто бы ни какого нет. А еще в ней ИИ которого вы не победите.
Итог:
Потраченного времени 3 не полных дня. Думаю где то часов 15 в сумме. Смешные цифры для такого примитива. Я видел как на хакатоне в одно лицо человек с опытом делает шедевры за сутки, но тут про другое.
Проект не доделан. Он лежит в архиве на гугл диске. Лежит рядом с тем самым калькулятором. И я возможно к нему вернусь через пару лет, чисто вспомнить, и улыбнуться.
Каких то серьезных умственных работ было заключено в проект чуть меньше чем в этот лонг. Да и в целом проектом это называть стыдно. А вот в коде ковыряться понравилось. От этого и обидно что это дело стало жрать время, из за недостатка опыта. Надо учится дальше.
Игра работает. В ней не хватает много чего. Многое есть из того что я и нейросеть хотели бы туда добавить. Ачивки, новые фоны, новые бонусы, более глубокий геймплей и прочее прочее...
Я даже не успел титры сделать, с благодарностью нейронкам за приобретённый опыт и новые знания. Да даже пасхалки не оставил.
Эпилог:
Достигнуты ли цели?
Да! Прям полностью на 100%? Неет. Полностью написать игру через нейронку конечно же можно. Но на бесплатной основе это очень долго. Долго из за ограничений токенов, из за нагрузки на нейронку, и еще по многим причинам.
Конечно же я открыл для себя целый новый мир нейросетей (слоупочина мда). Узнал дофига чего нового о возможностях, которые сознательно игнорировал, и готов развиваться дальше в этой теме. А так же плотно интегрировать эти знания экономию времени, а может и денег.
Узнал ли я что то новое?
Естественно. Во первых я уже помогаю себе в работе нейросетью. Самое первое, что в голову пришло, у меня есть парочка готовых промптов по исправлению XML документов для отправки в "контур". И нейросеть нашла косяк в запросе, который наши программисты игнорировали целый год. Мелочи конечно, но приятные.
Под каждую задачу я определил свою сеть. Кто то лучше обрабатывает рукописный текст (не идеально). Кто то работает лучше с документооборотом. Кто то пишет музыку и даже делает сайты в пару кликов. Да вы и без меня это знаете.
Заменят ли нейросети программистов?
В какой то степени да. Но всегда должен быть оператор и тестировщик задач. Думаю промпт-инженеры не просто так едят свой хлеб.
В процессе "разработки" посетила мысль, что нейросеть может смело открывать свой "маркет плейс" приложений. Где нейросеть "оператор" будет делать запросы на разработку к другим сетям, и выкладывать в на маркет приложения. Конечно же за монету! Нейрохрючево! Фантастика? А если нет? Берите и реализуйте идею, дарю за 1% от транзакций.
Как долго продлится период, когда нейронки превратятся из инструмента для помощи, в нечто большее - думаю мы скоро узнаем.
Буду ли я пользоваться нейросетями дальше?
Выше ответил. И в планах в ближайшее время проплатить gpt.
Интернет мертв?
Скорее да, чем нет.
Зачем тут этот текст?
Я переслал *.exe файл своим друзьям. На что получил ответ "о прикольна". А так же был ответ от друга. О том, что было бы не плохо оформить это в пост на ДТФ. На что я постыдился. Стыдно выкладывать эту "игру" в люди, она откровенно сырая да и ии в нём читерит.
Но решил оформить в лонг нечто другое. Историю! Историю о моём микроскопическом опыте.
Вот, сижу оформляю. Редактирую битый час, и переписываю заново. Орфография в жопе. Потому, что русский учил плохо, и пишу без нейронки, чисто из души.
Может кто то прочитает данный лонг и , посмеется над мной как над не профессиональным человеком который полез не туда, имеете право. Вот только лонг не про то. А про то, что если хоть кто-то, прочитав это, вдруг откроет для себя то, что сам так долго обходил стороной — как когда-то обходил я — значит, это было не зря.
Ну и самое главное - в тексте не однократно упомянуто слово "время". Берегите его! Для человека, живущего осознанно, нет ничего важнее этого. Простите, если вы искали в этом посте что то полезное, но не нашли.
зы. Если данный пост наберет 100000 нейромемных лайков. Напишу пост о том, как я потратил еще один день на модернизацию PingBlox в чате gpt..
Спасибо!