Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
 Что обсуждали люди в 2024 году? Самое время вспомнить — через виммельбух Пикабу «Спрятано в 2024»! Печенька облегчит поиск предметов.

Спрятано в 2024

Поиск предметов, Казуальные

Играть

Топ прошлой недели

  • Rahlkan Rahlkan 1 пост
  • Tannhauser9 Tannhauser9 4 поста
  • alex.carrier alex.carrier 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
Аноним
Аноним
2 года назад

Помогите пожалуйста знающие⁠⁠

Я вот игру пытаюсь 2D сделать, и хочу взаимодействовать с дверью (1 спрайт с задним фоном) через E, перерыл все сайты и не нашёл ни один рабочий скрипт для моей версии Unity (2021.3.10f)

Unity2d Csharp Игры Gamedev Текст
5
8
DELETED
2 года назад

Как написать свой первый скрипт для игры Space Engeeners, если никогда не занимался программированием?⁠⁠

Эта статья написана для людей, которые уже знакомы с игрой, а её автор нуб, не имеет понятия о грамотном программировании, да и повествовании и строит в игре летающие бурильные табуретки. =)

Как написать свой первый скрипт для игры Space Engeeners, если никогда не занимался программированием? Программирование, ChatGPT, Csharp, Space Engineers, Игры, Длиннопост

Введение.

"Если вы хотите использовать нейросеть для получения помощи в написании кода на C# для Space Engineers, то необходимо учитывать ряд факторов, чтобы задать правильный вопрос нейросети...

Так начинается ответ на этот вопрос, о нейросети ChatGPT. Наверное, вы уже догадались, что речь пойдет о ней, хотя, возможно, вы никогда не слышали о ней. Я не буду вдаваться в подробности о том, что такое нейросеть. В статье речь пойдет о конкретных примерах использования на практике для решения простых или узкоспециализированных задач. Все, конечно, зависит от вашей фантазии и навыков. Я не умею писать на C#, но я немного понимаю Python и работаю с SQL-базами данных, поэтому некоторые операторы (функции работы), например if/else, мне понятны.

Давайте же начнем. Для начала найдем рабочую версию чата. Если у вас есть доступ к оригинальному сайту, вам повезло. Я же попробовал несколько телеграмм-ботов. Вы можете их найти через поисковик или внутри самого Телеграмм по названию. После того как вы нашли подходящую для вас систему, можете попробовать написать запрос. Я начал с такого: "Привет. Что ты знаешь об Space Engeeners?". Бот ответил, что это игра - песочница, и другую информацию из Вики. Мне показалось, что бота нужно постепенно вводить в контекст моего запроса, чтобы он лучше меня понял. Я продолжил и узнал у него о "Программируемом блоке". На что он дал ответ о подобных блоках в реальной жизни для сборки электроники. "Ага, недостаточный контекст" - подумал я. Задал вопрос снова, но написал уже "Programmable block" в Space Engeneers. Бот услужливо ответил, что он знает такой блок, из какой игры, и что код для этого блока пишется на C#. Вот тут я понял, что нащупал что-то интересное."

Основная часть.

Я написал боту: "Напиши пример кода, чтобы вывести текст на дисплей, который имеет в названии D1". Подумав 10-15 секунд, бот ответил. Моему восторгу не было предела, когда я понял, что он не только написал мне готовый код, но и описал его работу.

Как написать свой первый скрипт для игры Space Engeeners, если никогда не занимался программированием? Программирование, ChatGPT, Csharp, Space Engineers, Игры, Длиннопост

Скриншот 1.

"Вау! Да это же примитивный "Hello world"! Интересно, заработает ли он в игре. Срочно бежим туда! Ставим программируемый блок, ставим дисплей, даем нужное название дисплею.... Здесь стало ясно, что бот меня понял неверно и он ищет дисплей с названием D1, а не с D1 в названии этого дисплея. Ладно, для первого раза это не проблема. Переименовываем дисплей, включаем отображение текста, затем копируем код в программный блок и запускаем проверку. И... Облом, сплошные ошибки."

Как написать свой первый скрипт для игры Space Engeeners, если никогда не занимался программированием? Программирование, ChatGPT, Csharp, Space Engineers, Игры, Длиннопост

Скриншот 2.

"Я уже был расстроен, пока внимательно не прочитал текст: "Обратите внимание, что этот код должен быть помещен в метод Main для выполнения в Programmable Block. Также убедитесь, что у вас есть блок дисплея с именем "D1" на корабле или станции". Так, дисплей есть, а вот Main в тексте кода я не вижу. Пишу боту: "Поместите код выше в метод Main". Снова 5-10 секунд ожидания и ответ был такой:"

Как написать свой первый скрипт для игры Space Engeeners, если никогда не занимался программированием? Программирование, ChatGPT, Csharp, Space Engineers, Игры, Длиннопост

Скриншот 3.

"Копируем, запускаем проверку: компиляция завершена успешно. "Ага!" - воскликнул я! Тут же в мою кровь выплеснулся адреналин от азарта. Нажимаю кнопку "Выполнить", и на моем экране D1 появляется заветное "Hello world"."

Как написать свой первый скрипт для игры Space Engeeners, если никогда не занимался программированием? Программирование, ChatGPT, Csharp, Space Engineers, Игры, Длиннопост

Скриншот 4.

"Моему восторгу не было предела! Работает, собака! Мысли заметались в голове, и я понял, что бот понимает, как работать с кодом, и знает, как найти конкретный блок именно в игре. То есть он понимает внутреннюю систему. Срочно еще один тест!"

Та часть, где все пошло не по плану.

"Давай найдем... эммм... Все батареи на структуре, на которой установлен программируемый блок, выведем название этих батарей, максимальную емкость, текущую емкость и выведем построчно в дисплей [D1]" - такое задание появилось у меня в голове, но нужно было сформировать это в понятный список целей.

Итак:

1. Найди все блоки батарей на структуре, на которой установлен programmable block.

2. Вычисли максимальную емкость каждого блока батарей в ваттах, текущую емкость в ваттах.

3. Выведи на дисплей [D1] для каждой новой строки: Название каждого блока батареи, его максимальную емкость, его текущую емкость.

4. Обновляй информацию о батареях каждые 5 секунд.

Вот, уже понятнее. Запускаем!

Как написать свой первый скрипт для игры Space Engeeners, если никогда не занимался программированием? Программирование, ChatGPT, Csharp, Space Engineers, Игры, Длиннопост

Скриншот 5.

Уже наученный опытом, я вижу что отсутствует метод Main. Указываю боту на ошибку.

Как написать свой первый скрипт для игры Space Engeeners, если никогда не занимался программированием? Программирование, ChatGPT, Csharp, Space Engineers, Игры, Длиннопост

Скриншот 6.

Отлично, копируем, вставляем, проверяем на ошибки.

Как написать свой первый скрипт для игры Space Engeeners, если никогда не занимался программированием? Программирование, ChatGPT, Csharp, Space Engineers, Игры, Длиннопост

Скриншот 7.

Наверное сложный код для него, может быть попробовать указать боту на ошибки? Попробую написать ему эти ошибки, так как копировать из окошка их нельзя.

Как написать свой первый скрипт для игры Space Engeeners, если никогда не занимался программированием? Программирование, ChatGPT, Csharp, Space Engineers, Игры, Длиннопост

Скриншот 8.

Ого, он понимает что допустил ошибку именно для этой среды. Ладно, пробуем запустить этот код!

Как написать свой первый скрипт для игры Space Engeeners, если никогда не занимался программированием? Программирование, ChatGPT, Csharp, Space Engineers, Игры, Длиннопост

Скриншот 9.

Опять ошибка, уже другая. Но мы уже знаем что делать! К сожалению я допустил ошибку в слове "type".

Как написать свой первый скрипт для игры Space Engeeners, если никогда не занимался программированием? Программирование, ChatGPT, Csharp, Space Engineers, Игры, Длиннопост

Скриншот 10.

Копирую, запускаю и тут заветная надпись: "Компиляция завершена успешно!" УРА! Запускаю выполнение кода, а программируемый блок пишет что код для него слишком сложный.

Как написать свой первый скрипт для игры Space Engeeners, если никогда не занимался программированием? Программирование, ChatGPT, Csharp, Space Engineers, Игры, Длиннопост

Скриншот 11.

Тут моя радость перешла в грусть и обиду. Казалось я почти на пороге открытия (для себя). Ничего не работает! Зачем я пишу эту статью? Надо передохнуть.

Та часть, где все снова стало солнечно.

Выпив чаю, да, закусив французской булкой я вернулся к боту и написал: "Привет. Space Engeneers. Programmable block". Бот ответил, что готов мне помочь. Так, запишем что мне нужно, при этом немного поменяю запрос:

Как написать свой первый скрипт для игры Space Engeeners, если никогда не занимался программированием? Программирование, ChatGPT, Csharp, Space Engineers, Игры, Длиннопост

Скриншот 12.

Копирую, проверяю опять ошибка! Указываем на ошибку боту и запускаем снова. Компиляция - ОК! Выполнение - ОК!

Как написать свой первый скрипт для игры Space Engeeners, если никогда не занимался программированием? Программирование, ChatGPT, Csharp, Space Engineers, Игры, Длиннопост

Скриншот 13.

УРА! ПОБЕДА! Код выполняет функцию! Правда показывает мегаватты, а пишет что ватты. Но тут моя ошибка, ошибся когда, писал задание. Главное - функцию свою выполняет и проверяет самостоятельно наличие новых батарей. Поставил дополнительную батарею (Батарея 4) рядом. Останется только причесать инфу на дисплее, что бы глаз радовался.

Как написать свой первый скрипт для игры Space Engeeners, если никогда не занимался программированием? Программирование, ChatGPT, Csharp, Space Engineers, Игры, Длиннопост

Скриншот 14.

Заключение.

Естественно ChatGPT это не панацея. Настоящие знания ничем не заменить, и при создании запроса приходится сталкиваться с глупыми ошибками как при постановке задачи, так и внутри кода. И здесь эти ошибки присутствуют. Плюс нейросеть при любом новом обращении может дать совершенно другой ответ, или попытаться использовать стороннюю библиотеку, что не поддерживается в Space Engeeners. Использовать такой код, написанный нейросетью, в работе, на сложных проектах я бы не советовал. В игре - почему бы и нет. Это закроет минимальные задачи, а может сподвигнет изучать язык самому. Я не кодер, да и строю я откровенные табуретки, но стало интересно, и я загорелся идеей попробовать написать код для игры таким образом. Я уверен что, ваш код будет куда лучше и интереснее, будет выполнять уйму разных полезных и нужных вам функций. Главное правильно ставьте задачу, а лучше учите язык!

Спасибо за внимание, и желаю вам классных приключений в игре!

Показать полностью 14
Программирование ChatGPT Csharp Space Engineers Игры Длиннопост
5
33
Milala88
Milala88
2 года назад

Первый раз в первый класс)⁠⁠

Вот мелочь, а приятно))
вот так в 32 годика учить программирование самостоятельно начала)) по книге на проге visual studio)) порадуйтесь вместе со мной))

Первый раз в первый класс) Csharp, Программирование, Учеба, Hello World
Показать полностью 1
[моё] Csharp Программирование Учеба Hello World
60
zhenick
zhenick
2 года назад
Лига Разработчиков Видеоигр

Продолжение пути в GameDev #12⁠⁠

Приветствую)

В общем добавил условный город, в нём находятся вендор и кузнец, у вендора можно купить/продать вещи, а у кузнеца собственно - улучшить вещи. Вещи улучшаются за золото + кристаллы. Если улучшение не удалось, то вещь уничтожается

Улучшать можно только редкие и эпик предметы, редкие можно улучшить до 10, эпические до 15, позже сделаю чтобы на более высоком уровне, улучшать можно было до 20+

Все вещи сохраняются, в сумке и которые надетые, между сценами сохранение тоже работает.
Это то, на чем в прошлый раз я и застрял, а теперь же, сохранение работает!!)

Звуки добавлю попозже, следующее на очереди, хм, наверно буду делать умения, даже не умения, а умениЕ - кровотечение, ну и ветку с талантами, пока не придумал ничего лучшего, чем прокачивать скил - кровотечение и две пассивные ветки, на здоровье/урон, а как кровотечение вкачается до 10 уровня, можно будет выучить пассивку на аое урон, т.е. теперь обычная атака будет наносить урон всем, по кому попадёт.

Так же надо будет ещё сделать уровень с исчезающими платформами, по которым надо пропрыгать до финиша, чтобы получить рандомный сундук)

Монстров еще надо добавить, штук 5 разных видов. Может ещё какой уровень придумаю, мб с боссом, но это надо будет ещё и механику боссу делать, ну или будет просто бить автоатакой, но будет бить больно))

И можно считать что игра условно готова))
Персонаж будет начинать из города, когда выйдет с него, то попадет на рандомную карту где нужно будет убить нное кол-во монстров или пропрыгать по платформам до финиша, что-то в этом духе, я ещё продумаю как я все это делать буду

Надо как игру эту закончу влезать в 3д, сделать условно тоже самое, только уже в 3д, в 3д уже можно будет карты поинтересней делать, ну или разделить основную карту, и на каждом участке будут свои монстры.

Пока план - закончить эту игру))

Показать полностью
[моё] Игры Ролевые игры Unity Программирование Программист Gamedev Csharp Учеба Обучение Самоделки RPG Видео Без звука
7
zhenick
zhenick
2 года назад
Лига Разработчиков Видеоигр

Продолжение пути в GameDev #8⁠⁠

Приветствую)

Сегодня добавил сундуки, анимацию/звуковой эффект и лут для них
Так же добавил полоску опыта, опыт теперь набирается и сохраняется)

С сундуков щас падает много всего, в реале же будет меньше, будет два шанса на дополнительный лут, у всех сундуков щас стоит по 100% для дополнительного Лута, т.е. золото упадет 1 + 2 дополнительных раза, тоже самое с вещами, а я переделаю эти шансы в соответствии с качеством сундуков, т.е. у эпик сундука шансы будут где-то 40%\20% на доп лут, у обычного сундука 5%/2%. Всё это цифры, их можно легко подкорректировать))

Пришла идея как-то отображать на экране что поднял персонаж, примерно знаю как это сделать, но не уверен, надо тестить)

Следующее что буду делать, это как-то рассчитывать урон персонажу при надевании вещей.
Если вещь лучше/хуже надетой, характеристики будут подсвечиваться соответствующим цветом (красным/зелёным)

Что из положительного я заметил, это то, что хочется как-то улучшить свой код, сделать его более гибким, я помню как делал прошлую игру, там столько барахла всякого было, в этой же игре уже лучше)

Блин, как же классно когда всё сохраняется!!!)) Мотивации ещё больше)

Показать полностью 2
[моё] Программирование Игры Разработка Разработчики Компьютерные игры Csharp Учеба Самоделки Саморазвитие Разработчики игр Unity Видео Длиннопост Инди игра Gamedev Инди Ролевые игры
3
10
zhenick
zhenick
2 года назад
Лига Разработчиков Видеоигр

Продолжение пути в GameDev #7⁠⁠

Приветствую) Продолжаю делать свою рпгху.

Добавлено:
- Сохранение надетых вещей (наконец-то у меня получилось!!!)
- Лут с монстров. (экипировка/золото/кристаллы)
- Эффект крови на земле при попадании по монстру/персонажу
- Звуковых эффектов, некоторые записывал сам
- Вылетающие цифры опыта (пока опыт для уровня на набирается, сделаю эту механику на днях)
- Отображение валюты (золото/кристаллы)
- Сохранение валюты

Вот что получилось на текущий момент)

Сохранение надетых вещей, и вещей в инвентаре

Есть много идей что можно ещё добавить, например появление монстра, при нанесении урона которому с него будет падать золото/кристаллы/предметы (типо как золотой гоблин в диабло3)), разумеется шанс реса такого монстра будет маленьким.

Будет город, в котором можно будет продать/купить вещи, улучшить вещи, прокачать скилы
За каждый уровень будет даваться скил поинт, одним из скилов будет кровотечение, другие пока не придумал)

После выхода с города, будет загружаться рандомный уровень с рандомными монстрами и с рандомными бонусами для уровня (увеличенное/уменьшеное хп/урон/скорость бега/для персонажа/врагов и остальное что ещё придумаю)

Пока я придумал три вида уровней
1) Стандартный уровень, чтобы завершить уровень, нужно убить определенное кол-во монстров, после чего появится рандомный сундук с которого будет рандомный лут
2) Уровень с боссом. Надо будет придумывать механику боссу, чтобы он кроме автоатаки что-нибудь делал)
3) Джамп-уровень. Нужно добраться до конца уровня живым, перепрыгивая по платформам, что-то в этом роде

Пока это всё что я сделал)

Бонус))

Показать полностью 2
[моё] Игры Unity Программирование Программист Csharp Учеба Инди игра Indiedev Компьютерные игры Компьютер Творчество Разработчики игр Разработка Видео Без звука Длиннопост
3
TB3Zveno7
TB3Zveno7
2 года назад
Лига программистов

Заставь дурака богу молиться...⁠⁠

Заставь дурака богу молиться... Программирование, Юмор, IT, Csharp, Ошибка, Visual Studio, Программист
Заставь дурака богу молиться... Программирование, Юмор, IT, Csharp, Ошибка, Visual Studio, Программист

Проблему решил созданием нового проекта, но все еще интересно, что это было, ибо ничего подобного нагуглить не удалось.

[моё] Программирование Юмор IT Csharp Ошибка Visual Studio Программист
48
TB3Zveno7
TB3Zveno7
2 года назад
Программирование на python

Ещё одна упоротая программа, но в этот раз написанная сознательно⁠⁠

Ох, едрить! Лигу программистов забанили. Тогда контент по C# временно переедет к вам.


В продолжение И приз за самое длинное решение достаётся...


Искал более наглядное объяснение, что такое Switch, ибо наш пикабушный курс NoobCoders не справился с этой задачей. В итоге после просмотра стороннего видео дошло, что это аналог if-else. В том видео, помимо всего прочего, был мельком показан тип данных Enum - ConsoleKey.


Если после объявления переменной типа ConsoleKey ввести switch, то он автоматически заполнится перечислением всех кнопок, которые могут быть на клавиатуре. Для демонстрации работоспособности этого кода автор ролика просто добавил Console.WriteLine ("Вы нажали...") на одну из кнопок. Недолго думая, я сделал это со всеми кнопками, основательно потренировав навык Ctrl-C - Ctrl-V. В идеале хорошо бы было прописать везде \n, чтобы вывод начинался с новой строки, иначе выглядит некрасиво.

Показать полностью 1
Программирование Упоротость Учеба Изучение Csharp Программист Видео Без звука
17
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии